mcp-name: io.github.OtherVibes/mcp-as-a-judge
<div align="left"> <img src="assets/mcp-as-a-judge.png" alt="MCP作为裁判Logo" width="200"> </div>MCP作为裁判在AI编码助手和大语言模型之间充当验证层,帮助确保更安全和高质量的代码。
MCP作为裁判是一个行为型MCP,通过要求显式的大语言模型评估来增强AI编码助手:
它强制执行基于证据的研究、重用而非重新发明,并且有人类参与决策。
如果您的IDE有规则/代理(Copilot、Cursor、Claude Code),继续使用它们——这个裁判添加了可执行的审批门控于计划、代码差异和测试中。
| 工具 | 解决的问题 |
|---|---|
set_coding_task | 创建/更新任务元数据;分类任务大小;返回下一步工作流程指导 |
get_current_coding_task | 恢复最新的任务ID和元数据以安全恢复工作 |
judge_coding_plan | 验证计划/设计;需要库选择和内部重用图;标记风险 |
judge_code_change | 审查统一的Git差异以检查正确性、重用、安全性和代码质量 |
judge_testing_implementation | 使用实际运行器输出和可选覆盖率验证测试 |
judge_coding_task_completion | 最终门控确保计划、代码和测试批准后才能完成 |
raise_missing_requirements | 引出缺失的细节和决策以解除阻碍 |
raise_obstacle | 让用户参与权衡、约束和强制变更 |
MCP作为裁判的核心功能高度依赖于MCP采样和MCP引出特性:
| AI助手 | 平台 | MCP支持 | 状态 | 备注 |
|---|---|---|---|---|
| GitHub Copilot | Visual Studio Code | ✅完全 | 推荐 | 完整的MCP集成,包括采样和引出 |
| Claude Code | - | ⚠️部分 | 需要大语言模型API密钥 | 采样支持功能请求<br>引出支持功能请求 |
| Cursor | - | ⚠️部分 | 需要大语言模型API密钥 | MCP支持可用,但采样/引出有限 |
| Augment | - | ⚠️部分 | 需要大语言模型API密钥 | MCP支持可用,但采样/引出有限 |
| Qodo | - | ⚠️部分 | 需要大语言模型API密钥 | MCP支持可用,但采样/引出有限 |
✅推荐设置: GitHub Copilot + VS Code — 完整MCP采样;无需API密钥。
⚠️关键: 对于没有完整MCP采样的助手(Cursor、Claude Code、Augment、Qodo),您必须设置LLM_API_KEY。没有它,服务器无法评估计划或代码。参见大语言模型API配置(可选)。
💡提示: 优先使用大型上下文模型(≥ 1M令牌)以获得更好的分析和判断。
对于故障排除,请访问常见问题解答部分。
在您的MCP启用客户端中配置MCP作为裁判:
注意事项:
配置MCP设置:
将以下内容添加到您的MCP客户端配置文件中:
{
"command": "docker",
"args": ["run", "--rm", "-i", "--pull=always", "ghcr.io/othervibes/mcp-as-a-judge:latest"],
"env": {
"LLM_API_KEY": "your-openai-api-key-here",
"LLM_MODEL_NAME": "gpt-4o-mini"
}
}
📝配置选项(全部可选):
--pull=always标志确保您始终自动获取最新版本然后根据需要手动更新:
# 拉取最新版本
docker pull ghcr.io/othervibes/mcp-as-a-judge:latest
安装包:
uv tool install mcp-as-a-judge
配置MCP设置:
您的MCP启用客户端可能会自动检测到MCP服务器。
📝注意事项:
更新到最新版本:
# 更新MCP作为裁判到最新版本
uv tool upgrade mcp-as-a-judge
对于没有完整MCP采样支持的AI助手,您可以配置一个大语言模型API密钥作为备用。这确保即使客户端不支持MCP采样,MCP作为裁判也能正常工作。
LLM_API_KEY(统一密钥)。供应商会自动检测;如有需要,可设置LLM_MODEL_NAME以覆盖默认值。| 排名 | 提供商 | API密钥格式 | 默认模型 | 备注 |
|---|---|---|---|---|
| 1 | OpenAI | sk-... | gpt-4.1 | 优化速度的快速可靠的模型 |
| 2 | Anthropic | sk-ant-... | claude-sonnet-4-20250514 | 高性能且具有卓越推理能力 |
| 3 | AIza... | gemini-2.5-pro | 内置思考的最先进模型 | |
| 4 | Azure OpenAI | [a-f0-9]{32} | gpt-4.1 | 与OpenAI相同,但通过Azure |
| 5 | AWS Bedrock | AWS凭证 | anthropic.claude-sonnet-4-20250514-v1:0 | 与Anthropic对齐 |
| 6 | Vertex AI | 服务账户JSON | gemini-2.5-pro | 企业Gemini通过Google Cloud |
| 7 | Groq | gsk_... | deepseek-r1 | 具有速度优势的最佳推理模型 |
| 8 | OpenRouter | sk-or-... | deepseek/deepseek-r1 | 可用的最佳推理模型 |
| 9 | xAI | xai-... | grok-code-fast-1 | 最新的专注于编码的模型(2025年8月) |
| 10 | Mistral | [a-f0-9]{64} | pixtral-large | 参数最多的最先进模型(124B参数) |
打开Cursor设置:
文件 → 首选项 → Cursor设置MCP标签+ 添加以添加一个新的MCP服务器添加MCP服务器配置:
{
"command": "uv",
"args": ["tool", "run", "mcp-as-a-judge"],
"env": {
"LLM_API_KEY": "your-openai-api-key-here",
"LLM_MODEL_NAME": "gpt-4.1"
}
}
📝配置选项:
通过CLI添加MCP服务器:
# 先设置环境变量(可选模型覆盖)
export LLM_API_KEY="your_api_key_here"
export LLM_MODEL_NAME="claude-3-5-haiku" # 可选:更快/更便宜的模型
# 添加MCP服务器
claude mcp add mcp-as-a-judge -- uv tool run mcp-as-a-judge
替代方案:手动配置:
~/.config/claude-code/mcp_servers.json{
"command": "uv",
"args": ["tool", "run", "mcp-as-a-judge"],
"env": {
"LLM_API_KEY": "your-anthropic-api-key-here",
"LLM_MODEL_NAME": "claude-3-5-haiku"
}
}
📝配置选项:
对于其他MCP兼容客户端,使用标准MCP服务器配置:
{
"command": "uv",
"args": ["tool", "run", "mcp-as-a-judge"],
"env": {
"LLM_API_KEY": "your-openai-api-key-here",
. "LLM_MODEL_NAME": "gpt-5"
}
}
📝配置选项:
主要模式:MCP采样
备用模式:大语言模型API密钥
LLM_API_KEY作为备用,服务器仅会在您提供的评估内容中执行判断(计划/代码/测试)时调用您选择的大语言模型提供商。我们欢迎贡献!请参阅CONTRIBUTING.md了解指南。
# 克隆仓库
git clone https://github.com/OtherVibes/mcp-as-a-judge.git
cd mcp-as-a-judge
# 使用uv安装依赖
uv sync --all-extras --dev
# 安装预提交钩子
uv run pre-commit install
# 运行测试
uv run pytest
# 运行所有检查
uv run pytest && uv run ruff check && uv run ruff format --check && uv run mypy src
© 2025 OtherVibes 和 Zvi Fried。"MCP作为裁判"概念、"行为型MCP"方法、分阶段的工作流(计划 → 编码 → 测试 → 完成)、工具分类/描述以及提示模板是在此仓库中开发的原创作品。
虽然“大语言模型作为裁判”是一个广为人知的想法,但本仓库定义了由OtherVibes和Zvi Fried原创的“MCP作为裁判”行为型MCP模式。它结合了面向任务的工作流执行(计划 → 编码 → 测试 → 完成)、明确的大语言模型验证和人类参与决策,以及此处提供的提示模板和工具分类。请归因于:“OtherVibes – MCP作为裁判(Zvi Fried)”。
| 功能 | IDE规则 | 子代理 | MCP作为裁判 | |------|---------|