Skip to content

feat(core): support 2026 Stateless MCP, array-based auto-negotiation, and HTTP transport routing - #412

Merged
anubhav756 merged 6 commits into
mainfrom
mcp-v202606
Jul 23, 2026
Merged

feat(core): support 2026 Stateless MCP, array-based auto-negotiation, and HTTP transport routing#412
anubhav756 merged 6 commits into
mainfrom
mcp-v202606

Conversation

@anubhav756

@anubhav756 anubhav756 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Overview

This base branch PR consolidates the 2026 MCP protocol spec upgrades and auto-negotiation feature set into main. It introduces full support for stateless MCP (SEP-2575), HTTP Transport Routing Headers (SEP-2243), Array-Based Protocol Auto-Negotiation with cascading multi-step fallback, and updates the test harness for dual-server E2E testing.

Merging this combined branch enables seamless backward compatibility between modern client SDKs and legacy stateful (pre-2026) or new stateless (v1.6.0+) servers without lock-step release requirements.

Changes

This base PR aggregates 5 feature branch PRs:

  1. #393 — Stateless MCP & Reference Support (SEP-2575)

    • Implemented v20260618 protocol transport for stateless communication.
    • Added header-based protocol declaration (DRAFT-2026-v1) and support for JSON schema $ref resolution and error utilities.
  2. #395 — HTTP Transport Routing Headers (SEP-2243)

    • Implemented standard routing headers for HTTP transport in v20260618 protocol to ensure proper routing across network proxies and middleware.
  3. #394 — Protocol Definitions & Lavel Alignment

    • Updated protocol definitions to map MCP_DRAFT to active draft specifications.
    • Established fallback triggers for unsupported protocol error codes (-32004).
  4. #402 — Array-Based Protocol Auto-Negotiation & Multi-Step Fallback

    • Added support for passing an array of allowed protocol versions (Protocol[]) to ToolboxClient.
    • Implemented multi-step/cascading fallback handling in ToolboxClient.#executeWithFallback to prevent application crashes during sequential version downgrades.
    • Standardized stateful transport handshake mismatches to throw ProtocolNegotiationError for automatic client-side renegotiation.
  5. #413 — Dual-Server Integration & E2E Test Suite

    • Upgraded Jest global setup and teardown test harness to launch both stateful and stateless MCP servers simultaneously.
    • Verified protocol fallback behavior and tool execution against dual-server environments.

Note

This PR is analogous to Python SDK's googleapis/mcp-toolbox-sdk-python#699.

@anubhav756 anubhav756 self-assigned this Jul 17, 2026
@anubhav756
anubhav756 marked this pull request as ready for review July 22, 2026 06:30
@anubhav756
anubhav756 requested a review from a team as a code owner July 22, 2026 06:30
@anubhav756 anubhav756 changed the title feat: Base PR for July spec updates feat(core): support 2026 Stateless MCP, array-based auto-negotiation, and HTTP transport routing Jul 22, 2026
@anubhav756
anubhav756 merged commit fd2ba6e into main Jul 23, 2026
18 checks passed
@anubhav756
anubhav756 deleted the mcp-v202606 branch July 23, 2026 07:04
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.

4 participants