MCP作为法官⚖️
mcp名称:io.github。OtherVibes/mcp-as-a-year
MCP作为法官,在AI编码助手和LLM之间充当验证层,帮助确保更安全、更高质量的代码。
  
  ](https://pypi.org/project/mcp-as-a-judge/)
MCP作为法官 是一个 行为MCP 通过要求对以下内容进行明确的LLM评估来加强AI编码助手:
- 研究、系统设计和规划
- 代码更改、测试和任务完成验证
它强制执行基于证据的研究,重复使用而不是重新发明,以及人类在循环中的决策。
如果你的IDE有规则/代理(Copilot、Cursor、Claude Code),请继续使用它们——这个法官在计划、代码差异和测试上添加了可执行的批准门。
AI编码助手和LLM的关键问题
- 将LLM输出视为基本事实;跳过研究,使用过时的信息
- 重新设计轮子,而不是重用库和现有代码
- 偷工减料:低于工程标准的代码和薄弱的测试
- 当需求不明确或计划发生变化时,做出单方面决定
- 安全盲点:缺少输入验证、注入风险/攻击向量、最小权限违规和弱防御编程
Vibe编码不必令人沮丧
它执行什么
- 基于证据的研究和重用(最佳实践、库、现有代码)
- 计划-首次交付符合用户要求
- 针对模糊性和阻断器的人工闭环决策
- 代码和测试的质量门(安全性、性能、可维护性)
关键能力
- 通过MCP进行智能代码评估 采样执行软件工程标准,并标记安全/性能/可维护性风险
- 全面的计划/设计评审:验证架构、研究深度、需求契合度和实施方法
- 通过MCP进行用户驱动决策 引出:明确要求,解决障碍,并保持选择透明
- 系统设计和代码更改中的安全验证
工具及其帮助方式
| 工具 | 它解决了什么问题 |
|---|---|
set_coding_task | 创建/更新任务元数据;对task_size进行分类;返回下一步工作流程指南 |
get_current_coding_task | 恢复最新的task_id和元数据以安全恢复工作 |
judge_coding_plan | 验证计划/设计;需要库选择和内部重用图;标记风险 |
judge_code_change | 审查统一的Git差异,以确保正确性、重用性、安全性和代码质量 |
judge_testing_implementation | 使用实际运行器输出和可选覆盖率验证测试 |
judge_coding_task_completion | 完工前确保计划、规范和测试获得批准 |
raise_missing_requirements | 揭示缺失的细节和决定,以阻止进展 |
raise_obstacle | 让用户参与权衡、约束和强制更改 |
🚀 快速开始
要求和建议
MCP客户端先决条件
MCP作为法官在很大程度上依赖于 MCP采样 和 MCP激发 其核心功能的特点:
系统先决条件
- Docker桌面 / Python 3.13+ -运行MCP服务器所需
支持的AI助手
| AI助手 | 平台 | MCP支持 | 状态 | 备注 |
|---|---|---|---|---|
| GitHub Copilot | Visual Studio代码 | ✅ 满 | 推荐 | 通过采样和启发完成MCP集成 |
| 光标 | - | ⚠️ 部分 | 需要LLM API密钥 | 提供MCP支持,但采样/获取有限 |
| 增强 | - | ⚠️ 部分 | 需要LLM API密钥 | 提供MCP支持,但采样/获取有限 |
| 科多 | - | ⚠️ 部分 | 需要LLM API密钥 | 提供MCP支持,但采样/获取有限 |
✅ 推荐设置: GitHub Copilot+VS代码——完整的MCP采样;不需要API密钥。
⚠️ 严重: 对于没有完全MCP采样的助手(游标、克劳德代码、增强、Qodo),您必须设置 LLM_API_KEY没有它,服务器无法评估计划或代码。看 LLM API配置.
💡 提示: 更喜欢大型上下文模型(≥1M令牌),以便进行更好的分析和判断。
如果MCP服务器未自动使用
有关故障排除,请访问 常见问题解答部分.
🔧 MCP配置
配置 MCP作为法官 在启用MCP的客户端中:
方法一:使用Docker(推荐)
VS Code(MCP)一键安装

笔记:
- VS Code控制采样模型;通过“MCP:列出服务器”进行选择→ mcp-as法官→ 配置模型访问”。
- 配置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"
}
}📝 配置选项(全部可选):
- LLM_API_KEY(LLM_API_密钥):GitHub Copilot+VS代码可选(内置MCP采样) - LLM_MODEL_NAME:可选自定义型号(请参见 支持的LLM提供商 默认值) - 这 --pull=always 标志确保您始终自动获得最新版本
然后在需要时手动更新:
# Pull the latest version
docker pull ghcr.io/othervibes/mcp-as-a-judge:latest方法2:使用紫外线
- 安装软件包:
uv tool install mcp-as-a-judge- 配置MCP设置:
启用MCP的客户端可能会自动检测到MCP服务器。
📝 笔记:
- GitHub Copilot+VS代码无需额外配置 (内置MCP采样) - LLM_API_KEY是可选的,如果需要,可以通过环境变量进行设置
- 要更新到最新版本:
# Update MCP as a Judge to the latest version
uv tool upgrade mcp-as-a-judge在VS Code中选择采样模型
- 打开命令面板(Cmd/Ctrl+Shift+P)→ “MCP:列出服务器”
- 选择已配置的服务器“mcp-a-a-judge”
- 选择“配置模型访问”
- 检查您的首选型号以启用采样
🔑 LLM API配置(可选)
对于 没有完全MCP采样支持的AI助手 您可以将LLM API密钥配置为回退。这确保了即使客户端不支持MCP采样,MCP作为判断器也能正常工作。
- 集
LLM_API_KEY(统一密钥)。自动检测供应商;可选设置LLM_MODEL_NAME以覆盖默认值。
支持的LLM提供商
| 排名 | 提供商 | 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基岩 | AWS凭据 | anthropic.claude-sonnet-4-20250514-v1:0 | 与Anthropic对齐 |
| 6 | 顶点AI | 服务帐户JSON | gemini-2.5-pro | 企业双子座通过谷歌云 |
| 7 | Groq | gsk_... | deepseek-r1 | 具有速度优势的最佳推理模型 |
| 8 | OpenRouter | sk-or-... | deepseek/deepseek-r1 | 可用的最佳推理模型 |
| 9 | 扩展应用识别 | xai-... | grok-code-fast-1 | 最新的以编码为重点的模型(2025年8月) |
| 10 | 米斯特拉尔 | [a-f0-9]{64} | pixtral-large | 最先进型号(124B参数) |
客户端特定设置
光标
- 打开光标设置:
- 首选 File → Preferences → Cursor Settings - 导航到 MCP 标签 - 点击 + Add 添加新的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"
}
}📝 配置选项:
- LLM_API_KEY(LLM_API_密钥):光标所需(有限MCP采样) - LLM_MODEL_NAME:可选自定义型号(请参见 支持的LLM提供商 默认值)
克劳德代码
- 通过CLI添加MCP服务器:
# Set environment variables first (optional model override)
export LLM_API_KEY="your_api_key_here"
export LLM_MODEL_NAME="claude-3-5-haiku" # Optional: faster/cheaper model
# Add MCP server
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"
}
}📝 配置选项:
- LLM_API_KEY(LLM_API_密钥):克劳德代码所需(有限MCP采样) - LLM_MODEL_NAME:可选自定义型号(请参见 支持的LLM提供商 默认值)
其他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-5"
}
}📝 配置选项:
- LLM_API_KEY(LLM_API_密钥):大多数MCP客户端都需要(GitHub Copilot+VS代码除外)
- LLM_MODEL_NAME:可选自定义型号(请参见 支持的LLM提供商 默认值)
🔒 隐私和灵活的人工智能集成
🔑 MCP采样(首选)+LLM API密钥回退
主要模式:MCP采样
- 所有判断均使用 MCP采样 能力
- 无需配置或支付外部LLM API服务
- 直接与MCP兼容客户端的现有AI模型配合使用
- 目前支持: GitHub副本+VS代码
回退模式:LLM API密钥
- 当MCP采样不可用时,服务器可以使用LLM API密钥
- 通过LiteLLM支持多个提供商:OpenAI、Anthropic、谷歌、Azure、Groq、Mistral、xAI
- 从API关键模式自动检测供应商
- 未指定型号时,每个供应商的默认型号选择
🛡️ 您的隐私很重要
- 服务器正在运行 本地 在您的机器上
- 无数据收集 -您的代码和对话保持私密
- 使用MCP采样时没有外部API调用.如果你设置
LLM_API_KEY对于回退,服务器将仅调用您选择的LLM提供商,以对您提供的评估内容进行判断(计划/代码/测试)。 - 完全控制您的开发工作流程和敏感信息
🤝 贡献
我们欢迎捐款!请看 贡献.md 作为指导方针。
开发设置
# Clone the repository
git clone https://github.com/OtherVibes/mcp-as-a-judge.git
cd mcp-as-a-judge
# Install dependencies with uv
uv sync --all-extras --dev
# Install pre-commit hooks
uv run pre-commit install
# Run tests
uv run pytest
# Run all checks
uv run pytest && uv run ruff check && uv run ruff format --check && uv run mypy src©概念和方法
©2025 OtherVibes和Zvi Fried。“MCP作为法官”的概念、“行为MCP”方法、分阶段的工作流程(计划→ code → test → 完成)、工具分类/描述和提示模板是此存储库中开发的原创作品。
现有技术和归属
虽然“LLM as a judge”是一个广为人知的概念,但该知识库定义了OtherVibes和Zvi Fried的原始“MCP as a judice”行为MCP模式。它结合了以任务为中心的工作流实施(计划→ code → test → 完成)、基于LLM的显式验证和人在循环中的启发,以及这里提供的提示模板和工具分类。请注明:“OtherVibes–MCP作为评委(Zvi Fried)”。
❓ 常见问题解答
“MCP作为法官”与IDE助手(GitHub Copilot、Cursor、Claude Code)中的规则/子代理有何不同?
| 特性 | IDE规则 | 子代理 | MCP作为裁判 |
|---|---|---|---|
| 静态行为指导 | ✓ | ✓ | ✗ |
| 自定义系统提示 | ✓ | ✓ | ✓ |
| 项目上下文集成 | ✓ | ✓ | ✓ |
| 专业任务处理 | ✗ | ✓ | ✓ |
| 主动质量门 | ✗ | ✗ | ✓ |
| 循证验证 | ✗ | ✗ | ✓ |
| 批准/拒绝并反馈 | ✗ | ✗ | ✓ |
| 工作流执行 | ✗ | ✗ | ✓ |
| 跨助手兼容性 | ✗ | ✗ | ✓ |
Judge工作流与任务列表有何关系?为什么我们两者都需要?
- 任务列表=计划/组织:跟踪任务、优先级和状态。它不能保证工程质量或准备就绪。
- 判断工作流=质量门:强制批准计划/设计、代码差异、测试和最终完成。它需要真实的证据(例如,统一的Git差异和原始测试输出),并返回结构化的批准和所需的改进。
- 共同:使用任务清单组织工作;使用法官来决定每个阶段何时真正准备好继续进行。服务器还发出next_tool指导,以保持进度通过关卡。
如果法官不是自动使用的,我该如何强制使用?
- 在提示中:“使用mcp-a-judge”或“使用mcp服务器mcp-a-judge评估计划/代码/测试”。
- VS代码:命令面板→ “MCP:列出服务器”→ 确保“mcp-as-a-jounced”已列出并启用。
- 确保MCP服务器正在运行,并且在您的客户端中,判断工具已启用/批准。
如何在VS Code中选择采样模型?
- 打开命令面板(Cmd/Ctrl+Shift+P)→ “MCP:列出服务器”
- 选择“mcp-a-judge”→ “配置模型访问权限”
- 检查您的首选型号以启用采样
📄 许可证
此项目根据MIT许可证获得许可(参见 许可证).
🙏 致谢
______________________________________________________________________
