代码审查MCP服务器
MCP服务器旨在充当 只读情报提供者 用于代码审查。它将LLM(如Claude Desktop或Gemini)连接到Git托管平台(GitLab和GitHub),以分析合并/拉取请求,了解项目上下文,并提供专家反馈。
特性
- 平台不可知: 支持两者 GitLab公司 和 GitHub.
- 列出PR/MR: 查看需要审查的内容。
- 获取详细信息: 理解描述、作者和意图。
- 获取差异: 检索和分析代码更改。
- 读取文件: 从任何ref(commit、branch、tag)的存储库中获取特定文件。
- 自定义指南: 配置自己的代码审查准则。
______________________________________________________________________
安装和设置
您可以通过两种方式使用此MCP服务器:
选项A:全局安装(推荐)
通过npm全局安装包:
npm install -g mcp-server-code-review选项B:克隆和构建(用于开发)
克隆存储库并在本地构建:
git clone mcp-server-code-review
cd mcp-server-code-review
npm install
npm run build______________________________________________________________________
配置
服务器需要环境变量进行身份验证。您应该将这些添加到MCP客户端配置中(例如,Claude Desktop)。
环境变量
| 变量 | 描述 | 必填 |
|---|---|---|
GITLAB_TOKEN | 您的GitLab个人访问令牌。 | GitLab |
GITLAB_URL | GitLab实例URL(默认值: https://gitlab.com).GitLab(自我管理) | |
GITHUB_TOKEN | 您的GitHub个人访问令牌。 | GitHub |
CODE_REVIEW_GUIDELINES_FILE | 包含自定义代码审查指南的文件的路径。 | 可选(自定义规则) |
CODE_REVIEW_GUIDELINES | 内联自定义代码审查指南文本。 | 可选(自定义规则) |
注: 至少一个GITLAB_TOKEN或GITHUB_TOKEN必须提供。如果CODE_REVIEW_GUIDELINES_FILE已设置,它优先于CODE_REVIEW_GUIDELINES.
MCP服务器配置
使用全局安装
{
"mcpServers": {
"code-review": {
"command": "mcp-server-code-review",
"env": {
"GITLAB_TOKEN": "your_token_here",
"GITHUB_TOKEN": "your_token_here"
}
}
}
}使用本地克隆
替换 /absolute/path/to/... 带有项目目录的实际完整路径。
{
"mcpServers": {
"code-review": {
"command": "node",
"args": ["/absolute/path/to/mcp-server-code-review/dist/index.js"],
"env": {
"GITLAB_TOKEN": "your_token_here",
"GITHUB_TOKEN": "your_token_here"
}
}
}
}使用自我管理的GitLab
{
"mcpServers": {
"code-review": {
"command": "mcp-server-code-review",
"env": {
"GITLAB_TOKEN": "your_token_here",
"GITLAB_URL": "https://gitlab.yourcompany.com"
}
}
}
}使用自定义代码审查指南
您可以以文件路径或内联文本的形式提供自定义指南:
{
"mcpServers": {
"code-review": {
"command": "mcp-server-code-review",
"env": {
"GITHUB_TOKEN": "your_token_here",
"GITLAB_TOKEN": "your_token_here",
"GITLAB_URL": "https://gitlab.yourcompany.com",
"CODE_REVIEW_GUIDELINES_FILE": "/path/to/your/guidelines.md"
}
}
}
}或者使用内联指南:
{
"mcpServers": {
"code-review": {
"command": "mcp-server-code-review",
"env": {
"GITHUB_TOKEN": "your_token_here",
"CODE_REVIEW_GUIDELINES": "Focus on performance and security. Ensure all functions have proper error handling."
}
}
}
}Claude桌面配置
将以下内容添加到您的 claude_desktop_config.json 文件。
路径位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Claude代码(CLI)配置
将以下内容添加到您的 settings.json 全局配置文件,或 .claude/settings.local.json 在项目目录中进行特定于项目的配置。
路径位置(全局):
- macOS:
~/.claude/settings.json - 窗户:
%USERPROFILE%\.claude\settings.json - Linux:
~/.claude/settings.json
Gemini配置
将以下内容添加到您的 settings.json 文件。
路径位置:
- macOS:
~/.gemini/settings.json - 窗户:
%USERPROFILE%\.gemini\settings.json - Linux:
~/.gemini/settings.json
ChatGPT配置
将以下内容添加到您的 mcp.json 文件。
路径位置:
- macOS:
~/.chatgpt/mcp.json - 窗户:
%USERPROFILE%\.chatgpt\mcp.json - Linux:
~/.chatgpt/mcp.json
______________________________________________________________________
可用工具
GitHub工具
| 工具 | 说明 |
|---|---|
github_list_prs | 使用可选状态过滤器列出拉取请求 |
github_get_pr_details | 获取拉取请求的详细信息 |
github_get_pr_diff | 检索拉取请求的代码更改/diff |
github_read_file | 读取特定引用处的文件内容 |
github_get_project_metadata | 获取README和清单文件(package.json等) |
GitLab工具
| 工具 | 说明 |
|---|---|
gitlab_list_mrs | 使用可选状态筛选器列出合并请求 |
gitlab_get_mr_details | 获取合并请求的详细信息 |
gitlab_get_mr_diff | 检索合并请求的代码更改/diff |
gitlab_read_file | 读取特定引用处的文件内容 |
gitlab_get_project_metadata | 获取README和清单文件(package.json等) |
______________________________________________________________________
可用提示
| 提示 | 描述 |
|---|---|
review_merge_request | 从首席工程师的角度指导GitLab MR审查 |
review_pull_request | 从首席工程师的角度指导GitHub PR审查 |
这些提示指示LLM:
- 担任首席软件工程师
- 关注逻辑错误、竞争条件、安全问题和架构一致性
- 提供结构化反馈(总结、关键问题、建议、小细节)
- 请求问题/票证详细信息以获取更多上下文
______________________________________________________________________
开发与调试
运行单元测试
npm test # Run all tests
npm run test:coverage # Run tests with coverage report格式码
npm run format # Format code with Prettier
npm run format:check # Check code formatting使用MCP检查员进行测试
这 MCP 检查员 允许您在浏览器中交互式测试服务器和工具调用,而无需Claude Desktop应用程序。
- 构建项目:
npm run build- 运行检查器:
(用实际值替换标记)
GITLAB_TOKEN=your_token npx @modelcontextprotocol/inspector node dist/index.js- 打开:
http://localhost:6274(或终端中显示的端口)。
______________________________________________________________________
许可证
ISC
