Skip to content

feat(proxy): support MCP 2026 streamable HTTP - #82

Open
P4ST4S wants to merge 1 commit into
feat/mcp-inspectionfrom
feat/mcp-2026-streamable-http
Open

feat(proxy): support MCP 2026 streamable HTTP#82
P4ST4S wants to merge 1 commit into
feat/mcp-inspectionfrom
feat/mcp-2026-streamable-http

Conversation

@P4ST4S

@P4ST4S P4ST4S commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Summary

Intègre l’inspection MCP 2026 au proxy HTTP et complète le forwarding Streamable HTTP pour les requêtes JSON, les connexions GET/SSE, les réponses 202 et les en-têtes de session.

Context

Closes #4

Cette PR est empilée sur #81, qui introduit les primitives d’inspection sans modifier le transport.

Approach

  • valide Mcp-Method, Mcp-Name et Mcp-Protocol-Version contre le corps JSON-RPC avant forwarding ;
  • répond HTTP 400 avec le code JSON-RPC standard -32600 lors d’une divergence ;
  • préserve intégralement le corps, les métadonnées de cache, requestState et les en-têtes de session ;
  • accepte les GET Streamable HTTP portant uniquement la révision de protocole ;
  • transmet les événements SSE et les réponses sans contenu sans transformation ;
  • conserve le principe de non-perte : un trafic legacy sans métadonnées MCP reste transmis même s’il n’est pas inspectable.

Test plan

  • go test -race ./... — passe
  • go build ./... — passe
  • go vet ./... — passe
  • POST MCP 2026 et métadonnées multi-tours préservés byte-for-byte — passe
  • GET Streamable HTTP, réponse 202 et session headers — passent
  • streaming SSE inchangé — passe
  • mismatches méthode, nom, révision et headers dupliqués rejetés sans appel upstream — passent
  • trafic legacy non inspectable transmis — passe

Stability impact

Ajoute un comportement de validation uniquement lorsqu’un client fournit les en-têtes MCP de gateway. Les mismatches retournent HTTP 400 et -32600. Les requêtes legacy sans ces en-têtes conservent leur comportement.

Notes for reviewer

Le proxy reste transparent et ne réimplémente ni serveur MCP ni logique applicative MRTR.

@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 94.73684% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
internal/mcp/metadata.go 81.81% 1 Missing and 1 partial ⚠️

📢 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