这是一个使用模型上下文协议(MCP)与GitLab合并请求和问题进行交互的服务器。
该项目实现了一个使用模型上下文协议(MCP)的服务器,允许AI代理与GitLab仓库进行交互。它提供了以下工具:
要通过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\"}"'
npm install
{
"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
设置合并请求的描述
设置环境变量:
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),请检查:
欢迎贡献!请随时提交拉取请求。