Labsco
kopfrechner logo

GitLab MR MCP

โ˜… 92

from kopfrechner

An MCP server for interacting with GitLab merge requests and issues.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeQuick setup

๐Ÿš€ 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

๐Ÿ› ๏ธ 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:

Copy & paste โ€” that's it
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:

Copy & paste โ€” that's it
npx -y @modelcontextprotocol/inspector npm start

๐Ÿ“œ License

MIT

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.