Skip to content

feat(mcp): resolve and negotiate the dual-era protocol selection - #4086

Merged
ignaciojimenezr merged 1 commit into
codex/chatgpt-client-datafrom
codex/chatgpt-protocol-runtime
Aug 18, 2026
Merged

feat(mcp): resolve and negotiate the dual-era protocol selection#4086
ignaciojimenezr merged 1 commit into
codex/chatgpt-client-datafrom
codex/chatgpt-protocol-runtime

Conversation

@ignaciojimenezr

@ignaciojimenezr ignaciojimenezr commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Stacked on #4085 — merge that first. Replaces #3828, which mixed data and behavior; this is the behavior half.

🤖 Generated with Claude Code


Summary by cubic

Implements automatic MCP protocol negotiation across the 2025/2026 eras and treats "auto" as a stored selection policy. Automatic now negotiates the era on connect (no wire pin) and respects the client’s advertised support list, which can change reconnect behavior.

  • Host defaults may now be "auto". At connect time the SDK reduces "auto" to no pin and negotiates via discovery; explicit server pins still win. The connection profile never emits "auto" on the wire.
  • The manager honors supportedProtocolVersions in Automatic mode (per-server or manager default). It negotiates only within that list and rejects servers that counter-offer an unlisted version. Explicit pins remain strict.
  • The protocol dropdown adds an Automatic option. Selecting it persists "auto"; legacy rows with no pin render as Automatic without rewriting. The dropdown only offers advertised versions and warns on any unadvertised pin.

Review and rollout

  • Config shape: mcpProfile.mcpProtocolVersion can be "auto" in stored configs and Host JSON; connection profiles still carry undefined for the wire pin.
  • If you set supportedProtocolVersions (per server or manager default), include all eras you want to negotiate; Automatic will fail when the server selects a version outside that list. No data migration is required.

Written for commit 008b419. Summary will update on new commits.

Review in cubic

Act on the `auto` selection published as client data: resolve it to "no pin"
at connect time, keep it out of the connection profile's wire pin, and let
the client manager negotiate the era instead of advertising one. The protocol
dropdown gains the matching Automatic option.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@dosubot dosubot Bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Aug 18, 2026
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@dosubot dosubot Bot added the enhancement New feature or request label Aug 18, 2026
@chelojimenez

Copy link
Copy Markdown
Contributor

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@github-actions

Copy link
Copy Markdown
Contributor

Internal preview

Preview URL: https://mcp-inspector-pr-4086.up.railway.app
Deployed commit: eb8c7bb
PR head commit: 008b419
Backend target: staging fallback.
Health: ✅ Convex reachable
Access is employee-only in non-production environments.

@ignaciojimenezr
ignaciojimenezr merged commit 008b419 into codex/chatgpt-client-data Aug 18, 2026
10 checks passed
@ignaciojimenezr
ignaciojimenezr deleted the codex/chatgpt-protocol-runtime branch August 18, 2026 18:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants