mcp-eval
MCP Agent Evaluation Harness
Ein kompaktes Referenzprojekt zur Evaluierung von Coding-Agenten, die Tools des Model Context Protocol verwenden. Das Harness verschafft einem Agenten kontrollierten Repository-Zugriff, führt wiederholbare Prüfungen aus, vergleicht wiederholte Ausführungen und gibt einen strukturierten Verifikationsbericht zurück.
Was das Projekt demonstriert
Ein MCP-Server mit Tools zum Auflisten, Lesen, Durchsuchen und Verifizieren von Repositories
Auf das Root-Verzeichnis begrenzter Dateizugriff mit Schutz vor Pfad-Traversierung
Deterministische Befehlsausführung mit festem Locale, fester Zeitzone und festem Python-Hash-Seed
Prüfungen für erforderliche und verbotene Codemuster
Vergleich wiederholter Läufe zur Erkennung von Nichtdeterminismus
Golden-Reference-Material für eine reproduzierbare Bugfixing-Aufgabe
Unit-Tests auf Basis der Standardbibliothek und ein Continuous-Integration-Workflow
Related MCP server: mcp-software-engineering-challenge
Architektur
MCP client or coding agent
|
v
Repository MCP tools
|
v
SafeWorkspace boundary
|
v
DeterministicVerifier
|
v
Structured VerificationReportDer zentrale Verifizierer ist frei von Drittanbieter-Abhängigkeiten. Der MCP-Adapter verwendet das offizielle Python SDK v2.
Schnellstart
Führen Sie die Unit-Tests aus.
python -m unittest discover -s tests -vFühren Sie die enthaltene Evaluierungsaufgabe aus.
PYTHONPATH=src python -m mcp_eval_harness.cli verify \
examples/rounding-bug/task.json \
examples/rounding-bug/workspaceInstallieren Sie den MCP-Adapter und starten Sie den stdio-Server.
python -m pip install -e ".[mcp]"
mcp-eval serveMCP-Tools
Tool | Zweck |
| Gibt eine stabile, sortierte Dateiliste unter dem konfigurierten Root-Verzeichnis zurück |
| Liest eine UTF-8-Datei und blockiert dabei Pfad-Traversierung |
| Findet wörtlichen Text mit deterministischer Reihenfolge und Ergebnislimit |
| Führt die Aufgabespezifikation aus und gibt einen strukturierten Bericht zurück |
Aufgabespezifikation
Jede Aufgabe ist als JSON definiert und legt die Dateien, die Code-Anforderungen, den Verifizierungsbefehl, das Timeout und die Wiederholungsanzahl fest.
{
"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
}Sicherheitsgrenze
Die Pfadprüfungen schützen das konfigurierte Repository-Root. Der Befehlsverifizierer ist für vertrauenswürdige lokale Aufgabendefinitionen ausgelegt. Führen Sie nicht vertrauenswürdigen Kandidatencode in einem Container oder einer anderen Betriebssystem-Sandbox aus.
Autor
Mohammed Ibrahim Sadiq
Lizenz
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