cayirtepeomer
服务介绍
Gerrit 代码审查 MCP 服务器
此 MCP 服务器提供了与 Gerrit 代码审查系统的集成,允许 AI 助手通过简单的界面审查代码变更及其详细信息。
功能
该服务器提供了一套简化的代码审查工具集:
获取变更详情
python
fetch_gerrit_change(change_id: str, patchset_number: Optional[str] = None)
- 获取完整的变更信息,包括文件和补丁集
- 显示每个修改文件的详细差异信息
- 显示文件更改、插入和删除
- 支持审查特定的补丁集
- 返回全面的变更详情,包括:
- 项目和分支信息
- 作者和审查者详情
- 评论和审查历史
- 文件修改及差异内容
- 当前补丁集信息
比较补丁集差异
python
fetch_patchset_diff(change_id: str, base_patchset: str, target_patchset: str, file_path: Optional[str] = None)
- 比较一个变更中两个补丁集之间的差异
- 查看特定文件的差异或所有更改的文件
- 分析跨补丁集版本的代码修改
- 跟踪审查迭代中的变更演变
示例用法
审查一个完整的变更:
python
获取变更 23824 的最新补丁集
change = fetch_gerrit_change("23824")
比较特定的补丁集:
python
比较变更 23824 中补丁集 1 和 2 之间的差异
diff = fetch_patchset_diff("23824", "1", "2")
查看特定文件的更改:
python
获取特定文件在补丁集之间的差异
file_diff = fetch_patchset_diff("23824", "1", "2", "path/to/file.swift")
前提条件
- Python 3.10 或更高版本(推荐使用 Python 3.11)
- Gerrit HTTP 访问凭证
- 从 Gerrit 设置生成的 HTTP 密码
- 访问
mcp[cli]包仓库(私有包)
安装
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 gerrit-code-review-mcp:
bash
npx -y @smithery/cli install @cayirtepeomer/gerrit-code-review-mcp --client claude
手动安装
-
克隆此仓库:
bash
git clone
cd gerrit-review-mcp -
创建并激活虚拟环境:
bash
对于 macOS/Linux:
python -m venv .venv
source .venv/bin/activate
对于 Windows:
python -m venv .venv
.venvScriptsactivate
- 以可编辑模式安装此包及其依赖项:
bash
pip install -e .
配置
- 设置环境变量:
bash
export GERRIT_HOST="gerrit.example.com" # 您的 Gerrit 服务器主机名
export GERRIT_USER="your-username" # 您的 Gerrit 用户名
export GERRIT_HTTP_PASSWORD="your-http-password" # 您的 Gerrit HTTP 密码
或者创建一个 .env 文件:
GERRIT_HOST=gerrit.example.com
GERRIT_USER=your-username
GERRIT_HTTP_PASSWORD=your-http-password
- 生成 HTTP 密码:
- 登录您的 Gerrit 网页界面
- 转到设置 > HTTP 凭证
- 生成新密码
- 将密码复制到您的环境或
.env文件中
MCP 配置
要将此 MCP 服务器与 Cursor 一起使用,您需要将其配置添加到您的 ~/.cursor/mcp.json 文件中。以下是所需的配置:
json
{
"mcpServers": {
"gerrit-review-mcp": {
"command": "/path/to/your/workspace/gerrit-code-review-mcp/.venv/bin/python",
"args": [
"/path/to/your/workspace/gerrit-code-review-mcp/server.py",
"--transport",
"stdio"
],
"cwd": "/path/to/your/workspace/gerrit-code-review-mcp",
"env": {
"PYTHONPATH": "/path/to/your/workspace/gerrit-code-review-mcp",
"VIRTUAL_ENV": "/path/to/your/workspace/gerrit-code-review-mcp/.venv",
"PATH": "/path/to/your/workspace/gerrit-code-review-mcp/.venv/bin:/usr/local/bin:/usr/bin:/bin"
},
"stdio": true
}
}
}将 /path/to/your/workspace 替换为您的实际工作区路径。例如,如果您的项目位于 /Users/username/projects/gerrit-code-review-mcp,请使用该路径。
确保配置中的所有路径指向:
- 您虚拟环境的 Python 解释器
- 项目的
server.py文件 - 正确的工作目录
- 虚拟环境的 bin 目录在 PATH 中
实现细节
服务器使用 Gerrit REST API 与 Gerrit 进行交互,提供以下功能:
- 快速可靠地检索变更信息
- 使用 HTTP 摘要认证进行安全认证
- 支持各种 Gerrit REST 端点
- 清晰且易于维护的代码库
- 通过 HTTPS 加密实现安全通信
故障排除
如果您遇到连接问题,请执行以下步骤:
-
验证您的 HTTP 密码是否正确设置
-
检查 GERRIT_HOST 设置
-
确保 Gerrit 服务器上启用了 HTTPS 访问
-
使用 curl 测试连接:
bash
curl -u "username:http-password" https://your-gerrit-host/a/changes/ -
验证您的账户对 Gerrit 的访问权限
许可证
本项目采用 MIT 许可证。
贡献
我们欢迎贡献!请:
- 叉取仓库
- 创建一个特性分支
- 进行修改
- 提交一个拉取请求