Skip to content

feat(mcp): add request inspection primitives - #81

Open
P4ST4S wants to merge 1 commit into
mainfrom
feat/mcp-inspection
Open

feat(mcp): add request inspection primitives#81
P4ST4S wants to merge 1 commit into
mainfrom
feat/mcp-inspection

Conversation

@P4ST4S

@P4ST4S P4ST4S commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Summary

Ajoute un package MCP central pour inspecter les requêtes JSON-RPC sans les modifier : classification des opérations, extraction méthode/nom/identifiant, détection de révision et validation de cohérence des en-têtes MCP.

Context

Socle indépendant de la prise en charge MCP 2026-07-28 prévue par #4.

Approach

  • reconnaît les familles tools, resources, prompts, completion, logging, discovery, tasks et extensions ;
  • accepte les requêtes JSON-RPC simples et décode les batches avec une cardinalité bornée ;
  • détecte les révisions 2025-11-25 et 2026-07-28 depuis les en-têtes, initialize, les métadonnées self-contained ou server/discover ;
  • compare Mcp-Method, Mcp-Name et Mcp-Protocol-Version au corps ;
  • rejette les en-têtes dupliqués, les révisions inconnues et les divergences ;
  • ne transforme jamais le payload inspecté.

Test plan

  • go test -race ./... — passe
  • go build ./... — passe
  • go vet ./... — passe
  • tests dédiés des familles, révisions, mismatches, batches invalides ou surdimensionnés et préservation byte-for-byte — passent

Stability impact

Aucun. Cette PR ajoute uniquement des primitives internes ; l’intégration au transport et les nouvelles erreurs réseau arrivent dans la PR suivante.

Notes for reviewer

Le package comprend uniquement la compréhension nécessaire à un gateway transparent. Il n’implémente pas un serveur MCP ni la sémantique applicative des échanges multi-tours.

@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 85.22727% with 26 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
internal/mcp/message.go 82.60% 4 Missing and 4 partials ⚠️
internal/mcp/headers.go 71.42% 3 Missing and 3 partials ⚠️
internal/mcp/metadata.go 92.00% 3 Missing and 3 partials ⚠️
internal/mcp/revision.go 82.35% 3 Missing and 3 partials ⚠️

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants