
Mcp As A Judge
io.github.OtherVibes由 GitHub 账号 OtherVibes 发布v0.3.20更新于 Nov 10, 2026
MCP as a Judge: a behavioral MCP that strengthens AI coding assistants via explicit LLM evaluations
概览
通过让 LLM 评审计划、代码差异、测试和任务完成情况,为 AI 编程助手增加审批关卡。
- 可以做什么
- MCP as a Judge 是一个行为型 MCP 服务器,在 AI 编程助手与其 LLM 之间插入验证关卡。set_coding_task 和 get_current_coding_task 等工具用于记录任务元数据;judge_coding_plan、judge_code_change、judge_testing_implementation 和 judge_coding_task_completion 分别评审计划、统一 Git 差异、测试运行输出和最终完成情况。raise_missing_requirements 和 raise_obstacle 会就缺失信息或决策向用户提问。评审通过 MCP sampling 执行,也可回退到配置的 LLM API 密钥。
- 适用场景
- 当你希望 AI 编程助手按计划、代码、测试、完成的流程推进,并对每个阶段进行明确审批,而不是直接采信生成的代码时,适合使用。它适合需要对计划、差异和测试进行基于证据的评审,并在需求不明确时由人做决定的团队。它不能替代 IDE 规则或子代理,而是在其之上增加可强制执行的关卡。
- 运行要求
- 以 stdio 方式在本地运行,可通过 uv 从 PyPI 安装 mcp-as-a-judge,或以 Docker 镜像运行。需要 Python 3.13+ 或 Docker Desktop。完整功能需要支持 sampling 和 elicitation 的 MCP 客户端,例如 VS Code 中的 GitHub Copilot。不支持完整 sampling 的客户端(包括 Cursor、Claude Code、Augment、Qodo)必须设置 LLM_API_KEY 环境变量;LLM_MODEL_NAME 为可选项。
安装
在 SourceWeft 中
- 打开 控制台中的 Mcp As A Judge,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
MCP as a Judge ⚖️
mcp-name: io.github.OtherVibes/mcp-as-a-judge
MCP as a Judge acts as a validation layer between AI coding assistants and LLMs, helping ensure safer and higher-quality code.
[License: MIT] [Python 3.13+] [MCP Compatible]
MCP as a Judge is a behavioral MCP that strengthens AI coding assistants by requiring explicit LLM evaluations for:
- Research, system design, and planning
- Code changes, testing, and task-completion verification
It enforces evidence-based research, reuse over reinvention, and human-in-the-loop decisions.
If your IDE has rules/agents (Copilot, Cursor, Claude Code), keep using them—this Judge adds enforceable approval gates on plan, code diffs, and tests.
Key problems with AI coding assistants and LLMs
- Treat LLM output as ground truth; skip research and use outdated information
- Reinvent the wheel instead of reusing libraries and existing code
- Cut corners: code below engineering standards and weak tests
- Make unilateral decisions when requirements are ambiguous or plans change
- Security blind spots: missing input validation, injection risks/attack vectors, least‑privilege violations, and weak defensive programming
Vibe coding doesn’t have to be frustrating
What it enforces
- Evidence‑based research and reuse (best practices, libraries, existing code)
- Plan‑first delivery aligned to user requirements
- Human‑in‑the‑loop decisions for ambiguity and blockers
- Quality gates on code and tests (security, performance, maintainability)
Key capabilities
- Intelligent code evaluation via MCP sampling; enforces software‑engineering standards and flags security/performance/maintainability risks
- Comprehensive plan/design review: validates architecture, research depth, requirements fit, and implementation approach
- User‑driven decisions via MCP elicitation: clarifies requirements, resolves obstacles, and keeps choices transparent
- Security validation in system design and code changes
Tools and how they help
🚀 Quick Start
Requirements & Recommendations
MCP Client Prerequisites
MCP as a Judge is heavily dependent on MCP Sampling and MCP Elicitation features for its core functionality:
- MCP Sampling - Required for AI-powered code evaluation and judgment
- MCP Elicitation - Required for interactive user decision prompts
System Prerequisites
- Docker Desktop / Python 3.13+ - Required for running the MCP server
Supported AI Assistants
✅ Recommended setup: GitHub Copilot + VS Code — full MCP sampling; no API key needed.
⚠️ Critical: For assistants without full MCP sampling (Cursor, Claude Code, Augment, Qodo), you MUST set LLM_API_KEY. Without it, the server cannot evaluate plans or code. See LLM API Configuration.
💡 Tip: Prefer large context models (≥ 1M tokens) for better analysis and judgments.
If the MCP server isn’t auto‑used
For troubleshooting, visit the FAQs section.
🔧 MCP Configuration
Configure MCP as a Judge in your MCP-enabled client:
Method 1: Using Docker (Recommended)
One‑click install for VS Code (MCP)
Notes:
- VS Code controls the sampling model; select it via “MCP: List Servers → mcp-as-a-judge → Configure Model Access”.
-
Configure MCP Settings:
Add this to your MCP client configuration file:
📝 Configuration Options (All Optional):
- LLM_API_KEY: Optional for GitHub Copilot + VS Code (has built-in MCP sampling)
- LLM_MODEL_NAME: Optional custom model (see Supported LLM Providers for defaults)
- The
--pull=alwaysflag ensures you always get the latest version automatically
Then manually update when needed:
Method 2: Using uv
-
Install the package:
-
Configure MCP Settings:
The MCP server may be automatically detected by your MCP‑enabled client.
📝 Notes:
- No additional configuration needed for GitHub Copilot + VS Code (has built-in MCP sampling)
- LLM_API_KEY is optional and can be set via environment variable if needed
-
To update to the latest version:
Select a sampling model in VS Code
- Open Command Palette (Cmd/Ctrl+Shift+P) → “MCP: List Servers”
- Select the configured server “mcp-as-a-judge”
- Choose “Configure Model Access”
- Check your preferred model(s) to enable sampling
🔑 LLM API Configuration (Optional)
For AI assistants without full MCP sampling support you can configure an LLM API key as a fallback. This ensures MCP as a Judge works even when the client doesn't support MCP sampling.
- Set
LLM_API_KEY(unified key). Vendor is auto-detected; optionally setLLM_MODEL_NAMEto override the default.
Supported LLM Providers
Client-Specific Setup
Cursor
-
Open Cursor Settings:
- Go to
File→Preferences→Cursor Settings - Navigate to the
MCPtab - Click
+ Addto add a new MCP server
- Go to
-
Add MCP Server Configuration:
📝 Configuration Options:
- LLM_API_KEY: Required for Cursor (limited MCP sampling)
- LLM_MODEL_NAME: Optional custom model (see Supported LLM Providers for defaults)
Claude Code
-
Add MCP Server via CLI:
-
Alternative: Manual Configuration:
- Create or edit
~/.config/claude-code/mcp_servers.json
📝 Configuration Options:
- LLM_API_KEY: Required for Claude Code (limited MCP sampling)
- LLM_MODEL_NAME: Optional custom model (see Supported LLM Providers for defaults)
- Create or edit
Other MCP Clients
For other MCP-compatible clients, use the standard MCP server configuration:
📝 Configuration Options:
- LLM_API_KEY: Required for most MCP clients (except GitHub Copilot + VS Code)
- LLM_MODEL_NAME: Optional custom model (see Supported LLM Providers for defaults)
🔒 Privacy & Flexible AI Integration
🔑 MCP Sampling (Preferred) + LLM API Key Fallback
Primary Mode: MCP Sampling
- All judgments are performed using MCP Sampling capability
- No need to configure or pay for external LLM API services
- Works directly with your MCP-compatible client's existing AI model
- Currently supported by: GitHub Copilot + VS Code
Fallback Mode: LLM API Key
- When MCP sampling is not available, the server can use LLM API keys
- Supports multiple providers via LiteLLM: OpenAI, Anthropic, Google, Azure, Groq, Mistral, xAI
- Automatic vendor detection from API key patterns
- Default model selection per vendor when no model is specified
🛡️ Your Privacy Matters
- The server runs locally on your machine
- No data collection - your code and conversations stay private
- No external API calls when using MCP Sampling. If you set
LLM_API_KEYfor fallback, the server will call your chosen LLM provider only to perform judgments (plan/code/test) with the evaluation content you provide. - Complete control over your development workflow and sensitive information
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Development Setup
© Concepts and Methodology
© 2025 OtherVibes and Zvi Fried. The "MCP as a Judge" concept, the "behavioral MCP" approach, the staged workflow (plan → code → test → completion), tool taxonomy/descriptions, and prompt templates are original work developed in this repository.
Prior Art and Attribution
While “LLM‑as‑a‑judge” is a broadly known idea, this repository defines the original “MCP as a Judge” behavioral MCP pattern by OtherVibes and Zvi Fried. It combines task‑centric workflow enforcement (plan → code → test → completion), explicit LLM‑based validations, and human‑in‑the‑loop elicitation, along with the prompt templates and tool taxonomy provided here. Please attribute as: “OtherVibes – MCP as a Judge (Zvi Fried)”.
❓ FAQ
How is “MCP as a Judge” different from rules/subagents in IDE assistants (GitHub Copilot, Cursor, Claude Code)?
How does the Judge workflow relate to the tasklist? Why do we need both?
- Tasklist = planning/organization: tracks tasks, priorities, and status. It doesn’t guarantee engineering quality or readiness.
- Judge workflow = quality gates: enforces approvals for plan/design, code diffs, tests, and final completion. It demands real evidence (e.g., unified Git diffs and raw test output) and returns structured approvals and required improvements.
- Together: Use the tasklist to organize work; use the Judge to decide when each stage is actually ready to proceed. The server also emits next_tool guidance to keep progress moving through the gates.
If the Judge isn’t used automatically, how do I force it?
- In your prompt: "use mcp-as-a-judge" or "Evaluate plan/code/test using the MCP server mcp-as-a-judge".
- VS Code: Command Palette → "MCP: List Servers" → ensure "mcp-as-a-judge" is listed and enabled.
- Ensure the MCP server is running and, in your client, the judge tools are enabled/approved.
How do I select models for sampling in VS Code?
- Open Command Palette (Cmd/Ctrl+Shift+P) → "MCP: List Servers"
- Select "mcp-as-a-judge" → "Configure Model Access"
- Check your preferred model(s) to enable sampling
📄 License
This project is licensed under the MIT License (see LICENSE).
🙏 Acknowledgments
- Model Context Protocol by Anthropic
- LiteLLM for unified LLM API integration
来源:README.md,提交 896d48a
工具
0版本历史
1- v0.3.20最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分