项目简介

这是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在将大型语言模型 (LLM) 或 AI 助手(如 Claude)与 GitLab 集成,特别是聚焦于合并请求(Merge Request)的代码评审场景。它允许 AI 通过标准化接口访问 GitLab 数据并执行相关操作。

主要功能点

  • 完整的合并请求分析: 获取合并请求的全部详细信息,包括差异、提交记录和评论。
  • 文件级差异查看: 查看合并请求中特定文件的代码变更差异。
  • 版本比较: 比较不同的分支、标签或提交之间的差异。
  • 评审管理: 添加评论、批准或取消批准合并请求。
  • 项目合并请求列表: 获取项目中所有合并请求的列表。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/mehmetakinn/gitlab-mcp-code-review.git
    cd gitlab-mcp-code-review
  2. 创建并激活虚拟环境:
    python -m venv .venv
    source .venv/bin/activate # Windows 用户请使用: .venv\Scripts\activate
  3. 安装依赖:
    pip install -r requirements.txt
  4. 配置 GitLab 访问: 创建一个名为 '.env' 的文件(可以参考 '.env.example'),在其中配置你的 GitLab 个人访问令牌:
    # Required
    GITLAB_TOKEN=你的个人访问令牌
    
    # Optional settings (可根据需要配置)
    # GITLAB_HOST=gitlab.com
    # GITLAB_API_VERSION=v4
    # LOG_LEVEL=INFO
    确保你的 GitLab 令牌拥有 'api' 或 'read_api' 范围的权限。

服务器配置 (面向 MCP 客户端)

该服务器通常作为后台进程运行,并通过标准输入/输出 (stdio) 与 MCP 客户端通信。MCP 客户端(如 Cursor IDE)需要配置如何启动这个服务器进程。

典型的客户端配置会包含:

  • 名称: 服务器的标识名称,例如 'gitlab-mcp-code-review'。
  • 命令 (command): 用于启动服务器的可执行文件路径,通常是虚拟环境中的 Python 解释器路径,例如 '/path/to/your/gitlab-mcp-code-review/.venv/bin/python'。
  • 参数 (args): 传递给命令的参数列表,通常包括服务器主脚本的路径和传输协议参数,例如 '/path/to/your/gitlab-mcp-code-review/server.py' 和 '--transport stdio'。
  • 工作目录 (cwd): 服务器进程的启动目录,通常是仓库的根目录,例如 '/path/to/your/gitlab-mcp-code-review'。
  • 环境变量 (env): 运行服务器所需的额外环境变量,例如设置 'PYTHONPATH' 和 'VIRTUAL_ENV' 指向虚拟环境,并确保 '.env' 文件中的配置(如 'GITLAB_TOKEN')能被加载。
  • Stdio: 标记使用标准输入/输出作为传输方式,通常设置为 'true'。

客户端通过上述配置启动服务器进程后,即可通过 MCP 协议与之通信。

基本使用方法

服务器启动后,MCP 客户端(如集成了 MCP 的 AI 开发环境)会自动发现并连接到该服务器。AI 助手可以通过调用服务器暴露的工具 (Tools) 来执行与 GitLab 代码评审相关的操作。

例如,客户端可以调用名为 'fetch_merge_request' 的工具来获取某个合并请求的详细信息;调用 'add_merge_request_comment' 工具来向合并请求添加评论等。AI 助手会根据对话上下文和这些工具的能力来决定何时以及如何调用这些功能,从而实现智能化的代码评审辅助。

关键词

GitLab, 代码评审, AI集成, LLM工具

信息

分类

开发者工具