GitLab MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITLAB_HOST | Yes | GitLab Host URL | |
| GITLAB_API_TOKEN | Yes | GitLab API Token |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gitlab_list_projectsA | List all projects (paginated) |
| gitlab_get_issuesA | Get issues for a project or globally (paginated) |
| gitlab_get_issue_notesB | Get notes for an issue (paginated) |
| gitlab_create_issue_noteB | Create a new note/comment on an issue |
| gitlab_edit_issue_noteB | Edit an existing note/comment on an issue |
| gitlab_searchB | Search for projects, issues, merge requests, and more. (paginated) |
| gitlab_get_issueA | Get a specific issue from a project |
| gitlab_get_todosB | Get a list of to-do items (paginated) |
| gitlab_get_wiki_pageC | Get a wiki page for a given project |
| gitlab_list_wiki_pagesA | Get all wiki pages for a given project. (paginated) |
| gitlab_create_issueA | Create a new issue in a project |
| gitlab_edit_issueB | Edit an existing issue in a project |
| gitlab_list_milestonesA | Get a list of project milestones (paginated) |
| gitlab_create_branchC | Create a new branch in the project |
| gitlab_create_merge_requestC | Create a new merge request |
| gitlab_edit_merge_requestC | Update an existing merge request |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| gitlab_issue_to_mr | Guides you through the full GitLab workflow: from an issue (new or existing) to a linked Draft Merge Request. Provide a projectId and optionally an existing issueIid to skip issue creation. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Each tool targets a distinct resource-action pair. Even similar-looking list/get pairs are clarified by singular/plural naming and descriptions. The search tool is intentionally broader but not confusable with the specific list tools.
All tools use the gitlab_ prefix and snake_case, but collection endpoints are inconsistent: list_ is used for projects, wiki pages, and milestones, while get_ is used for issues, todos, and issue notes. This mixed convention is readable but not uniform.
At 16 tools the set is slightly above the typical well-scoped range, but each tool addresses a distinct operation. The cluster of issue-related tools is granular but reasonable for a GitLab-focused server.
The tool surface covers issue creation/editing and MR creation/editing, but lacks list/get merge requests, which creates a dead end for locating MRs to edit. There are also no delete operations, and project management is limited to listing.