# gitlab-mr-mcp **Repository Path**: mirrors/gitlab_mr_mcp ## Basic Information - **Project Name**: gitlab-mr-mcp - **Description**: ๐Ÿ“‡ โ˜๏ธ - ไธŽ GitLab ้กน็›ฎ้—ฎ้ข˜ๅ’Œๅˆๅนถ่ฏทๆฑ‚ๆ— ็ผไบ’ๅŠจใ€‚ - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-07-04 - **Last Updated**: 2026-01-31 ## Categories & Tags **Categories**: Artificial-Intelligence, MCP **Tags**: None ## README [![MseeP.ai Security Assessment Badge](https://mseep.net/pr/kopfrechner-gitlab-mr-mcp-badge.png)](https://mseep.ai/app/kopfrechner-gitlab-mr-mcp) [![GitHub stars](https://img.shields.io/github/stars/kopfrechner/gitlab-mr-mcp?style=flat)](https://github.com/kopfrechner/gitlab-mr-mcp/stargazers) [![License](https://img.shields.io/github/license/kopfrechner/gitlab-mr-mcp)](LICENSE) [![smithery badge](https://smithery.ai/badge/@kopfrechner/gitlab-mr-mcp)](https://smithery.ai/server/@kopfrechner/gitlab-mr-mcp) # ๐Ÿš€ 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: ```bash 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: ```bash npm install ``` 3. Add the following to your MCP client configuration: ```json { "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: ```bash 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=term ``` For use with MCP clients, you can run: ```bash 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 [MIT](LICENSE) ## ๐Ÿค Contributing Contributions are welcome! Please feel free to submit a Pull Request.