Skip to content

Support MCP spec 2026-07-28 across client and servers - #1614

Closed
RhysSullivan wants to merge 8 commits into
mainfrom
mcp-server-v2-cloud
Closed

Support MCP spec 2026-07-28 across client and servers#1614
RhysSullivan wants to merge 8 commits into
mainfrom
mcp-server-v2-cloud

Conversation

@RhysSullivan

Copy link
Copy Markdown
Collaborator

Executor speaks MCP spec 2026-07-28 in both directions. Legacy clients are untouched on their existing code paths — this PR is purely additive routing (part 1 of 2; the follow-up consolidates legacy serving onto SDK v2 and deletes the agents patch).

  • Outbound client (packages/plugins/mcp): SDK v2; streamable-HTTP connections auto-negotiate the era (server/discover probe, legacy fallback); typed v2 error classification; shape probe handles modern-only servers. Fixes the reported failure where executor sent 2025-11-25 to a modern-only server and was rejected.
  • Tool server (packages/hosts/mcp): SDK-agnostic core with two thin assemblies — v1 byte-identical for existing paths, new v2 assembly for stateless modern serving. Native elicitation = input_required + HMAC-signed requestState (principal+method bound, TTL'd) over the existing pause/resume engine. MCP Apps helpers vendored wire-identical pending upstream ext-apps v2 ([codex] Put typed base URL first in combobox #702).
  • Neutral hosts (selfhost, local): era-routed after auth; modern → cached stateless handlers; legacy → existing sessionful store unchanged. CORS preflights echo requested headers for dynamic Mcp-Param-<name>.
  • Cloudflare hosts: modern reads worker-side (no DO); modern tools/call routes into DOs for execution affinity via the executionId-keyed owner directory; legacy stays on the untouched McpAgent path. Same cross-bearer 403 contract as legacy.

Evidence: full e2e suites green (legacy non-regression); modern support proven live with a 2026-07-28-pinned client (discover → tools/list → execute); the pre-migration client reproduces the reported error byte-for-byte against a legacy: "reject" server while this client connects.

Deployment prerequisite (before merge): both workers need the shared continuation-signing secret (≥32 bytes), visible to worker + session DOs:

wrangler secret put MCP_REQUEST_STATE_KEY

Follow-up PR: #1611 (consolidation — deletes the 911-line agents patch, McpAgent, and the v1 assembly).

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
executor-marketing 3220892 Commit Preview URL

Branch Preview URL
Aug 16 2026, 12:35 PM

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
executor-cloud 3220892 Aug 16 2026, 12:36 PM

@github-actions

github-actions Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Cloudflare preview

Torn down — the PR is closed.

@pkg-pr-new

pkg-pr-new Bot commented Aug 16, 2026

Copy link
Copy Markdown

Open in StackBlitz

@executor-js/cli

npm i https://pkg.pr.new/@executor-js/cli@1614

@executor-js/config

npm i https://pkg.pr.new/@executor-js/config@1614

@executor-js/execution

npm i https://pkg.pr.new/@executor-js/execution@1614

@executor-js/sdk

npm i https://pkg.pr.new/@executor-js/sdk@1614

@executor-js/codemode-core

npm i https://pkg.pr.new/@executor-js/codemode-core@1614

@executor-js/runtime-quickjs

npm i https://pkg.pr.new/@executor-js/runtime-quickjs@1614

@executor-js/plugin-file-secrets

npm i https://pkg.pr.new/@executor-js/plugin-file-secrets@1614

@executor-js/plugin-graphql

npm i https://pkg.pr.new/@executor-js/plugin-graphql@1614

@executor-js/plugin-keychain

npm i https://pkg.pr.new/@executor-js/plugin-keychain@1614

@executor-js/plugin-mcp

npm i https://pkg.pr.new/@executor-js/plugin-mcp@1614

@executor-js/plugin-onepassword

npm i https://pkg.pr.new/@executor-js/plugin-onepassword@1614

@executor-js/plugin-openapi

npm i https://pkg.pr.new/@executor-js/plugin-openapi@1614

executor

npm i https://pkg.pr.new/executor@1614

commit: 3220892

@RhysSullivan

Copy link
Copy Markdown
Collaborator Author

Re-split by protocol role per review preference: client = #1591, server = #1611.

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.

1 participant