You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Native SSE transport support for MCP servers #2129
Currently, Codex only supports MCP servers that communicate over stdio. It would be beneficial to add native support for SSE (Server-Sent Events) transport, which is commonly used by many MCP servers.
Current Situation
Codex can only connect to MCP servers using stdio transport
This adds complexity and an additional dependency to the setup
Proposed Solution
Add native SSE transport support to the MCP client implementation in Codex, allowing direct connection to SSE-based MCP servers without requiring an adapter.
Benefits
Simplified Setup: Users can directly connect to SSE-based MCP servers without additional adapters
Better Performance: Removes the overhead of protocol translation through adapters
Broader Compatibility: Many MCP servers use SSE transport, and native support would improve Codex's ecosystem compatibility
Consistent with Other MCP Clients: Tools like Claude Desktop and Cursor support both stdio and SSE transports
Implementation Considerations
The SSE transport implementation could be added alongside the existing stdio transport in the mcp-client module
Configuration format in config.toml could be extended to specify transport type:
[mcp_servers.server-name]
transport = "sse" # or "stdio" (default)
url = "http://localhost:3000/sse"
# ... other SSE-specific config
Related Context
MCP specification includes both stdio and SSE as standard transports
Current workaround using mcp-proxy adds complexity for users
No existing issues or PRs found addressing SSE transport support
Would this feature be considered for future development? Happy to provide more details or help with implementation if needed.
Reacted by isbasex, jtele2, Fábio Vedovelli, mrymam, Jonathan, David Torbeck, Carlos Vieira, Dmitriy Brolnickij, Muhammad Arslan, Yasuhiro Yamada and 4 more
In the implementation considerations... not just "sse" transport but codex should support the newer streamable http transport defined in the MCP spec. Ideally codex cli would have transport parameter support of "http", "sse", and "stdio" (default)
Reacted by Micha(el) Bladowski, Jonathan, rodalpho, David Torbeck, Carlos Vieira, Dmitriy Brolnickij, Muhammad Arslan, Ishan Ahuja, nbs-jodi, KOICHI NISHIZUKA and 1 more
In the alpha releases a new experimental MCP client has been added which supports streamable http. So it looks like this is coming from the OpenAI Devs.
Reacted by Rohan Chandiramani (eksrow), rodalpho, Yifan Goh, Yasuhiro Yamada, Michael Coughlin, Oliver Myatt and Otje89
[mcp_servers.linear]
url = "https://mcp.linear.app/sse"bearer_token = "<linear api token>"
■ MCP client for `linear` failed to start: handshaking with MCP server failed: Send message error Transport
[rmcp::transport::worker::WorkerTransport<rmcp::transport::streamable_http_client::StreamableHttpClientWorker<reqwest::async_impl::client::Client>>] error: Auth required, when send initialize request
Reacted by bigbirdbrother, Michael Jupp and Osama Mohammad Hayyan | أسامة محمد حيان
■ MCP client for `linear` failed to start: handshaking with MCP server failed: Send message error Transport
[rmcp::transport::worker::WorkerTransport<rmcp::transport::streamable_http_client::StreamableHttpClientWorker<reqwest::async_impl::client::Client>>] error: Auth required, when
send initialize request
■ MCP client for `linear` failed to start: handshaking with MCP server failed: Send message error Transport
[rmcp::transport::worker::WorkerTransport<rmcp::transport::streamable_http_client::StreamableHttpClientWorker<reqwest::async_impl::client::Client>>] error: Auth required, when send initialize request
■ MCP client for `figma` failed to start: handshaking with MCP server failed: Send message error Transport
[rmcp::transport::worker::WorkerTransport<rmcp::transport::streamable_http_client::StreamableHttpClientWorker<reqwest::async_impl::client::Client>>] error:
Client error: HTTP status server error (503 Service Unavailable) for url (http://127.0.0.1:3845/mcp), when send initialize request
This post is tracking feature request for SSE so i would assume they are using that because they need to. For me the MCP connection I use the most is SSE only and therefore I am still unable to fully move to Codex
changed the title [-]Feature Request: Native SSE transport support for MCP servers[/-][+]Native SSE transport support for MCP servers[/+]on Nov 12, 2025
The MCP project has moved away from the legacy SSE transport and now recommends using Streamable HTTP or stdio as the supported transports. Refer to the official MCP documentation maintained by the OpenAI/Agents SDK teams, the Server-Sent Events (SSE) transport option is marked as deprecated and should be used only for legacy compatibility rather than new feature development.
Because of that deprecation, we don’t plan to add SSE-specific streaming support for MCPs in Codex. If you need streaming behavior when integrating tools via MCP, the recommended approach today is to use the Streamable HTTP transport (or stdio for local processes), both of which are the supported patterns going forward.
Reacted by Konstantin and CX330
Reacted by Maxim, YD-233, Orchitiadi Ismaulana Putra and YuNing Chen
Activity
rodalpho commentedon Sep 3, 2025
For what it’s worth this feature is a dealbreaker for me, personally.
Confucian-e commentedon Sep 9, 2025
When support?
ben-vargas commentedon Sep 16, 2025
In the implementation considerations... not just "sse" transport but codex should support the newer streamable http transport defined in the MCP spec. Ideally codex cli would have transport parameter support of
"http", "sse", and "stdio" (default)ysankpia commentedon Sep 26, 2025
Is this feature not yet officially released?
rodalpho commentedon Sep 27, 2025
Right, it still needs approval. Pity, as I refuse to use stdio MCP servers due to security concerns.
Otje89 commentedon Sep 29, 2025
Major blocker for me too.
ben-vargas commentedon Sep 29, 2025
In the alpha releases a new experimental MCP client has been added which supports streamable http. So it looks like this is coming from the OpenAI Devs.
gu-benites commentedon Oct 5, 2025
They finally added
[mcp_servers.]
url = ""
bearer_token = ""
Version 0.44.0
#4317
jakeleventhal commentedon Oct 5, 2025
@gu-benites i dont think that is working:
ben-vargas commentedon Oct 5, 2025
@jakeleventhal Did you try streamable http rather than sse? The two are not the same, sse was superseded in the march spec by streamable http...
https://mcp.linear.app/mcphttps://linear.app/docs/mcp
jakeleventhal commentedon Oct 6, 2025
@ben-vargas
It also doesn't seem to have any documentation: https://github.com/openai/codex/blob/main/docs/advanced.md#model-context-protocol-mcp
galoi commentedon Oct 16, 2025
Has this issue still not been resolved in the latest version, 0.46.0?
2 remaining items
terrence-kira commentedon Oct 20, 2025
⬆️ This configuration works fine for me, but I’m experiencing another issue similar to yours.
I can not connect to the Figma local mcp server.
glennr commentedon Oct 21, 2025
Per these docs , s/bearer_token/bearer_token_env_var/g
This linear streamable HTTP MCP setup worked for me (codex-cli 0.47.0):
ben-vargas commentedon Oct 21, 2025
Streamable http confirmed working for me too, currently running 0.47.0 with config.toml as @glennr calls out from the docs.
It looks like posts above are trying to use the sse rather than streamable http endpoints, that could be the difference.
Note
https://mcp.linear.app/ssevshttps://mcp.linear.app/mcphi-fox commentedon Oct 30, 2025
This post is tracking feature request for SSE so i would assume they are using that because they need to. For me the MCP connection I use the most is SSE only and therefore I am still unable to fully move to Codex
rodalpho commentedon Oct 30, 2025
I have no doubt some users require SSE only, and I can only speak for myself, but my use-case is satisfied with streamable http.
[-]Feature Request: Native SSE transport support for MCP servers[/-][+]Native SSE transport support for MCP servers[/+]henrypost commentedon Nov 17, 2025
I'm working with a vendor that seems to have a broken stdio integration, so supporting SSE would really help me use Codex with our vendor.
loicngr commentedon Dec 4, 2025
Hi !
This works for me:
henrypost commentedon Dec 4, 2025
Hi all! I actually got stdio working. Here's my working config:
samodadela commentedon Jan 27, 2026
Any new update o this?
henrypost commentedon Jan 27, 2026
were you able to try using stdio instead of sse? perhaps that might be a better route. best of luck!
etraut-openai commentedon Jan 30, 2026
The MCP project has moved away from the legacy SSE transport and now recommends using Streamable HTTP or stdio as the supported transports. Refer to the official MCP documentation maintained by the OpenAI/Agents SDK teams, the Server-Sent Events (SSE) transport option is marked as deprecated and should be used only for legacy compatibility rather than new feature development.
Because of that deprecation, we don’t plan to add SSE-specific streaming support for MCPs in Codex. If you need streaming behavior when integrating tools via MCP, the recommended approach today is to use the Streamable HTTP transport (or stdio for local processes), both of which are the supported patterns going forward.
[phase 3] codex baseline + per-session mcp config
feat(providers): add Codex support via @openai/codex-sdk (#321)