md-gitlab-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITLAB_API_URL | Yes | The GitLab API URL (e.g., https://gitlab.example.dev/api/v4) | |
| GITLAB_PERSONAL_ACCESS_TOKEN | Yes | Your GitLab personal access 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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_repositoriesC | Search for GitLab projects |
| create_repositoryA | Create a new GitLab project in your namespace |
| get_file_contentsC | Get the contents of a file or directory from a GitLab repository |
| push_filesB | Push multiple files to a GitLab repository in a single commit |
| create_issueB | Create a new issue in a GitLab repository |
| create_merge_requestB | Create a new merge request in a GitLab repository |
| fork_repositoryA | Fork a GitLab project to your account or specified namespace |
| create_branchB | Create a new branch in a GitLab repository |
| list_commitsA | Get list of commits of a branch in a GitLab repository |
| list_issuesB | List issues in a GitLab repository with filtering options |
| update_issueC | Update an existing issue in a GitLab repository |
| add_issue_commentB | Add a comment to an existing issue |
| search_codeC | Search for code across GitLab repositories |
| search_issuesA | Search for issues and merge requests across GitLab repositories |
| search_usersB | Search for users on GitLab |
| get_issueA | Get details of a specific issue in a GitLab repository |
| get_merge_requestC | Get details of a specific merge request |
| list_merge_requestsC | List and filter repository merge requests |
| create_merge_request_reviewC | Create a review/approval on a merge request |
| merge_merge_requestC | Merge a merge request |
| get_merge_request_filesA | Get the list of files changed in a merge request |
| get_merge_request_statusA | Get the combined status of all status checks (pipelines) for a merge request |
| update_merge_request_branchA | Update a merge request branch with the latest changes from the target branch (rebase) |
| get_merge_request_commentsB | Get the review comments/notes on a merge request |
| get_merge_request_reviewsB | Get the reviews/approvals on a merge request |
| get_merge_request_by_urlA | Fetch merge request details using a full URL |
| get_merge_request_comments_by_urlA | Fetch merge request comments using a full URL |
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 27 tools
Most tools target a distinct resource/action, and search/create/get/list are clearly separated. The main ambiguity is among the many merge request tools, especially get_merge_request_comments vs get_merge_request_reviews and their by_url variants, though the descriptions do help.
All tool names follow a consistent verb_noun pattern: search_, create_, get_, list_, update_, add_, merge_, push_, fork_. Minor quirks like merge_merge_request are still predictable.
With 27 tools the set is above the threshold for a focused MCP server. The merge request surface alone accounts for over a dozen tools, making the overall tool count feel heavy and harder for an agent to navigate.
Core GitLab workflows are covered: repository searching/creation, file pushes, issues with comments, and a thorough merge request lifecycle including reviews, status, and rebase. Missing operations like updating MR metadata or deleting repositories are minor gaps that agents can often work around.