Support OAuth for HTTP MCP servers from selected executor plugins - #28529
Conversation
💡 Codex ReviewThis binds the HTTP MCP to loopback, which the host This default branch is used when no This non-mechanical OAuth plumbing changes 1022 lines across rmcp-client plus app-server/core/CLI wiring, exceeding the repo review-size guidance and making regressions hard to isolate. Please split rmcp-client OAuth client/tests from integration wiring. guidance On macOS when the local CLI/status path has system proxy configuration, this default discovery client again builds reqwest without codex/codex-rs/codex-mcp/src/mcp/auth.rs Lines 258 to 260 in 81ae03d When a streamable HTTP server is already authenticated via codex/codex-rs/rmcp-client/src/oauth_http.rs Line 159 in 81ae03d When an MCP OAuth server supports authorization-code login but does not issue refresh tokens, this dynamic-registration request can be rejected because it advertises the ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
d322f3e to
1e501af
Compare
Why
#28522 routes selected-plugin HTTP MCP traffic through the owning executor, but OAuth bootstrap and refresh still used host-local clients. Executor-only servers therefore cannot complete discovery or login through the same network boundary as the MCP connection.
What changed
codex_exec_server::HttpClientto RMCP 1.8'sOAuthHttpClientcontractthreadIdtomcpServer/oauth/loginand echo it in the completion notificationDepends on #28522.