mcp-eval
MCP Agent Evaluation Harness
Un proyecto de referencia compacto para evaluar agentes de codificación que usan herramientas del Model Context Protocol. Este proyecto le da a un agente acceso controlado al repositorio, ejecuta comprobaciones repetibles, compara ejecuciones repetidas y devuelve un informe de verificación estructurado.
Qué demuestra el proyecto
Un servidor MCP con herramientas de listado, lectura, búsqueda y verificación del repositorio
Acceso a los archivos confinado a la raíz, con protección contra el recorrido de rutas
Ejecución determinista de comandos con locale, zona horaria y semilla hash de Python fijadas
Comprobación de patrones de código requeridos y prohibidos
Comparación de ejecuciones repetidas para detectar no determinismo
Material de referencia canónico para una tarea reproducible de corrección de errores
Pruebas unitarias con la biblioteca estándar y un flujo de trabajo de integración continua
Related MCP server: mcp-software-engineering-challenge
Arquitectura
MCP client or coding agent
|
v
Repository MCP tools
|
v
SafeWorkspace boundary
|
v
DeterministicVerifier
|
v
Structured VerificationReportEl verificador principal no tiene ninguna dependencia de terceros. El adaptador MCP utiliza el SDK oficial de Python v2.
Inicio rápido
Ejecute las pruebas unitarias.
python -m unittest discover -s tests -vEjecute la tarea de evaluación incluida.
PYTHONPATH=src python -m mcp_eval_harness.cli verify \
examples/rounding-bug/task.json \
examples/rounding-bug/workspaceInstale el adaptador MCP e inicie el servidor stdio.
python -m pip install -e ".[mcp]"
mcp-eval serveHerramientas MCP
Herramienta | Propósito |
| Devuelve una lista de archivos estable y ordenada bajo la raíz configurada |
| Lee un archivo UTF-8 mientras bloquea el recorrido de rutas |
| Busca texto literal con orden determinista y límites de resultados |
| Ejecuta la especificación de la tarea y devuelve un informe estructurado |
Especificación de la tarea
Cada tarea está definida como JSON y declara los archivos, los requisitos de código, el comando de verificación, el tiempo de espera y el número de repeticiones.
{
"task_id": "decimal-rounding-fix",
"required_files": ["calculator.py", "test_calculator.py"],
"required_patterns": {"calculator.py": ["Decimal", "ROUND_HALF_UP"]},
"forbidden_patterns": {"calculator.py": ["round("]},
"command": ["python", "-m", "unittest", "discover", "-s", ".", "-p", "test_*.py"],
"timeout_seconds": 10,
"repeat_count": 2
}Límite de seguridad
Las comprobaciones de rutas protegen la raíz del repositorio configurada. El verificador de comandos está diseñado para definiciones de tareas locales de confianza. Ejecute código candidato no confiable dentro de un contenedor o de otro sandbox del sistema operativo.
Autor
Mohammed Ibrahim Sadiq
Licencia
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Paid deterministic data-quality and execution-verification tools for AI agents.
Repository evidence for agents before they adopt dependencies, enter codebases, compare, or merge.
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
QA platform for agents: coverage signals, in-repo test plans, verified tests and release governance.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables reproducible evaluation of AI coding agents by exposing repository inspection, code editing, test running, and deterministic verification through MCP tools.-
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to safely inspect, edit, and test code within a bounded repository environment to solve software engineering tasks and verify fixes.-
- FlicenseNot gradedqualityCmaintenanceEnables deterministic, sandboxed evaluation and RL training of software engineering agents via MCP, providing repository and terminal tools, failure classification, and live dashboards.-
- AlicenseNot gradedqualityBmaintenanceProvides bounded MCP tools for AI agents to inspect, write, verify, and diff files in a sandboxed repository, requiring human approval and logging an audit trail.MIT