版本:1.0.0
这是一个MCP(模型上下文协议)服务器,提供了一个强大的工具,用于通过各种大型语言模型(LLMs)进行代码审查。该服务器设计为可以无缝集成到像Anthropic的Claude Code、Cursor、Windsurf或其他兼容MCP客户端的人工智能编码助手中。
注意: 此工具最初是为Claude Code创建的,但后来扩展支持其他AI IDE和Claude Desktop。请参阅Claude Code、Cursor和Windsurf的集成指南。
它分析git diff输出中的暂存更改、与HEAD的差异或分支之间的差异,根据任务描述和项目细节提供上下文化的审查。
npx轻松安装和运行,立即可用。git命令。GOOGLE_API_KEY用于Google模型。OPENAI_API_KEY用于OpenAI模型。ANTHROPIC_API_KEY用于Anthropic模型。
这些可以在您的环境中全局设置,或者方便地在您当前正在审查的项目的根目录下的.env文件中设置。服务器会自动尝试加载它们。使用此服务器的主要方式是通过npx,这确保您始终使用最新版本而无需全局安装。
npx导航至您的项目: 打开终端并切换到您要审查的Git仓库的根目录。
cd /path/to/your-git-project
运行MCP服务器: 执行以下命令:
npx -y @vibesnipe/code-review-mcp
该命令将下载(如果尚未缓存)并运行@vibesnipe/code-review-mcp服务器。您应该在终端中看到类似以下的输出:
[MCP Server] Code Reviewer MCP Server is running via stdio and connected to transport.
服务器现在正在运行,并等待MCP客户端(如Claude Code、Cursor或Windsurf)连接。
要通过Smithery自动安装code-review-mcp供Claude Desktop使用:
npx -y @smithery/cli install @praneybehl/code-review-mcp --client claude
一旦claude-code-review-mcp服务器正在运行(理想情况下通过npx从项目的根目录运行):
作为MCP服务器添加到Claude Code:
在单独的终端中(或即将运行的终端中),配置Claude Code以使用此MCP服务器。
如果全局安装并在PATH中,则运行服务器的命令为code-review-mcp;如果您希望Claude Code始终获取它,则使用npx ...命令。
要将其添加到Claude Code:
claude mcp add code-reviewer -s <user|local> -e GOOGLE_API_KEY="key" -- code-review-mcp
如果希望Claude Code使用npx(这是一个好习惯,以确保版本一致性,除非您不打算全局安装):
claude mcp add code-reviewer -s <user|local> -e GOOGLE_API_KEY="key" -- npx -y @vibesnipe/code-review-mcp
这告诉Claude Code如何启动MCP服务器,当请求“code-reviewer”工具集时。此配置可以是特定于项目的(保存在.claude/.mcp.json中)或特定于用户的(全局Claude Code设置)。
在Claude Code中使用智能斜杠命令:
在项目的.claude/commands/目录中创建自定义斜杠命令文件,以便轻松调用审查工具。该包包括几个示例命令在examples/claude-commands/目录中,您可以复制到您的项目中。
这些改进的斜杠命令不需要手动指定任务描述或项目背景——它们利用了Claude Code对您项目的现有了解以及您当前的工作任务。
使用Claude Code中的斜杠命令示例:
claude > /project:review-staged-claude
不需要额外参数!Claude会理解您当前的工作内容,并将其作为审查的背景。
对于需要参数的命令(例如review-branch-custom-gemini.md,它使用自定义分支名称),可以直接在命令后传递它们:
claude > /project:review-branch-custom-gemini main
这将把“main”作为$ARGUMENTS_BASE_BRANCH参数传递。
Cursor是一个基于VS Code的AI驱动IDE,支持MCP服务器。以下是将代码审查MCP服务器与Cursor集成的方法:
配置Cursor的规则以进行代码审查:
创建或打开项目中的.cursor/rules/project.mdc文件,并添加以下部分:
## 斜杠命令
/review-staged: 使用来自code-reviewer MCP服务器的perform_code_review工具来审查暂存更改。使用anthropic提供商和claude-3-7-sonnet-20250219模型。根据我们当前的对话上下文制定任务描述,并专注于代码质量和最佳实践。
/review-head: 使用来自code-reviewer MCP服务器的perform_code_review工具来审查所有未提交的更改(HEAD)。使用openai提供商和o3模型。根据我们当前的对话上下文制定任务描述,并专注于代码质量和最佳实践。
/review-security: 使用来自code-reviewer MCP服务器的perform_code_review工具来审查暂存更改。使用anthropic提供商和claude-3-5-sonnet-20241022模型。根据我们当前的对话上下文制定任务描述,并特别关注安全漏洞、输入验证和安全编码实践。
在Cursor中添加MCP服务器:
"code-reviewer": {
"command": "npx",
"args": ["-y", "@vibesnipe/code-review-mcp"],
"env": {
"GOOGLE_API_KEY": "your-google-api-key",
"OPENAI_API_KEY": "your-openai-api-key",
"ANTHROPIC_API_KEY": "your-anthropic-api-key"
}
}
使用命令:
在Cursor的AI聊天界面中,只需键入:
/review-staged
Cursor将使用claude-code-review-mcp服务器来审查您的暂存更改。
Windsurf(以前称为Codeium)是另一个支持通过斜杠命令实现自定义工作流的高级AI IDE。以下是与Windsurf集成的方法:
在Windsurf中配置MCP服务器:
"code-reviewer": {
"command": "npx",
"args": ["-y", "@vibesnipe/code-review-mcp"],
"env": {
"GOOGLE_API_KEY": "your-google-api-key",
"OPENAI_API_KEY": "your-openai-api-key",
"ANTHROPIC_API_KEY": "your-anthropic-api-key"
}
}
创建代码审查工作流:
Windsurf支持可以通过斜杠命令调用的工作流。在.windsurf/workflows/review-staged.md中创建一个文件:
# 审查暂存更改
对当前暂存更改进行代码审查。
## 第一步
使用来自code-reviewer MCP服务器的perform_code_review工具,使用以下参数:
{ "target": "staged", "llmProvider": "anthropic", "modelName": "claude-3-7-sonnet-20250219", "taskDescription": "我在这个代码库中当前正在工作的任务", "reviewFocus": "通用代码质量、安全最佳实践和性能考虑", "projectContext": "这个项目是在Windsurf中开发的。请仔细检查代码中的任何问题。" }
类似地,根据需要创建其他类型的审查工作流。
使用工作流:
在Windsurf的Cascade界面中,您可以调用这些工作流:
/review-staged
Windsurf将执行工作流,该工作流将使用claude-code-review-mcp服务器来执行代码审查。
perform_code_review描述: 使用指定的大型语言模型对当前Git仓库内的git更改进行代码审查。此工具必须从被审查的仓库根目录运行。
输入模式(参数):
该工具期望参数匹配CodeReviewToolParamsSchema:
target(枚举:'staged','HEAD','branch_diff'):
指定要审查的一组更改。
'staged':仅审查当前暂存以供提交的更改。'HEAD':审查未提交的更改(包括暂存和未暂存的更改)与最后一个提交。'branch_diff':审查指定基础分支/提交与当前HEAD之间的更改。需要diffBase参数。taskDescription(字符串):
清晰简洁的任务、功能或bug修复的描述,导致了代码更改。这为LLM审查者提供了关键背景信息。(例如:“通过电子邮件OTP实现了密码重置功能。”)
llmProvider(枚举:'google','openai','anthropic'):
用于审查的大型语言模型提供商。
modelName(字符串):
来自所选提供商的具体模型名称。示例:
'gemini-2.5-pro-preview-05-06','gemini-2.5-flash-preview-04-17'
(参考:https://ai-sdk.dev/providers/ai-sdk-providers/google-generative-ai#model-capabilities)'o4-mini','gpt-4.1','gpt-4.1-mini','o3'
(参考:https://ai-sdk.dev/providers/ai-sdk-providers/openai#model-capabilities)'claude-3-7-sonnet-20250219','claude-3-5-sonnet-20241022'
(参考:https://ai-sdk.dev/providers/ai-sdk-providers/anthropic#model-capabilities)
确保选择的模型可通过Vercel AI SDK访问,并且您的API密钥具有访问权限。注意: 模型名称通常随着提供商发布新版本而变化。始终检查提供商的最新文档并相应更新模型名称。
reviewFocus(字符串,可选但推荐):
您希望LLM在审查过程中集中关注的具体领域、关注点或方面。(例如:“关注并发操作中的线程安全性。”,“特别注意输入验证和清理。”,“检查是否符合我们内部的React组件样式指南。”)。
projectContext(字符串,可选但推荐):
关于项目的总体背景信息,其架构、关键库、编码标准或任何有助于LLM提供更相关和深入审查的其他背景信息。(例如:“这是一个使用Rust和Actix的高性能微服务。低延迟至关重要。”,“该项目遵循Clean Architecture原则。确保新代码与此一致。”)。
diffBase(字符串,可选):
如果target是'branch_diff'则必需。指定基础分支(例如:'main','develop')或特定的提交SHA,以比较当前HEAD。
maxTokens(数字,可选):
LLM响应的最大令牌数。默认值为32000,如果没有指定。使用此参数优化更快、成本更低的响应(较低值)或更全面的审查(较高值)。
注意:在v0.11.0中,默认值从60000减少到32000个令牌,以更好地平衡成本和质量。
输出:
isError: false的JSON对象和一个包含单个文本项的content数组。text字段包含由LLM生成的markdown格式代码审查。isError: true的JSON对象和一个content数组。text字段将包含描述问题的错误消息。为了让LLM集成正常工作,claude-code-review-mcp服务器(由npx或claude-code-review-mcp启动的过程)需要访问相应的API密钥。
在您正在审查的项目的根目录中设置这些变量:
对于Google模型:
GOOGLE_API_KEY="your_google_api_key"
对于OpenAI模型:
OPENAI_API_KEY="your_openai_api_key"
对于Anthropic模型:
ANTHROPIC_API_KEY="your_anthropic_api_key"
服务器会自动从当前工作目录(即您的项目根目录)中的.env文件加载变量,或者您可以按照上面的示例直接在MCP服务器配置中设置它们。
该包包括几个改进的斜杠命令在examples/claude-commands/目录中,您可以复制到项目的.claude/commands/目录中。这些命令利用了Claude Code对您项目背景和当前任务的理解,消除了手动输入的需求。
| 命令文件 | 描述 |
|---|---|
review-staged-claude.md | 使用Claude 3.5 Sonnet审查暂存更改 |
review-staged-openai.md | 使用OpenAI GPT-4.1审查暂存更改 |
review-staged-gemini.md | 使用Google Gemini 2.5 Pro审查暂存更改 |
review-head-claude.md | 使用Claude 3.7 Sonnet审查所有未提交更改 |
review-head-openai.md | 使用OpenAI O3审查所有未提交更改 |
review-head-gemini.md | 使用Google Gemini 2.5 Pro审查所有未提交更改 |
review-branch-main-claude.md | 使用Claude 3.7 Sonnet审查来自main分支的更改 |
review-branch-develop-openai.md | 使用OpenAI O4-mini审查来自develop分支的更改 |
review-branch-custom-gemini.md | 使用Google Gemini 2.5 Flash审查来自指定分支的更改 |
review-staged-security-claude.md | 使用Claude 3.5 Sonnet对暂存更改进行安全聚焦审查 |
review-staged-performance-openai.md | 使用OpenAI O3对暂存更改进行性能聚焦审查 |
review-staged-maintainability-gemini.md | 使用Google Gemini 2.5 Flash对暂存更改进行可维护性聚焦审查 |
要使用这些命令:
examples/claude-commands/目录复制到项目的.claude/commands/目录中/project:command-name调用命令(例如,/project:review-staged-claude)这些命令自动使用Claude对您当前任务和项目背景的理解,消除了手动输入长参数的需求。
API密钥处理:LLM提供商的API密钥是敏感凭证。此工具从环境变量或.env文件中访问它们,但不会存储或传输超出必要API调用之外的内容。建议在生产环境中使用安全的环境变量管理器。
Git仓库分析:该工具分析您的本地Git仓库内容。它执行Git命令并读取diff输出,但不会将整个代码库发送给LLM——只发送特定的更改进行审查。
代码隐私:当将代码发送给外部LLM提供商进行审查时,请注意:
分支名称净化:为了防止命令注入,分支名称在用于Git命令之前会被净化。不过,仍然建议避免在分支名称中使用不寻常的字符。
@vibesnipe/code-review-mcp包本身)如果您正在贡献或修改@vibesnipe/code-review-mcp包:
cd