Skip to main content
Glama
YuCPbit
by YuCPbit

🧾 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.

ci python checks transports license

English · 简体中文

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/cacheScope auf 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; --pdf für den Druck. Dasselbe versionierte Modell wird als --json (Schema v1), --junit für jede CI und --sarif fü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: readOnlyHint rettet schreibgeschützte Tools, die der Regex übermäßig blockieren würde, destructiveHint fängt Mutatoren, die er übersehen würde; nicht annotierte Tools fallen auf die konservative Heuristik zurück. mcp-proof plan zeigt genau, was die Auto-Baseline aufrufen würde und auf welcher Grundlage, bevor irgendetwas die Produktion berührt; --include-destructive und --edge-cases ermöglichen mehr.

  • 📋 Ein Vertrags-Diff für CImcp-proof inspect friert die bediente Oberfläche (Fähigkeiten + Tools + Ressourcen + Prompts, vollständig paginiert) in ein fingerabdruckbasiertes Manifest ein; mcp-proof diff klassifiziert jede Änderung als BREAKING / ADDITIVE / METADATA und 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.html

Stattdessen 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 breaking

Sehen 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 (@modelcontextprotocol/server-filesystem)

✅ SHIP-READY — 11/11 MUST-Prüfungen, 34/34 Replays sauber, 4 Schreib-Tools automatisch übersprungen

HTML · PDF

Server der modernen Ära 2026-07-28 (zero-dep, kreuzvalidiert gegen das offizielle v2-SDK)

✅ SHIP-READY — Ära automatisch erkannt via server/discover, 21/21 MUST inkl. Negativproben, 2/2 Replays

HTML

Demo-Server mit 9 eingepflanzten Verstößen

❌ NOT SHIP-READY — 5 MUST-Fehler + 3 Sicherheitsbefunde, jeder einzelne mit Beleg erfasst

HTML

Wohlverhaltener Demo-Server

✅ SHIP-READY — 16/16 MUST, voller Drei-Spur-Durchlauf inkl. Regressions-Baseline

HTML

🔬 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 2026-07-28 (server/discover, zustandsloses _meta)

✅ Konformitätsspur, automatisch erkannt — --era auto|modern|legacy

Legacy-Ära (Initialize-Handshake, 2024-11-052025-11-25)

✅ 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 inspect / diff mit Gate für brechende Änderungen · Annotations-zuerst-Aufrufplan

v0.5

✅ Versioniertes JSON-Berichtsmodell · JUnit- & SARIF-Ausgaben · wiederverwendbare GitHub Action (uses: YuCPbit/mcp-proof@v0.5.0) · Berichts-UI: klebrige Navigation, Anker, Filter

v0.6

✅ Zwei-Phasen-Argumentsynthese ($ref / allOf / const / pattern / format / Grenzen / multipleOf) · verifizierte schemaverletzende Negativproben (TOOL-07) mit minimalen Reproduktionsbeispielen

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).

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
8Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    A
    maintenance
    A 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.
    6
    6
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Audits 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.
    4
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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