使用说明
gitlab mcp
轻量级MCP服务器,用于以GitLab为中心的代码审查工作流。
这个项目有意缩小范围。它专为Codex、Cursor和类似的MCP功能工具等代理而设计,这些代理需要紧凑的集成,重点是:
- 按URL进行合并请求审核;
- 读取合并请求元数据、讨论和管道;
- 将顶级审核意见发布回合并请求;
- 在积极审查的背景下研究代码库。
服务器直接与GitLab REST API对话。它不需要 glab,它从合并请求URL解析目标GitLab配置文件。
工装范围
当前工具:
parse_merge_request_urlget_merge_requestget_merge_request_changeslist_merge_request_discussionsadd_merge_request_noteget_merge_request_pipelines
为什么存在
通用企业MCP服务器通常过于宽泛,无法进行审查。 gitlab-mcp 故意保持轻盈:
- 专注于代码审查,而不是全面的GitLab管理;
- 紧凑的有效载荷,使代理可以在不浪费上下文的情况下对响应进行推理;
- 在审查期间对存储库调查实用;
- 限制写入权限:在审阅输出准备就绪时创建顶级合并请求注释。
如果您希望代理读取合并请求、检查讨论、检查更改的文件并发布审阅摘要,则此服务器是预期的集成点。
需求
- Python 3.13+
uv- 一个GitLab代币
api范围 - 网络访问您的GitLab实例
版本
- 当前版本:
0.1 - 发布日期:
2026-03-26
CLI还公开了版本输出:
uv run gitlab-mcp --version
uv run gitlab-mcp -v
配置
服务器从以下位置读取配置文件:
~/.config/aka.NameRec@gmail.com/mcp/config.toml
您可以使用以下命令覆盖测试位置:
export AKA_MCP_CONFIG_PATH="/path/to/config.toml"
例子:
[gitlab]
profiles = [
{ base_url = "https://git.devcats.kg", token = "your-token" },
{ name = "gitlab-com", base_url = "https://gitlab.com", token = "other-token", auth_type = "bearer" }
]
配置文件字段:
base_url必需且唯一token必需的name可选;默认为base_urlauth_type可选:private_token或bearerverify_tls可选;默认为trueca_bundle_path可选的timeout_seconds可选的
本地跑
uv run gitlab-mcp
默认情况下,服务器使用stdio传输,这是代理环境中本地MCP服务器的预期传输。
从GitHub URL安装
存储库URL:
git@github.com:aka-NameRec/gitlab-mcp.git
最小本地安装:
git clone git@github.com:aka-NameRec/gitlab-mcp.git
cd gitlab-mcp
uv sync
之后,使用存储库目录作为工作目录在代理客户端中注册服务器。
食品法典示例:
codex mcp add gitlab-review -- uv --directory /absolute/path/to/gitlab-mcp run gitlab-mcp
光标示例:
{
"mcpServers": {
"gitlab-review": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/gitlab-mcp",
"run",
"gitlab-mcp"
]
}
}
}
预期代理用户体验
此存储库旨在易于从GitHub URL安装。更高级别的安装程序或代理可以实现以下流程:
- 从GitHub克隆存储库。
- 跑
uv sync在克隆的目录中。 - 在以下位置注册MCP服务器:
uv --directory /absolute/path/to/gitlab-mcp run gitlab-mcp
这使得诸如 install MCP server git@github.com:aka-NameRec/gitlab-mcp.git 可以直接在Codex、Cursor或类似代理中实现自动化。
备注
- 服务器从合并请求URL主机解析目标配置文件。
- 简短的合并请求引用,例如
!123故意不受支持。 - 配置错误作为面向用户的工具错误引发,并带有可操作的消息。
add_merge_request_note发布顶级评论,而不是内联差异讨论。- diff工具会修剪过大的补丁,以便代理接收有界的审查有效载荷。
