Feature request: make MCP apps work end-to-end in the Codex GUI
Open 💬 2 comments Opened Jun 18, 2026 by vozer
Problem
MCP apps do not work end-to-end in the Codex GUI.
A completed MCP tool call can expose mcpAppResourceUri, but the completed item does not include the hydrated resource contents the GUI needs to render the app inline. As a result, the UI has the URI but still has to do extra orchestration to display the MCP app.
Prototype
I implemented a clean prototype in my fork here:
- commit: https://github.com/vozer/codex/commit/03b480d5abf89fa954b97941d57540b6976123cf
- compare: https://github.com/openai/codex/compare/main...vozer:fix/21019-mcp-apps-clean?expand=1
What the prototype changes
- adds optional
mcpAppResourceContentsto completed MCP tool-call items - hydrates the MCP app resource server-side after a successful tool call
- gates hydration behind
features.enable_mcp_apps - keeps
mcpServer/resource/readavailable as the fallback/manual path - keeps hydration failures non-fatal so a successful tool call does not become a failed one
Why this is the right direction
This keeps the protocol change additive, preserves the existing manual resource-read API, and gives the GUI the payload it actually needs to render MCP apps inline from completed tool calls.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗