GitLab MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITLAB_API_URL | No | Base URL for GitLab API (optional, defaults to https://gitlab.com/api/v4). For self-hosted instances, update to https://your-gitlab-instance.com/api/v4 | https://gitlab.com/api/v4 |
| GITLAB_PERSONAL_ACCESS_TOKEN | Yes | Your GitLab personal access token (required) |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_or_update_fileC | Create or update a single file in a GitLab project |
| search_repositoriesB | Search for GitLab projects |
| search_groupsC | Search for GitLab groups |
| create_repositoryC | Create a new GitLab project |
| get_file_contentsB | Get the contents of a file or directory from a GitLab project |
| push_filesC | Push multiple files to a GitLab project in a single commit |
| create_issueB | Create a new issue in a GitLab project |
| create_merge_requestB | Create a new merge request in a GitLab project |
| fork_repositoryB | Fork a GitLab project to your account or specified namespace |
| create_branchB | Create a new branch in a GitLab project |
| list_labelsC | List all labels in a GitLab project |
| create_labelC | Create a new label in a GitLab project |
| update_labelC | Update an existing label in a GitLab project |
| delete_labelC | Delete a label from a GitLab project |
| list_milestonesC | List all milestones in a GitLab project |
| create_milestoneC | Create a new milestone in a GitLab project |
| update_milestoneC | Update an existing milestone in a GitLab project |
| delete_milestoneC | Delete a milestone from a GitLab project |
| list_group_milestonesC | List all milestones in a GitLab group |
| create_group_milestoneC | Create a new milestone in a GitLab group |
| update_group_milestoneC | Update an existing milestone in a GitLab group |
| delete_group_milestoneC | Delete a milestone from a GitLab group |
| list_issuesA | List issues in a GitLab project. By default fetches ALL issues automatically across all pages. Only specify 'page' parameter if you need a specific page for manual pagination. |
| update_issueC | Update an existing issue in a GitLab project |
| search_issuesC | Search for issues in a GitLab project |
| add_issue_commentC | Add a comment to an issue in a GitLab project |
| list_merge_requestsC | List all merge requests in a GitLab project |
| update_merge_requestC | Update an existing merge request in a GitLab project |
| merge_merge_requestC | Merge a merge request in a GitLab project |
| add_merge_request_commentC | Add a comment to a merge request in a GitLab project |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 30 tools
Every tool has a clearly distinct purpose targeting specific resources and actions in GitLab's domain. There is no ambiguity between tools like create_issue vs. update_issue or list_merge_requests vs. merge_merge_request, as each handles a unique operation on well-defined entities.
All tools follow a consistent verb_noun pattern with snake_case throughout, such as create_branch, list_issues, and update_milestone. The naming is predictable and uniform, making it easy to understand each tool's function at a glance.
With 30 tools, the count feels heavy for a typical MCP server scope, bordering on excessive. While GitLab is a complex platform, this many tools might overwhelm agents and could potentially be streamlined by grouping related operations or reducing redundancy.
The tool set provides comprehensive CRUD and lifecycle coverage for GitLab's core features, including projects, issues, merge requests, milestones, labels, and files. There are no obvious gaps; agents can perform full workflows from creation to management and search across the domain.