gitlab-mr-mcp
Interact seamlessly with GitLab repositories to manage merge requests and issues. Fetch details, add comments, and streamline your code review process with ease.
Documentation

๐ GitLab MR MCP
A Model Context Protocol (MCP) server for interacting with GitLab merge requests and issues.
๐ Overview
This project implements a server using the Model Context Protocol (MCP) that allows AI agents to interact with GitLab repositories. It provides tools for:
- Listing available GitLab projects
- Fetching merge request details and comments
- Getting merge request diffs
- Adding comments to merge requests
- Adding line-specific comments to code in merge request diffs
- Fetching issue details
- Setting merge request title and description
๐ฆ Installation
โก Using Smithery
To install GitLab MR MCP for Claude Desktop automatically via Smithery:
npx -y @smithery/cli@latest install @kopfrechner/gitlab-mr-mcp --client claude --config '"{\"gitlabMrMcpToken\":\"YOUR_GITLAB_TOKEN\", \"gitlabMrMcpHost\": \"YOUR_GITLAB_HOST\"}"'๐ ๏ธ Manual Installation
๐ง Prerequisites
- Node.js
- GitLab access token with API access
- GitLab project ID(s)
๐ Setup
1. Clone this repository
2. Install dependencies:
npm install3. Add the following to your MCP client configuration:
{
"mcpServers": {
"gitlab-mr-mcp": {
"command": "node",
"args": ["/path/to/gitlab-mr-mcp/index.js"],
"env": {
"MR_MCP_GITLAB_TOKEN": "your_gitlab_token",
"MR_MCP_GITLAB_HOST": "your_gitlab_host"
}
}
}
}๐ ๏ธ Available Tools
- `get_projects`
Gets a list of GitLab projects accessible with your token.
- `list_open_merge_requests`
Lists all open merge requests in the specified project.
- `get_merge_request_details`
Gets detailed information about a specific merge request.
- `get_merge_request_comments`
Gets comments from a specific merge request, including discussion notes and diff notes.
- `add_merge_request_comment`
Adds a general comment to a merge request.
- `add_merge_request_diff_comment`
Adds a comment to a specific line in a file within a merge request.
- `get_merge_request_diff`
Gets the diff for a merge request.
- `get_issue_details`
Gets detailed information about a specific issue.
- `set_merge_request_title`
Set the title of a merge request
- `set_merge_request_description`
Set the description of a merge request
๐๏ธ Development
๐ Running Inspector
Set up environment variables:
export MR_MCP_GITLAB_TOKEN=your_gitlab_token
export MR_MCP_GITLAB_HOST=your_gitlab_host
# Optional env vars to filter the projects the `get_projects` tool has access to:
# https://docs.gitlab.com/api/access_requests/#valid-access-levels
export MR_MCP_MIN_ACCESS_LEVEL=min_access_level
# Search term that should match the project path or name
export MR_MCP_PROJECT_SEARCH_TERM=termFor use with MCP clients, you can run:
npx -y @modelcontextprotocol/inspector npm start๐ ๏ธ Troubleshooting
If you encounter permissions issues (403 Forbidden), check:
1. Your GitLab token has the proper scopes (api, read_api)
2. The token user has proper access to the projects
3. The project IDs are correct
๐ License
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Frequently asked questions
What is gitlab-mr-mcp?
gitlab-mr-mcp is Interact seamlessly with GitLab repositories to manage merge requests and issues. Fetch details, add comments, and streamline your code review process with ease.
How do I install gitlab-mr-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is gitlab-mr-mcp open source?
Yes โ it is hosted on GitHub at https://github.com/kopfrechner/gitlab-mr-mcp and has 64 stars.
Related MCP tools
๐ฅ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients. JavaScript-based implementation.
A model context protocol server to work with JetBrains IDEs: IntelliJ, PyCharm, WebStorm, etc. Also, works with Android Studio
A server that integrates Linear's project management system with the Model Context Protocol (MCP) to allow LLMs to interact with Linear.
The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.
CTTF: MCP integration between Cursor and Figma, allowing Cursor Agentic AI to communicate with Figma for reading designs and modifying them programmatically.
This is MCP server for Claude that gives it terminal control, file system search and diff file editing capabilities JavaScript-based implementation.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP