mcp-protocol-conformance

MCPCommunity
v0.2.1Matthias MeyerMITAktualisiert vor 14 TnpmGitHub

Conformance test harness for Model Context Protocol servers. Validates JSON-RPC 2.0, spec-version handshake, transport, OAuth 2.1 PKCE, tool schemas, capabilities, smoke roundtrip, and annotations against MCP spec 2024-11-05 / 2025-03-26 / 2025-06-18 / 20

Läuft in
ClaudeCursorCopilotGemini

Abgeleitet aus den Transporten, die dieser Eintrag deklariert (stdio). Ein Client, der hier nicht steht, ist damit nicht ausgeschlossen — Forge kann ihn nur nicht bestätigen.

Automatisch aus öffentlichen Quellen indexiert. Vom Entwickler auf Forge noch nicht verifiziert.Diesen Eintrag beanspruchen →
67Downloads/Wo.
vor 14 TLetzte Aktualisierung
Paket
AutorMatthias Meyer
LizenzMIT
Version0.2.1
Quellenpm+mcp-registry
Trust-Status
B
60/100Gut
Im Forge-Index gelistet+10/10
Publisher-Identität verifiziert+0/20
Publisher: führe `forge publish` im Repo des Pakets aus, um die Inhaberschaft zu beanspruchen
Ed25519-Publish-Signatur+0/5
Wird automatisch ergänzt, wenn der Publisher `forge publish` ausführt
Domain-Verifizierung+0/5
Publisher: hinterlege /.well-known/forge.json auf der Paket-Homepage mit { "publisher": "<github-login>" }
npm Trusted Publishing (Sigstore)+0/5
Veröffentliche aus GitHub Actions mit --provenance, damit die Attestation dieses Paket an dieses Repo bindet
npm-Maintainer-Übereinstimmung+0/5
Wird erreicht, sobald deine Identität oben verifiziert ist und dieser Login npm-Maintainer dieses Pakets ist
CVE-Scan · sauber+30/30
Statische Analyse · sauber+20/20
Füge das in Claude Code, Cursor oder einen beliebigen KI-Assistenten ein, um alle Lücken zu schließen
StatusVon der Community indexiert
PublisherNicht verifiziert
SignaturNicht signiert
Domain
Herkunft
Abhängigkeiten✓ 60 aufgelöst+ · keine verwundbar
Tool-Oberfläche12 Tools · keines privilegiert
Sicherheits-Scan✓ Sauberv0.2.1 · vor 3 TWie gut funktioniert dieser Scan?
EvaluierungenKeine
Indexiert20. Aug. 2026

Die Verifizierung bestätigt die Identität des Publishers (die Inhaberschaft am Repo), nicht die Sicherheit des Codes. Der Sicherheits-Scan deckt bekannte CVEs und verdächtige Installationsskripte ab.

Tools

12 Tools · keines privilegiert
Statisch aus dem veröffentlichten Paket extrahiertv0.2.1 · 3d ago

Aus dem Quellcode gelesen, den npm tatsächlich ausliefert, zum Zeitpunkt des Scans. Das Paket wurde nie ausgeführt. Tools, die zur Laufzeit dynamisch registriert werden oder in gebündeltem beziehungsweise minifiziertem Code stecken, können übersehen werden — das hier ist also eine Untergrenze der Tool-Oberfläche, keine vollständige Erhebung.

runJsonRpcComplianceRun JSON-RPC 2.0 compliance suite (parse-error, invalid-request, method-not-found, invalid-params, internal-error) against a target MCP server.

Run JSON-RPC 2.0 compliance suite (parse-error, invalid-request, method-not-found, invalid-params, internal-error) against a target MCP server.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

runSpecVersionAssertionDrive an initialize handshake and assert the target advertises the expected MCP spec version.

Drive an initialize handshake and assert the target advertises the expected MCP spec version.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

runTransportSuiteVerify the target's transport layer (stdio line-delimited JSON or Streamable HTTP).

Verify the target's transport layer (stdio line-delimited JSON or Streamable HTTP).

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

runOauthPkceFlowExercise OAuth 2.1 PKCE S256 flow against the target. Mock-AS by default; real-tenant when --oauth-mode=real.

Exercise OAuth 2.1 PKCE S256 flow against the target. Mock-AS by default; real-tenant when --oauth-mode=real.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

runToolSchemaValidationValidate that every advertised tool has a well-formed JSON-Schema inputSchema. Optionally diff against an expected manifest.

Validate that every advertised tool has a well-formed JSON-Schema inputSchema. Optionally diff against an expected manifest.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

runCapabilityIntrospectionCompare the capabilities the target advertises in initialize against what tools/list, resources/list, prompts/list actually return.

Compare the capabilities the target advertises in initialize against what tools/list, resources/list, prompts/list actually return.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

runRoundtripSmokePerform one tools/call per advertised tool. Fails on JSON-RPC transport errors, warns on tool-level isError=true.

Perform one tools/call per advertised tool. Fails on JSON-RPC transport errors, warns on tool-level isError=true.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

runAnnotationsAuditApply the heuristic annotation rules (destructive name regex, readOnlyHint conflicts) to every advertised tool.

Apply the heuristic annotation rules (destructive name regex, readOnlyHint conflicts) to every advertised tool.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

runFullSuiteRun all (or selected) suites and produce a FullReport with summary + per-suite + per-check status.

Run all (or selected) suites and produce a FullReport with summary + per-suite + per-check status.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

generateReportRender a FullReport as JUnit XML, JSON, or human-readable terminal output.

Render a FullReport as JUnit XML, JSON, or human-readable terminal output.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

compareManifestsDiff two tool manifests — added/removed/changed tools.

Diff two tool manifests — added/removed/changed tools.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

assertNoBreakingChangesCompare a baseline FullReport against a current FullReport. Returns a list of breaking changes and warnings.

Compare a baseline FullReport against a current FullReport. Returns a list of breaking changes and warnings.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

12 von 12 Tools haben eine Beschreibung veröffentlicht.

Tool-Namen und -Beschreibungen stammen vom Publisher und werden wortgetreu als inerter Text angezeigt. Es sind die Zeichenketten, die ein MCP-Client an ein Modell übergibt, deshalb prüft Forge sie auf Prompt-Injection-Muster — jeder Befund erscheint oben beim Sicherheits-Scan. „Privilegiert“ ist ein Schlagwort-Treffer im Tool-Namen, keine Prüfung dessen, was das Tool tut: ein harmlos klingender Name kann trotzdem alles tun.

Über

Conformance test harness for Model Context Protocol servers. Validates JSON-RPC 2.0, spec-version handshake, transport, OAuth 2.1 PKCE, tool schemas, capabilities, smoke roundtrip, and annotations against MCP spec 2024-11-05 / 2025-03-26 / 2025-06-18 / 20

Schlagwörter
mcpmodel-context-protocolconformancevalidatortest-harnessjson-rpcoauthpkce
Alternativen
Tool-Oberflächen werden verglichen…

Abhängigkeitsbaum

Was ein Forge-Scan am 2026-08-30 aus den npm-Metadaten aufgelöst hat — beobachtete Auflösung, keine Angabe des Herausgebers.

60 Pakete aufgelöst · 6 direkt · keines mit Sicherheitshinweisen Die Auflösung endet bei Tiefe 4 und 60 Paketen.

Der Durchlauf endete an der Grenze von 60 Paketen. Der Rest des Baums wurde nie aufgelöst.

36 weitere aufgelöste Pakete werden hier nicht gezeichnet (Anzeigegrenze: 24). Jede Abhängigkeit mit einem Sicherheitshinweis wird unabhängig von der Grenze gezeichnet. Vollständiges Inventar (CycloneDX-SBOM)

Deklariert, aber nicht aufgelöst

56 deklarierte Abhängigkeiten sind nie im Baum gelandet. Sie fehlen in Forges Auflösung, nicht im Paket.

+44 weitere nicht aufgeführt. Die Zählungen nach Grund oben erfassen sie alle.

Nicht verfolgt: peerDependencies. Dieser Baum erfasst nur Laufzeitabhängigkeiten; was jene mitbringen, wurde nie aufgelöst.

Themen

Verwandtes in testing & ci