审查多MCP
一种模型上下文协议(MCP)服务器,通过OpenRouter使用多个LLM执行代码审查。通过并行查询多个AI模型并汇总其结果,获得基于共识的代码审查反馈。
特性
- 多模型评审:同时查询5+个模型以获得不同的视角
- 共识检测:2+型号发现的问题标记为高置信度
- 可配置的:通过配置文件或环境变量选择模型
- 严重程度分类:分类为关键、高、中、低的问题
- AC验证:专门检查验收标准的合规性(非常适合基于故事的工作流程)
- 成本效益高:默认型号平衡质量和成本(每次评论约0.01-0.05美元)
需求
- Python 3.10+
- OpenRouter API密钥
安装
紫外线(推荐)
git clone https://github.com/ziltosh/review-multi-mcp.git
cd review-multi-mcp
uv sync使用pip
git clone https://github.com/ziltosh/review-multi-mcp.git
cd review-multi-mcp
pip install -r requirements.txt配置
API密钥(必需)
您有3个选项用于设置OpenRouter API密钥:
选项1: .env 文件(建议单独使用)
cp .env.example .env
# Edit .env and add your key选项2:Claude代码MCP设置
在 ~/.claude.json,the env 部分自动注入变量(请参见 使用Claude代码 完整示例)。
选项3:系统环境变量
# Linux/macOS
export OPENROUTER_API_KEY="sk-or-..."
# Windows (PowerShell)
$env:OPENROUTER_API_KEY="sk-or-..."优先级:系统环境变量> .env 文件(.env 不会覆盖现有变量)
型号和选项(可选)
创建 config.json 服务器目录中的文件:
cp config.example.json config.json编辑 config.json:
{
"models": [
"deepseek/deepseek-chat",
"mistralai/codestral-2508",
"qwen/qwen3-coder",
"openai/gpt-4o-mini",
"google/gemini-2.5-flash"
],
"timeout": 60,
"max_tokens": 4000,
"temperature": 0.3,
"debug": false
}可用选项
| 选项 | 描述 | 默认值 |
|---|---|---|
models | OpenRouter型号ID列表 | 请参阅下面的默认列表 |
timeout | 请求超时(秒) | 60 |
max_tokens | 模型响应的最大令牌数 | 4000 |
temperature | 模型温度(0-1) | 0.3 |
debug | 启用调试日志记录 | false |
环境变量
所有选项也可以通过环境变量进行设置:
| 变量 | 描述 |
|---|---|
OPENROUTER_API_KEY | 您的OpenRouter API密钥(必需) |
REVIEW_MULTI_MODELS | 以逗号分隔的型号ID列表 |
REVIEW_MULTI_TIMEOUT | 请求超时(秒) |
REVIEW_MULTI_MAX_TOKENS | 响应的最大令牌数 |
REVIEW_MULTI_TEMPERATURE | 模型温度 |
REVIEW_MULTI_DEBUG | 设置为 1 启用调试日志记录 |
环境变量覆盖 config.json 价值观。
违约模型
默认模型选择平衡了质量、速度和成本:
| 型号 | 为什么包括 |
|---|---|
deepseek/deepseek-chat | 最佳价值,出色的推理能力 |
mistralai/codestral-2508 | 代码专业化,快速 |
qwen/qwen3-coder | 强大的代码基准测试 |
openai/gpt-4o-mini | 可靠的基线 |
google/gemini-2.5-flash | 快速、有能力、物有所值 |
浏览可用型号 OpenRouter型号.
使用Claude代码
添加到 ~/.claude.json 在...之下 mcpServers 按键:
紫外线(推荐)
{
"mcpServers": {
"review-multi": {
"command": "uv",
"args": ["run", "--directory", "/path/to/review-multi-mcp", "python", "server.py"],
"env": {
"OPENROUTER_API_KEY": "sk-or-..."
}
}
}
}使用pip/venv
{
"mcpServers": {
"review-multi": {
"command": "/path/to/review-multi-mcp/.venv/bin/python",
"args": ["/path/to/review-multi-mcp/server.py"],
"env": {
"OPENROUTER_API_KEY": "sk-or-..."
}
}
}
}备注:在Windows上,使用.venv/Scripts/python.exe而不是.venv/bin/python.
添加配置后,重新启动Claude Code。证实 /mcp 命令。
刀具参数
| 参数 | 说明 |
|---|---|
code | 待审查代码(内联) |
code_file | 包含代码的文件路径(内联的替代方案-建议用于大差异) |
focus | 描述要验证的内容的上下文字符串(见下面的格式) |
models | 覆盖此审核的默认模型 |
工具验证什么
审查提示旨在 对抗性代码审查模型被指示去发现真正的问题,而不是赞美代码。他们特别检查:
- 验收标准(AC)验证:AC是否实际实施?
- 任务审计:如果任务被标记为已完成,那么它们真的完成了吗?
- 代码质量:安全性、性能、错误处理、可维护性
- 测试质量:真实测试与占位符
严重程度
| 严重性 | 含义 |
|---|---|
| 关键的 | AC未实现,存在安全漏洞,任务标记为已完成但未完成 |
| 高 | 合并前必须修复-错误、缺少验证、错误处理不佳 |
| 中等 | 应该修复-性能问题、代码异味、不完整的测试 |
| 低 | 很好修复-风格、文档、细微改进 |
这 focus 参数
这 focus 参数为模型提供上下文。为了获得最佳效果,请包括:
- 故事标题/描述
- 验证的验收标准
- 相关架构约束
- 需要检查的具体问题
焦点字符串示例
Story 4.1: Trade Context Capture
Acceptance Criteria:
- AC1: BeginTradeContext() available when CCustomReporter initialized
- AC2: AddCoreIndicator() and AddStrategyIndicator() work during capture
- AC3: FinalizeTradeContext(ticket) associates context with trade
- AC4: Warning logged if FinalizeTradeContext called with 0 indicators
Architecture: CustomReporter.mqh generates JSON with trades[] array containing decision_context
Review for: AC compliance, MQL5 best practices, JSON format correctness, test coverage简单用法
对于没有故事背景的快速评论:
focus: "Security review - check for SQL injection, XSS, authentication bypass"focus: "Performance review - look for N+1 queries, unnecessary allocations, blocking calls"与BMAD工作流程集成
该工具与基于故事的开发工作流程配合得很好,例如 BMAD方法.
看 示例/bmad-integration.md 查看完整的自定义命令示例。
输出格式
该工具返回一个结构化的审查,包括:
- 共识裁决:通过、关注或失败
- 个人模型判决:每个模型的评估
- 按严重程度列出的问题:临界、高、中、低
- 高置信度标记:2+模型发现的问题
- 模型摘要:每个模型的总结评估
成本估算
使用默认的5个模型和典型的代码审查(每个模型约5K个输入令牌,约2K个输出):
- 根据评论: ~$0.01-0.05
- 每日(20条评论): ~$0.20-1.00
成本因型号而异。检查 OpenRouter定价 以目前的价格。
故障排除
“未设置OPENROUTER_API_KEY环境变量”
确保在MCP服务器配置或系统环境中设置了API密钥。
超时
增加超时时间 config.json 或通过 REVIEW_MULTI_TIMEOUT.
调试模式
启用调试日志记录以查看发生了什么:
{
"debug": true
}或者: REVIEW_MULTI_DEBUG=1
检查 server.log 在服务器目录中。
许可证
MIT许可证-请参阅许可证文件。
贡献
欢迎投稿!请打开问题或PR。
______________________________________________________________________
*专为配合使用而设计 克劳德代码*
