mcp-protocol-conformance

MCPcommunauté
v0.2.1Matthias MeyerMITMis à jour il y a 14 jnpmGitHub

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

Fonctionne dans
ClaudeCursorCopilotGemini

Déduit des transports déclarés par cette annonce (stdio). Un client absent de cette liste n’est pas écarté pour autant — c’est simplement quelque chose que Forge ne peut pas confirmer.

Indexé automatiquement depuis des sources publiques. Pas encore vérifié par son développeur sur Forge.Revendiquer cette annonce →
67Téléch./sem.
il y a 14 jDernière mise à jour
Paquet
AuteurMatthias Meyer
LicenceMIT
Version0.2.1
Sourcenpm+mcp-registry
Statut de confiance
B
60/100Bon
Listé dans l’index Forge+10/10
Identité de l’éditeur vérifiée+0/20
Éditeur : exécutez `forge publish` depuis le dépôt du paquet pour revendiquer la propriété
Signature de publication Ed25519+0/5
Incluse automatiquement quand l’éditeur exécute `forge publish`
Vérification de domaine+0/5
Éditeur : hébergez /.well-known/forge.json sur la page d’accueil du paquet avec { "publisher": "<github-login>" }
npm Trusted Publishing (Sigstore)+0/5
Publiez depuis GitHub Actions avec --provenance pour que l’attestation lie ce paquet à ce dépôt
Correspondance de mainteneur npm+0/5
Acquis dès que votre identité est vérifiée ci-dessus et que ce login est mainteneur npm de ce paquet
Analyse CVE · propre+30/30
Analyse statique · propre+20/20
Collez-le dans Claude Code, Cursor ou tout assistant d’IA pour combler toutes les lacunes
StatutIndexé par la communauté
ÉditeurNon vérifié
SignatureNon signé
Domaine
Provenance
Dépendances✓ 60 résolues+ · aucune vulnérable
Surface d’outils12 outils · aucun privilégié
Analyse de sécurité✓ Proprev0.2.1 · il y a 3 jQuelle est l’efficacité de cette analyse ?
ÉvaluationsAucune
Indexé20 août 2026

La vérification confirme l’identité de l’éditeur (la propriété du dépôt), pas la sûreté du code. L’analyse de sécurité couvre les CVE connues et les scripts d’installation suspects.

Outils

12 outils · aucun privilégié
Extrait statiquement du paquet publiév0.2.1 · 3d ago

Lu dans le code que npm livre réellement, au moment de l’analyse. Le paquet n’a jamais été exécuté. Les outils enregistrés dynamiquement à l’exécution, ou cachés dans du code empaqueté ou minifié, peuvent passer inaperçus — c’est donc un plancher de la surface d’outils, pas un recensement complet.

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.

Aucun schéma d’entrée n’a été publié pour cet outil.

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.

Aucun schéma d’entrée n’a été publié pour cet outil.

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

Aucun schéma d’entrée n’a été publié pour cet outil.

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.

Aucun schéma d’entrée n’a été publié pour cet outil.

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.

Aucun schéma d’entrée n’a été publié pour cet outil.

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.

Aucun schéma d’entrée n’a été publié pour cet outil.

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.

Aucun schéma d’entrée n’a été publié pour cet outil.

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.

Aucun schéma d’entrée n’a été publié pour cet outil.

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.

Aucun schéma d’entrée n’a été publié pour cet outil.

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

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

Aucun schéma d’entrée n’a été publié pour cet outil.

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

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

Aucun schéma d’entrée n’a été publié pour cet outil.

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.

Aucun schéma d’entrée n’a été publié pour cet outil.

12 outils sur 12 ont publié une description.

Les noms et descriptions d’outils sont écrits par l’éditeur et affichés tels quels, comme du texte inerte. Ce sont les chaînes qu’un client MCP transmet à un modèle, alors Forge y recherche des motifs d’injection de prompt — tout constat apparaît avec l’analyse de sécurité ci-dessus. « Privilégié » est une correspondance de mot-clé sur le nom de l’outil, pas un audit de ce qu’il fait : un nom anodin peut tout de même tout faire.

À propos

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

Mots-clés
mcpmodel-context-protocolconformancevalidatortest-harnessjson-rpcoauthpkce
Alternatives
Comparaison des surfaces d’outils…

Arbre de dépendances

Ce qu'une analyse Forge a résolu à partir des métadonnées npm le 2026-08-30 — résolution observée, et non une déclaration de l'éditeur.

60 paquets résolus · 6 directs · aucun porteur d'avis de sécurité La résolution s'arrête à la profondeur 4 et à 60 paquets.

L'exploration s'est arrêtée à la limite de 60 paquets. Le reste de l'arbre n'a jamais été résolu.

36 autres paquets résolus ne sont pas dessinés ici (limite d'affichage : 24). Toute dépendance porteuse d'un avis de sécurité est dessinée quelle que soit la limite. Inventaire complet (SBOM CycloneDX)

Déclarées mais non résolues

56 dépendances déclarées ne sont jamais arrivées dans l'arbre. Elles manquent à la résolution de Forge, pas au paquet.

+44 de plus non listées. Les comptes par motif ci-dessus les couvrent toutes.

Non suivies : peerDependencies. Cet arbre ne couvre que les dépendances d'exécution ; ce qu'elles entraînent n'a jamais été résolu.

Thèmes

Apparentés dans testing & ci