mcp-proof
🧾 mcp-proof
Liefern Sie einen MCP-Server mit Quittung.
Ein einziger Befehl prüft jeden MCP-Server — Tools, Ressourcen und Prompts, egal welche Protokoll-Ära, stdio oder Streamable HTTP — und übergibt Ihrem Client einen fingerabdruckbasierten, reproduzierbaren Lieferbericht plus eine CI-Regressionssuite, die er behält.
Ein echtes Audit des offiziellen MCP-Dateisystem-Servers: 25 Konformitätsprüfungen, MSSS-Konformitätstabelle, 34 Regressions-Fixtures — alles grün.
✨ Was Sie bekommen
🔍 Wire-Level-Protokollprüfungen über jede Oberfläche und beide Ären — mcp-proof spricht rohes JSON-RPC mit Ihrem Server und erkennt seine Ära automatisch: 30 Prüfungen für die moderne Ära 2026-07-28 (
server/discover,_meta-Envelope-Durchsetzung,resultType,ttlMs/cacheScopeauf jedem cachebaren Ergebnis,-32022-Versionsablehnung, HTTP-Routing-Header-Durchsetzung) und 25 für die Initialize-Handshake-Ära — exakte Fehlercodes, Schema-Gültigkeit, strukturierte Ausgabe, stdout-Hygiene, Paginierungssicherheit, dedizierte Ressourcen- und Prompt-Spuren sowie verifizierte Negativproben: TOOL-07 sendet Eingaben, die nachweislich das deklarierte inputSchema verletzen, und warnt, wenn der Server sie normal beantwortet, mit Zitat des minimalen Reproduktionsbeispiels. In beide Richtungen fähigkeitsbewusst: Oberflächen, die ein Server nicht bewirbt, werden übersprungen; Oberflächen, die er bewirbt, müssen funktionieren.🛡️ Sicherheitsaudit, gebunden an einen öffentlichen Standard — 6 deterministische Prüfungen (Tool-Beschreibungs-Vergiftung, unsichtbare/Bidi-Zeichen, durchgesickerte Zugangsdaten, uneingeschränkte Injektionsflächen, beworbene Shell-Ausführung), jeweils zugeordnet zu kanonischen Kontroll-IDs des 24-Kontrollen umfassenden MCP Server Security Standard, dargestellt als vollständige Konformitätstabelle in jedem Bericht.
📼 Eine Regressionssuite, die Ihr Client behält — zeichnet in beiden Protokoll-Ären auf; Goldene Fixtures mit SHA-256-Provenienz frieren das Serververhalten ein; Replay bewertet jede Abweichung (
BREAKING/VALUE/COSMETIC/LATENCY), versteht strukturierte Ausgabe, bewahrt die Reihenfolge zustandsbehafteter Aufrufe und wird mit einem einsatzbereiten GitHub-Actions-Gate geliefert.📄 Ein Bericht für Menschen und Maschinen — eigenständiges HTML mit klebriger Navigation, Anker pro Prüfung (
report.html#SEC-03), Aufmerksamkeits-/Bestanden-Filtern und einer einklappbaren MSSS-Matrix;--pdffür den Druck. Dasselbe versionierte Modell wird als--json(Schema v1),--junitfür jede CI und--sariffür den GitHub-Sicherheits-Tab geliefert.🔁 Von Natur aus reproduzierbar — null LLM-Aufrufe, null API-Schlüssel. Jeder Hash wird allein aus dem Verhalten berechnet — Zeitstempel und Latenz leben in einer separaten, ungehashten Beobachtungsebene — sodass identisches Serververhalten einen identischen Berichts-Fingerabdruck erzeugt und Akzeptanz Verifikation ist, nicht Vertrauen.
🧯 Annotations-zuerst-Aufrufplanung — MCP-Tool-Annotationen schlagen die Namensheuristik in beide Richtungen:
readOnlyHintrettet schreibgeschützte Tools, die der Regex übermäßig blockieren würde,destructiveHintfängt Mutatoren, die er übersehen würde; nicht annotierte Tools fallen auf die konservative Heuristik zurück.mcp-proof planzeigt genau, was die Auto-Baseline aufrufen würde und auf welcher Grundlage, bevor irgendetwas die Produktion berührt;--include-destructiveund--edge-casesermöglichen mehr.📋 Ein Vertrags-Diff für CI —
mcp-proof inspectfriert die bediente Oberfläche (Fähigkeiten + Tools + Ressourcen + Prompts, vollständig paginiert) in ein fingerabdruckbasiertes Manifest ein;mcp-proof diffklassifiziert jede Änderung alsBREAKING/ADDITIVE/METADATAund beendet sich bei brechenden Änderungen mit Nicht-Null-Status — Schema-Verschärfungen, Enum-Verengungen, Required-Flips, entfernte Ausgabefelder und abgeschwächte Sicherheitsannotationen zählen alle.
Related MCP server: MCProbe
🚀 Schnellstart
pip install git+https://github.com/YuCPbit/mcp-proof
mcp-proof run python my_server.py --fixtures fixtures/ --out report.htmlStattdessen einen laufenden HTTP-Server prüfen? mcp-proof run --url http://localhost:8000/mcp --out report.html
Exit-Code 0 bedeutet: jede MUST-Prüfung bestanden, null Sicherheitsbefunde, null Verhaltensabweichungen — ein einzeiliges CI-Gate.
mcp-proof plan python my_server.py # what would auto-baselining call, and why
mcp-proof record python my_server.py --fixtures fixtures/ # freeze the behavioural contract
mcp-proof replay --fixtures fixtures/ -- python my_server.py # fail on any drift
mcp-proof inspect python my_server.py --out baseline.json # freeze the contract surface
mcp-proof diff baseline.json current.json # BREAKING / ADDITIVE / METADATA, exit 1 on breakingSehen Sie den Unterschied in 60 Sekunden mit dem eingebauten Demo-Paar — einem sauberen Server und einem mit neun eingepflanzten Verstößen:
mcp-proof run python demo/good_server.py --fixtures demo/fixtures-good --out report-good.html # → SHIP-READY
mcp-proof run python demo/bad_server.py --out report-bad.html # → 5 MUST failures, 3 security findings📊 Echte Audits, echte Berichte
Ziel | Urteil | Bericht |
Offizieller MCP-Dateisystem-Server ( | ✅ SHIP-READY — 11/11 MUST-Prüfungen, 34/34 Replays sauber, 4 Schreib-Tools automatisch übersprungen | |
Server der modernen Ära 2026-07-28 (zero-dep, kreuzvalidiert gegen das offizielle v2-SDK) | ✅ SHIP-READY — Ära automatisch erkannt via | |
Demo-Server mit 9 eingepflanzten Verstößen | ❌ NOT SHIP-READY — 5 MUST-Fehler + 3 Sicherheitsbefunde, jeder einzelne mit Beleg erfasst | |
Wohlverhaltener Demo-Server | ✅ SHIP-READY — 16/16 MUST, voller Drei-Spur-Durchlauf inkl. Regressions-Baseline |
🔬 Die drei Spuren
Spur | Was sie beweist | Wie |
Protokollkonformität | Der Server implementiert MCP korrekt auf der Leitung — Ära-Aushandlung, JSON-RPC-Fehlersemantik, Tool-/Ressourcen-/Prompt-Oberflächen, Ausgabeschemas, Fähigkeitskonsistenz, Paginierung, stdout-Hygiene | Eine handgebaute JSON-RPC-Sonde beobachtet den rohen Bytestrom, sodass nichts geglättet wird |
Sicherheit & Hygiene | Tool-Metadaten sind sauber: keine injizierten Anweisungen, verstecktes Unicode, durchgesickerte Geheimnisse oder uneingeschränkte Ausführungsoberflächen | Deterministische statische Analyse, jeder Befund trägt seine MSSS-Kontroll-ID |
Verhaltensregression | Der Server tut immer noch genau das, was er bei der Lieferung tat | Aufzeichnung/Wiedergabe von provenienz-fingerabdruckbasierten goldenen Fixtures, Abweichungen nach Schweregrad bewertet |
Jede Spur speist einen Bericht — und der Bericht endet mit einer priorisierten Fix-Liste, sodass er zugleich als Sanierungsplan dient.
📡 Protokollunterstützung
Transporte | stdio ✅ · Streamable HTTP ✅ |
Oberflächen | tools ✅ · resources ✅ · prompts ✅ — in beide Richtungen fähigkeitsbewusst |
Moderne Ära | ✅ Konformitätsspur, automatisch erkannt — |
Legacy-Ära (Initialize-Handshake, | ✅ alle Spuren |
Regressionsspur | ✅ beide Ären — SDK-Session (Legacy) · Sonden-gestützte Session (modern) |
Die moderne Spur ist gegen das offizielle v2-SDK in beide Richtungen validiert: Der offizielle Client
übernimmt mcp-proofs handgebauten modernen Testserver via server/discover, und mcp-proof führt alle
drei Spuren vollständig grün gegen offizielle v2-SDK-Server auf beiden Transporten aus — stdio und
Streamable HTTP mit SSE-Antworten (scripts/crosscheck_modern_server.py).
Funktioniert mit Servern in jeder Sprache — mcp-proof spricht mit dem Prozess (oder der URL), nicht mit Ihrer Codebasis.
⚙️ CI in einem Schritt
- uses: YuCPbit/mcp-proof@v0.5.0
with:
server-command: python my_server.py
fixtures: fixtures/Der Job schlägt fehl, es sei denn, der Server ist ship-ready, und hinterlässt mcp-proof-report.html / .json /
.junit.xml / .sarif zum Hochladen. Bevorzugen Sie rohe Befehle? mcp-proof run … --junit r.xml --sarif r.sarif
plus mcp-proof diff ist dasselbe Gate.
🏗️ Auf der audit-sauberen Vorlage aufbauen
Bauen Sie einen Server statt einen zu prüfen? templates/server-starter/ ist ein fastmcp-Server, der dieses Audit standardmäßig besteht — eingeschränkte Eingabeschemas, korrekte Fehlersemantik, strukturierte Ausgabe, jede Praxis mit der Prüf-ID annotiert, die sie erfüllt. Kopieren, Tools implementieren, auditieren, mit dem Bericht ausliefern.
🖥️ Plattformen
macOS | ✅ entwickelt & vollständig validiert |
Linux | ✅ in CI ausgeführt |
Windows | ✅ in CI ausgeführt |
🗺️ Roadmap
Release | Fokus |
v0.3 | ✅ Dual-Ära-Protokollunterstützung, auf main ausgeliefert — Ära-Erkennung, 19 Prüfungen der modernen Ära, Dual-Ära-Regressionssessions, gegen das offizielle v2-SDK auf beiden Transporten validiert |
v0.4 | ✅ Fähigkeitsbewusste Ressourcen- & Prompts-Spuren · Vertrags-Manifest |
v0.5 | ✅ Versioniertes JSON-Berichtsmodell · JUnit- & SARIF-Ausgaben · wiederverwendbare GitHub Action ( |
v0.6 | ✅ Zwei-Phasen-Argumentsynthese ( |
Später | Optionale semantische Spur (LLM-bewertete Assertions) — geparkt, bis der deterministische Kern vollständig ist |
🔍 Einschränkungen
mcp-proof beweist, was deterministisch beweisbar ist, und sagt, was was ist:
Sicherheitsprüfungen decken die beobachtbare Protokoll- und Metadatenoberfläche ab. MSSS-Kontrollen, die Bereitstellungs-, Quell- oder Prozessnachweise benötigen, werden immer als manuelle Überprüfung gemeldet — niemals als bestanden.
Auto-Baselining klassifiziert Tools anhand einer konservativen Namens-/Beschreibungs-Heuristik. Überprüfen Sie die Überspringungsliste im fixtures-Manifest, bevor Sie einer gegen die Produktion aufgezeichneten Baseline vertrauen.
Semantische Korrektheit (bedeutet die Antwort das Richtige?) liegt bewusst außerhalb des deterministischen Kerns.
📄 Lizenz
MIT — die Taxonomie im MSSS-Konformitätsabschnitt folgt dem MCP Server Security Standard (CC BY-SA 4.0).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceA stdio MCP server that audits other MCP servers over the live protocol. It connects to any MCP target (stdio or HTTP), lints every tool's schema for agent-usability, then actually calls the tools with deliberately broken inputs to see how the server handles them, and returns a 0–100 conformance score with a per-dimension breakdown rendered as Markdown.66MIT
- AlicenseAqualityBmaintenanceA stdio MCP server that audits other MCP servers by linting their tool schemas and calling tools with malformed inputs to produce a 0–100 conformance score and Markdown report.6MIT
- AlicenseNot gradedqualityBmaintenanceAudits any MCP server against the official spec, providing HMAC-signed conformity reports.MIT
- AlicenseNot gradedqualityAmaintenanceAudits MCP server configurations for security risks including capability inventory, SSRF, prompt injection, and drift detection. Works in read-only mode and can also be used as an MCP server to let AI agents audit their own attack surface.4MIT
Related MCP Connectors
MCP Spec Compliance MCP — audits any MCP server.json against the official Model Context Protocol
Conformance checker for MCP servers. Free, no key, verdicts recomputable and re-measured daily.
MEOK MCP Test MCP — golden-file + schema-drift + tool-failure tests for any MCP server. Drop-in
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/YuCPbit/mcp-proof'
If you have feedback or need assistance with the MCP directory API, please join our Discord server