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: 🛠️ Manual Installation 🔧 Prerequisites - Node.js - GitLab access token with API access - GitLab project ID(s) 📖 Setup 1. Clone this repository 2. Install dependencies: 3. Add the following to your MCP client configuration: 🛠️ 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: For use with MCP clients, you can run: 🛠️ 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