Penpot MCP calls hang in Codex App, while the same server works via direct MCP HTTP client
What version of the Codex App are you using (From “About Codex” dialog)?
Versión 26.325.31654 (1272)
What subscription do you have?
Plus
What platform is your computer?
Darwin 25.3.0 arm64 arm
What issue are you seeing?
When using the official Penpot MCP server from the official Penpot repository, MCP tool calls from the Codex App often hang indefinitely, even for the smallest possible call.
The setup appears to be correct:
- Penpot MCP is started from the official
penpot/mcpdirectory withpnpm run bootstrap - the plugin server is available on
http://localhost:4400 - the MCP server exposes:
http://localhost:4401/mcphttp://localhost:4401/sse- the Penpot plugin UI shows
Connected to MCP server
However, Codex App MCP calls to Penpot freeze or never return, including a minimal call equivalent to:
return { ok: true };
By contrast, the same Penpot MCP server works correctly when called through a direct Node client using @modelcontextprotocol/sdk against http://localhost:4401/mcp.
This suggests the problem is in Codex App’s MCP integration path, not in Penpot itself.
What steps can reproduce the bug?
- Use the official Penpot MCP from the official Penpot repo.
- Start it with:
cd /Users/aitor/penpot/mcp
pnpm run bootstrap
- Open a Penpot file in the browser.
- Load the Penpot MCP plugin from:
http://localhost:4400/manifest.json
- Click
Connect to MCP serverin the plugin UI.
- Configure Codex App to use Penpot MCP through
mcp-remote, for example:
[mcp_servers.penpot]
command = "npx"
args = ["-y", "mcp-remote", "http://localhost:4401/sse", "--allow-http"]
startup_timeout_sec = 30.0
- Restart Codex App.
- Trigger a minimal Penpot MCP call from Codex App, such as
execute_codewith:
return { ok: true };
- Observe that the call hangs or never returns.
As a control test, run a direct MCP HTTP client against http://localhost:4401/mcp; the same minimal execute_code call succeeds immediately.
What is the expected behavior?
Codex App should successfully execute Penpot MCP tool calls, including minimal execute_code calls, without hanging.
If the direct MCP client works against the same Penpot server and connected plugin instance, Codex App should also be able to complete the same call reliably.
Additional information
Relevant observations:
- This was tested with the official Penpot MCP, not a third-party implementation.
- The Penpot server starts cleanly and logs the MCP endpoints correctly.
- The Penpot plugin reports
Connected to MCP server. - A direct client using
@modelcontextprotocol/sdkandStreamableHTTPClientTransportagainsthttp://localhost:4401/mcpsucceeds. - The failure appears specific to Codex App’s integrated MCP call path.
If useful, I can also provide:
- the exact direct client test script
- Penpot MCP server logs
- the Codex MCP config used for reproduction
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗