Skip to content

docs: proposal for new MCP Release candidate ( 28-07-2026 ) - #2431

Open
Hritik003 wants to merge 1 commit into
envoyproxy:mainfrom
Hritik003:add-proposal-for-new-mcp-spec
Open

docs: proposal for new MCP Release candidate ( 28-07-2026 )#2431
Hritik003 wants to merge 1 commit into
envoyproxy:mainfrom
Hritik003:add-proposal-for-new-mcp-spec

Conversation

@Hritik003

@Hritik003 Hritik003 commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Description

What's changing in the spec:

  • Sessions (Mcp-Session-Id) and initialize/ping/logging/setLevel are removed.
  • Every request now carries protocol version, client info, and capabilities in _meta fields.
  • server/discover replaces initialize for capability discovery; subscriptions/listen replaces the GET SSE stream.
  • Multi Round-Trip Requests (MRTR) with InputRequiredResult replace server-to-client requests (sampling/elicitation/roots).
  • New required headers: Mcp-Method, Mcp-Name, MCP-Protocol-Version.

Approach:

  • The gateway becomes dual-era: it detects whether each client/backend speaks legacy or modern protocol and handles both.
  • For the modern↔modern path, routing no longer needs sessions — the route comes from the x-ai-eg-mcp-route header (already on every request), the target backend from Mcp-Name/name-prefix encoding (already exists), and per-backend capabilities from a lazy server/discover cache.
  • A 2×2 compatibility matrix (legacy/modern × client/backend) is defined for all four cells.

Immediate scope (Phase 0 + Phase 1):

  • Phase 0: Foundation types, constants, era detection, error codes — zero behavior change.
  • Phase 1: Full modern↔modern stateless path (Cell 2) while legacy↔legacy (Cell 1) remains completely unchanged. Covers server/discover, stateless routing, _meta/header injection, MRTR passthrough, subscriptions/listen, and rejection of removed methods.

Deferred (Phases 2–4):

  • Phase 2: Cross-era translation (modern client ↔ legacy backend and vice versa) — deferred until mixed-era deployments become common.
  • Phase 3: Proxy-level result caching, deterministic ordering, minor spec items.
  • Phase 4: Auth hardening, deprecation annotations, docs/examples.

Closes: #2323

@Hritik003
Hritik003 requested a review from a team as a code owner July 27, 2026 15:26
@dosubot dosubot Bot added the size:XL This PR changes 500-999 lines, ignoring generated files. label Jul 27, 2026
@Hritik003
Hritik003 force-pushed the add-proposal-for-new-mcp-spec branch from 92c55c5 to 57509ee Compare July 27, 2026 15:54
Signed-off-by: Hritik003 <hritik.raj@nutanix.com>
@Hritik003
Hritik003 force-pushed the add-proposal-for-new-mcp-spec branch from 57509ee to af9ed88 Compare July 27, 2026 16:27
@Hritik003 Hritik003 changed the title feat: proposal for new MCP Release candidate ( 28-07-2026 ) docs: proposal for new MCP Release candidate ( 28-07-2026 ) Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: mcp spec Release Candidate (2025-07-28)

1 participant