GitLab代码审查服务器

轻量级MCP服务器,专注于GitLab合并请求的代码审查工作流,支持读取元数据、讨论和管道信息,并发布审查评论。

  • by aka-NameRec
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 aka-NameRec/gitlab-mcp

使用说明

gitlab mcp

轻量级MCP服务器,用于以GitLab为中心的代码审查工作流。

这个项目有意缩小范围。它专为Codex、Cursor和类似的MCP功能工具等代理而设计,这些代理需要紧凑的集成,重点是:

  • 按URL进行合并请求审核;
  • 读取合并请求元数据、讨论和管道;
  • 将顶级审核意见发布回合并请求;
  • 在积极审查的背景下研究代码库。

服务器直接与GitLab REST API对话。它不需要 glab,它从合并请求URL解析目标GitLab配置文件。

工装范围

当前工具:

  • parse_merge_request_url
  • get_merge_request
  • get_merge_request_changes
  • list_merge_request_discussions
  • add_merge_request_note
  • get_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_url
  • auth_type 可选: private_token 或 bearer
  • verify_tls 可选;默认为 true
  • ca_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安装。更高级别的安装程序或代理可以实现以下流程:

  1. 从GitHub克隆存储库。
  2. 跑 uv sync 在克隆的目录中。
  3. 在以下位置注册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工具会修剪过大的补丁,以便代理接收有界的审查有效载荷。