267b465109
#1292 declared Codex stdio-only. Tested against Codex CLI 0.47.0 with an isolated CODEX_HOME, that is wrong: a bare [mcp_servers.unityMCP] url = "http://127.0.0.1:8123/mcp" reports `transport: streamable_http` from `codex mcp get`, and Codex completes a full MCP handshake against a live mcp-for-unity HTTP server - initialize 200, notifications/initialized 202, SSE GET 200, tools/list 200 - with no feature flag set at all. Adding [features] rmcp_client, the deprecated root-level experimental_use_rmcp_client, both, or a deliberately bogus feature key all give byte-identical results; unknown feature keys are silently ignored. So #1292 removed a capability Codex has, for every Codex user. Drop SupportsHttpTransport = false (the McpClient default is already true) and delete the SupportedTransports override, since the base default is already { Stdio, Http }. Delete the GetManualSnippet stdio coercion too. It was added by #1292 to stop a stdio-only client rendering a url block, and CodexConfigurator is the only subclass of CodexMcpConfigurator, so once Codex is HTTP-capable that branch is unreachable. Leave [features] rmcp_client = true alone: it is the current key name (the root experimental_use_rmcp_client form is deprecated per openai/codex#6995), it is harmless, and it enables the RMCP client that OAuth needs. Deliberately not adding the deprecated key - it does nothing on current Codex and would just linger in users' configs. Tests now assert both transports and cover the snippet in both directions. Caveat for review: this was verified against the Codex CLI. #1193 was reported against Codex Desktop on Windows 11, which is untested here. #1292's remedy was too broad, which does not mean the reporter was wrong - ask for their version and CLI-vs-Desktop before closing #1193. If Desktop genuinely cannot do HTTP, that belongs in Desktop-specific handling, not a blanket capability removal.