get_projectsLABSCO SUMMARY
Line-level review comments, not just a summary.
add_merge_request_diff_comment is what separates this from a read-only GitLab connector: feedback lands on the line it is about, where the author will see it. Title and description writes mean the same session can tidy up the merge request it just reviewed.
What it is
An MCP server for GitLab merge requests and issues. It lists what is open, reads a merge request with its diff and discussion, comments generally or on a specific line, and edits the title and description.
What you get
- The projects your token can reach, and the open merge requests in one of them (get_projects, list_open_merge_requests)
- A merge request's details, its diff, and its comments including discussion notes and diff notes (get_merge_request_details, get_merge_request_diff, get_merge_request_comments)
- A general comment, or one attached to a specific line of a specific file in the diff (add_merge_request_comment, add_merge_request_diff_comment)
- The merge request's title and description set from the client (set_merge_request_title, set_merge_request_description)
- The details of a linked issue (get_issue_details)
Requirements
Node, a GitLab access token with API access in MR_MCP_GITLAB_TOKEN, and your GitLab host in MR_MCP_GITLAB_HOST.
Setup effort
One command plus a key — npx -y @smithery/cli@latest install @kopfrechner/gitlab-mr-mcp --client claude --config '"{\"gitlabMrMcpToken\":\"<YOUR_GITLAB_TOKEN>\", \"gitlabMrMcpHost\": \"<YOUR_GITLAB_HOST>\"}"', then supply credentials
USE CASES
Reviewing a merge request you were tagged on
Read the details and the diff before forming an opinion.
Leaving feedback on the exact line
Attach the comment to the file and line in the diff rather than to the request as a whole.
Catching up on a discussion before replying
Read the existing notes, then add yours.
Writing the description the author left empty
Read the diff, then set a title and description that match it.
Seeing what is waiting on you across projects
List the projects the token reaches and the open merge requests in each.
Checking the issue a merge request claims to close
Open the linked issue and compare it against the change.
10 tools
Listed in project docs. Your client may show a different list.
list_open_merge_requestsget_merge_request_detailsget_merge_request_commentsadd_merge_request_commentadd_merge_request_diff_commentget_merge_request_diffget_issue_detailsset_merge_request_titleset_merge_request_descriptionBEFORE YOU INSTALL
What to know first
Tools you get
10 tools named in the project's documentation.
Requires
- npx on PATH
- MR_MCP_GITLAB_TOKEN in your environment
- MR_MCP_GITLAB_HOST in your environment
INSTALLATION
Connect your client
Server setup
Claude Desktop — Smithery
npx -y @smithery/cli@latest install @kopfrechner/gitlab-mr-mcp --client claude --config '"{\"gitlabMrMcpToken\":\"<YOUR_GITLAB_TOKEN>\", \"gitlabMrMcpHost\": \"<YOUR_GITLAB_HOST>\"}"'MCP Clients
Any MCP client
git clone https://github.com/kopfrechner/gitlab-mr-mcp
cd gitlab-mr-mcp
npm install{
"mcpServers": {
"gitlab-mr-mcp": {
"command": "node",
"args": [
"<YOUR_PATH_TO_GITLAB_MR_MCP>/index.js"
],
"env": {
"MR_MCP_GITLAB_TOKEN": "<YOUR_MR_MCP_GITLAB_TOKEN>",
"MR_MCP_GITLAB_HOST": "<YOUR_MR_MCP_GITLAB_HOST>"
}
}
}
}<YOUR_PATH_TO_GITLAB_MR_MCP> is the full path of your clone.