README
🚀 GitLab MR MCP
一个使用 Model Context Protocol (MCP) 实现与 GitLab 合并请求和问题交互的服务器,借助该服务器,可让 AI 代理与 GitLab 仓库进行交互。
🚀 快速开始
该项目实现了一个基于 Model Context Protocol (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(s)
📖 设置
- 克隆此仓库
- 安装依赖项:
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 | 获取特定问题的详细信息。 |
🏗️ 开发
🔍 运行 Inspector
设置环境变量:
export MR_MCP_GITLAB_TOKEN=your_gitlab_token
export MR_MCP_GITLAB_HOST=your_gitlab_host
用于与 MCP 客户端一起使用时,可以运行:
npx -y @modelcontextprotocol/inspector npm start
🛠️ 问题排除
如果遇到权限问题(403 禁止),请检查:
- 您的 GitLab 令牌具有适当的范围(api, read_api)
- 令牌用户对项目有适当的访问权限
- 项目 ID 是正确的
📄 许可证
🤝 贡献
欢迎贡献!请随意提交 Pull Request。
Scan to join WeChat group