关于 🚀 GitLab MR MCP
GitLab MR MCP 是一个 MCP 服务,让 AI Agent 与 GitLab 仓库交互,用于管理合并请求和议题并辅助代码审查。
主要功能
- 01列出可访问的 GitLab 项目
- 02查看合并请求详情、差异与评论
- 03添加普通评论与行级评论
- 04设置合并请求标题和描述
适用场景
- 01让 AI Agent 辅助审查合并请求
- 02通过行级评论反馈代码修改意见
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 GitLab 合并请求与议题相关的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🚀 GitLab MR MCP
用于与 GitLab 合并请求和问题交互的模型上下文协议(MCP)服务。
📌 概述
本项目使用模型上下文协议(MCP)实现了一个服务,允许 AI Agent 与 GitLab 仓库交互。它提供以下工具:
- 列出可用的 GitLab 项目
- 获取合并请求详情和评论
- 获取合并请求差异
- 为合并请求添加评论
- 为合并请求差异中的代码添加针对特定行的评论
- 获取问题详情
- 设置合并请求标题和描述
📦 安装
⚡ 使用 Smithery
通过 Smithery 自动为 Claude Desktop 安装 GitLab MR MCP:
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
📖 设置
- 克隆此仓库
- 安装依赖:
npm install
- 将以下内容添加到 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
# 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
如需与 MCP 客户端配合使用,可以运行:
npx -y @modelcontextprotocol/inspector npm start
🛠️ 故障排查
如果遇到权限问题(403 Forbidden),请检查:
- GitLab 令牌具有正确的作用域(api、read_api)
- 令牌用户对项目具有适当的访问权限
- 项目 ID 正确
📜 许可证
🤝 参与贡献
欢迎贡献!请随时提交 Pull Request。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
