mirror of
https://github.com/openai/codex.git
synced 2026-10-28 18:58:46 +00:00
Add opt-in protocol discovery for local stdio MCP servers (#57210)
## Why Stdio servers without `CODEX_MCP_PROTOCOL_VERSION` use the legacy handshake, even when they support MCP `2026-07-28`. ## What changed - Add the disabled-by-default `mcp_connection_sharing` feature to enable discovery for eligible local stdio servers. - Recover from failed or late discovery with a fresh handshake when needed, waiting for the previous helper to release resources before restarting. - Retain a working legacy connection when an upgrade attempt fails for the same account, except on authentication errors. - Keep tool catalogs separate by protocol and invalidate legacy catalogs when discovery negotiates the modern protocol. ## Testing Add regression coverage for failed and late discovery, legacy fallback, protocol-specific catalog reuse, message limits, and Windows descendant cleanup. GitOrigin-RevId: 36c675ef3b81d32fccf06ccbddda2312cfe602c9
This commit is contained in:
@@ -269,6 +269,8 @@ pub enum Feature {
|
||||
Mcp20260728,
|
||||
/// Honor ordinary MCP server tool-list notifications within a turn.
|
||||
McpToolListChanged,
|
||||
/// Discover the MCP protocol for eligible local stdio servers.
|
||||
McpConnectionSharing,
|
||||
/// Enable MCP protocol version 2026-07-28 for the host-owned Codex Apps server.
|
||||
CodexAppsMcp20260728,
|
||||
/// Let RMCP coordinate OAuth refresh through the configured credential store.
|
||||
@@ -1634,6 +1636,12 @@ pub const FEATURES: &[FeatureSpec] = &[
|
||||
stage: Stage::UnderDevelopment,
|
||||
default_enabled: false,
|
||||
},
|
||||
FeatureSpec {
|
||||
id: Feature::McpConnectionSharing,
|
||||
key: "mcp_connection_sharing",
|
||||
stage: Stage::UnderDevelopment,
|
||||
default_enabled: false,
|
||||
},
|
||||
FeatureSpec {
|
||||
id: Feature::CodexAppsMcp20260728,
|
||||
key: "codex_apps_mcp_2026_07_28",
|
||||
|
||||
Reference in New Issue
Block a user