返回市场
代码仓库合并请求-MCP

代码仓库合并请求-MCP

作者:kopfrechner65 星标更新:2025-11-18

项目介绍

MseeP.ai 安全评估徽章

GitHub Stars 许可证 smithery 徽章

🚀 GitLab MR MCP

这是一个使用模型上下文协议(MCP)与GitLab合并请求和问题进行交互的服务器。

📌 概述

该项目实现了一个使用模型上下文协议(MCP)的服务器,允许AI代理与GitLab仓库进行交互。它提供了以下工具:

  • 列出可用的GitLab项目
  • 获取合并请求详情和评论
  • 获取合并请求差异
  • 向合并请求添加评论
  • 在合并请求差异中的特定行上添加代码注释
  • 获取问题详情
  • 设置合并请求标题和描述

📦 安装

⚡ 使用Smithery

要通过Smithery自动安装GitLab MR MCP到Claude Desktop:

npx -y @smithery/cli@latest install @kopfrechner/gitlab-mr-mcp --client claude --config '"{\"gitlabMrMcpToken\":\"YOUR_GITLAB_TOKEN\", \"gitlabMrMcpHost\": \"YOUR_GITLAB_HOST\"}"'

🛠️ 手动安装

🔧 先决条件

  • Node.js
  • 具有API访问权限的GitLab访问令牌
  • GitLab项目ID

📖 配置

  1. 克隆此仓库
  2. 安装依赖项:
npm install
  1. 将以下内容添加到您的MCP客户端配置中:
{
  "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"
      }
    }
  }
}

🛠️ 可用工具

  • get_projects 获取可以使用您的令牌访问的GitLab项目列表。

  • list_open_merge_requests 列出指定项目中的所有开放合并请求。

  • get_merge_request_details 获取特定合并请求的详细信息。

  • get_merge_request_comments 获取特定合并请求中的评论,包括讨论笔记和差异笔记。

  • add_merge_request_comment 向合并请求添加一般评论。

  • add_merge_request_diff_comment 向合并请求中的文件的特定行添加评论。

  • get_merge_request_diff 获取合并请求的差异。

  • get_issue_details 获取特定问题的详细信息。

  • set_merge_request_title 设置合并请求的标题

  • set_merge_request_description 设置合并请求的描述

🏗️ 开发

🔍 运行Inspector

设置环境变量:

export MR_MCP_GITLAB_TOKEN=your_gitlab_token
export MR_MCP_GITLAB_HOST=your_gitlab_host

# 可选环境变量以过滤`get_projects`工具可访问的项目:
# https://docs.gitlab.com/api/access_requests/#valid-access-levels
export MR_MCP_MIN_ACCESS_LEVEL=min_access_level
# 应匹配项目路径或名称的搜索词
export MR_MCP_PROJECT_SEARCH_TERM=term 

对于MCP客户端的使用,您可以运行:

npx -y @modelcontextprotocol/inspector npm start

🛠️ 故障排除

如果您遇到权限问题(403 Forbidden),请检查:

  1. 您的GitLab令牌具有正确的范围(api, read_api)
  2. 令牌用户对项目具有适当的访问权限
  3. 项目ID正确

📜 许可证

MIT

🤝 贡献

欢迎贡献!请随时提交拉取请求。