Token导航 LogoToken导航TokenDH.com
Gerritmcpserver logo
开发工具stdio官方级别未说明来源级核验

Gerritmcpserver

MCP Server

一个基于模型上下文协议(MCP)的Gerrit代码审查服务器,使AI助手能够与Gerrit代码审查交互、创建评论并发布审查。

工具数

4

提示词数

0

GitHub Stars

1

资源数

0
代码审查开发工具PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

LokeshBolisetty

提供方

LokeshBolisetty

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

Gerrit MCP服务器

Gerrit的模型上下文协议(MCP)服务器,使AI助手能够与Gerrit代码评论进行交互、创建评论和发布评论。

概述

此服务器实现了用于与Gerrit代码审查交互的模型上下文协议(MCP)。它使AI模型能够检索提交消息,创建草稿评论,并通过定义良好的工具发布评论。

特性

  • 获取Gerrit更改的提交消息
  • 创建单个或多个草稿评论
  • 直接发布评论
  • 完全支持特定行和多行评论
  • 支持未解决/已解决的评论状态

需求

  • Gerrit实例(云、服务器或DC)
  • 用于身份验证的HTTP凭据
  • Python 3.8+

设置

1.克隆或导航到此目录

cd /home/cohesity/workspace/GerritMCPServer

2.安装依赖项

此项目使用JiraMCPServer的共享虚拟环境:

source /home/cohesity/workspace/JiraMCPServer/venv/bin/activate
pip install -r requirements.txt

或者,创建一个新的虚拟环境:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

3.配置环境变量

创建一个 .env 项目根目录中的文件:

cp .env.example .env

编辑 .env 并填写您的Gerrit凭据:

GERRIT_HOST=your-gerrit-host.com
GERRIT_USERNAME=your-username
GERRIT_PASSWORD=your-http-password

注: 要生成HTTP密码,请执行以下操作:

  1. 转到您的Gerrit实例
  2. 单击您的个人资料图标→ 设置
  3. 导航到HTTP凭据
  4. 生成新密码

用法

MCP检验员测试

测试服务器最简单的方法是使用内置的MCP检查器:

source /home/cohesity/workspace/JiraMCPServer/venv/bin/activate
mcp dev gerrit_mcp_server.py

这将在浏览器中启动MCP检查器。要连接,请执行以下操作:

  1. 在“命令”字段中,输入Python可执行文件的路径:
   /home/cohesity/workspace/JiraMCPServer/venv/bin/python
  1. 在“Args”字段中,输入服务器脚本的完整路径:
   /home/cohesity/workspace/GerritMCPServer/gerrit_mcp_server.py
  1. 点击“连接”启动MCP服务器
  1. 测试检查器界面中的可用工具

运行服务器

要直接运行服务器,请执行以下操作:

python gerrit_mcp_server.py

与Claude Desktop集成

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "gerrit": {
      "command": "/home/cohesity/workspace/JiraMCPServer/venv/bin/python",
      "args": [
        "/home/cohesity/workspace/GerritMCPServer/gerrit_mcp_server.py"
      ]
    }
  }
}

重要提示: 为Python二进制文件和服务器脚本使用完整的绝对路径。

可用工具

此MCP服务器提供了4个与Gerrit交互的主要工具:

  1. get_commit_message -检索更改修订的提交消息
  2. 创建草稿 -创建单个草稿评论
  3. create_draft_commits -一次创建多个草稿评论
  4. publish_review -立即发布评论(不是草稿)

有关所有可用工具的详细文档,包括参数、返回值和使用示例,请参阅 TOOLS.md.

可用提示

此MCP服务器提供提示,指导AI助手执行代码审查:

  1. code_review_指令 -针对单片微服务存储库(Go、C++、Shell、Protocol Buffers)的全面分步代码审查工作流程

如何使用提示

在Claude Desktop或兼容的AI助手中,使用更改ID调用它:

Use the code_review_instructions prompt with change_id=12345

或者更自然:

Review Gerrit change 12345 using the code_review_instructions prompt

参数:

  • change_id (必填):Gerrit更改ID或编号以进行审核
  • revision_id (可选):要审查的修订(默认:“当前”)

例子:

Use code_review_instructions prompt for change 12345, revision 2

提示包括:

  • 说明中预先填写的变更ID和修订
  • 从理解上下文到生成反馈的分步工作流程
  • 与Gerrit和JIRA MCP工具集成
  • 特定语言的最佳实践(Go、C++、Shell脚本、协议缓冲区)
  • 微服务架构指南
  • 用于评审反馈的结构化JSON输出格式

示例用例

获取提交消息

get_commit_message(
    change_id="12345",
    revision_id="current"
)

创建草稿评论

create_draft_comments(
    change_id="12345",
    revision_id="current",
    comments=[
        {
            "path": "src/main.py",
            "line": 42,
            "message": "Consider using a more descriptive variable name",
            "unresolved": True
        },
        {
            "path": "src/util.py",
            "line": 15,
            "message": "Good refactoring!",
            "unresolved": False
        }
    ]
)

发布带有评论的评论

publish_review(
    change_id="12345",
    revision_id="current",
    comments={
        "src/main.py": [
            {"line": 10, "message": "Fix this bug", "unresolved": True},
            {"line": 20, "message": "Good work"}
        ]
    },
    review_message="Overall looks good, a few minor issues to address"
)

项目结构

GerritMCPServer/
├── gerrit_client/
│   ├── __init__.py
│   ├── client.py          # Gerrit API client with authentication
│   └── changes.py         # Change/revision operations
├── models/
│   └── __init__.py        # Data models and schemas
├── gerrit_mcp_server.py   # Main MCP server with tool definitions
├── requirements.txt       # Python dependencies
├── .env.example          # Environment variable template
├── .gitignore            # Git ignore rules
├── README.md             # This file
└── TOOLS.md              # Detailed tool documentation

建筑

  • gerrit_mcp_server.py:使用FastMCP实现主服务器
  • gerrit_client/client.py:Gerrit API的HTTP客户端,带身份验证
  • gerrit_client/changes.py:变更操作的业务逻辑
  • 模型/:数据模型和常量

错误处理

服务器包括全面的错误处理:

  • 401未经授权:凭据无效
  • 404未找到:更改或修订不存在
  • 网络错误:连接超时和失败
  • 验证错误:参数或数据无效

所有错误都会记录到stderr中,并以结构化格式返回。

技术细节

Gerrit API规范

  • 基本URL: https://{GERRIT_HOST}/a/ (经过身份验证的端点)
  • XSSI保护:Gerrit前缀 )]}' 对响应进行自动剥离
  • 身份验证:使用用户名和密码进行HTTP基本身份验证
  • 草稿注释:使用PUT方法创建
  • 评论发布:使用POST到评论端点

评论结构

注释支持以下字段:

{
    "path": "file/path.ext",       # Required
    "line": 42,                    # Required
    "message": "Comment text",      # Required
    "unresolved": True,            # Optional (default: True)
    "range": {                     # Optional (for multi-line comments)
        "start_line": 40,
        "start_character": 0,
        "end_line": 45,
        "end_character": 10
    }
}

贡献

该服务器遵循MCP规范以及JiraMCPServer和Confluence MCPServer建立的架构模式。

相关项目

许可证

MIT许可证

目录标签

目录标签

代码审查开发工具PythonClaude本地部署AI助手Gerrit集成自动化审查

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP