app.callServerTool() call from mcp app client fails with MCP error -32000: MCP proxy request failed

Open 💬 1 comment Opened Aug 6, 2026 by jarhun88

What version of the Codex App are you using (From “About Codex” dialog)?

26.730.61639

What subscription do you have?

enterprise

What platform is your computer?

Darwin 25.6.0 arm64 arm

What issue are you seeing?

MCP error -32000: MCP proxy request failed error occurs when trying to call app.callServerTool() from an mcp apps client from

export async function handleToolResult(app: App, result: CallToolResult): Promise<void> {}

What steps can reproduce the bug?

Feedback ID: 019fd556-972e-7710-bffe-c468b7e2f567

What is the expected behavior?

the function should succeed and it should call the tool passed in the param.

Additional information

_No response_

View original on GitHub ↗

1 Comment

FlyingCarlos · 9 days ago

I can reproduce this exact failure with a local stdio MCP App in the ChatGPT macOS app’s Codex project-task surface.

Environment

  • ChatGPT macOS app: 26.814.41407
  • Build: 6720
  • Bundled Codex CLI: 0.148.0-alpha.15
  • macOS: 15.7.7 (24G720)
  • MCP transport: local stdio
  • MCP App protocol: 2026-01-26

Observed behavior

  1. The MCP server initializes successfully and exposes its tools and UI resource.
  2. The model-origin tool call succeeds.
  3. The host successfully reads the associated ui:// resource.
  4. The MCP App renders correctly inside the conversation, including its interactive controls.
  5. When the rendered App sends a standard JSON-RPC tools/call request through the host bridge, the host returns:

``
MCP error -32000: MCP proxy request failed
``

  1. The same failure occurs through the window.openai.callTool compatibility path.
  2. No corresponding mcpServer/tool/call event appears in the desktop log for the interaction.
  3. The local MCP server receives no tools/call request from the App interaction.
  4. Calling the same tool directly with a standalone stdio MCP client succeeds.

The failure therefore appears to occur inside the desktop host’s App-to-MCP proxy, before the request reaches the MCP server.

Tool metadata

The target tool is explicitly callable by the App:

{
  "_meta": {
    "ui": {
      "visibility": ["model", "app"]
    },
    "openai/widgetAccessible": true
  }
}

The tool is also configured as approved in the project-local MCP configuration, so no additional Codex approval prompt should be required.

Expected behavior

According to the documented MCP App flow, an App-origin tools/call should be forwarded by the host to the MCP server associated with the rendered UI resource:

https://developers.openai.com/plugins/build/chatgpt-ui

Additional diagnostic distinction

This is not a general MCP server or UI-resource failure:

  • MCP initialization succeeds.
  • Tool discovery succeeds.
  • Model-origin MCP calls succeed.
  • resources/read succeeds.
  • The App renders normally.
  • Only the App-origin tool call fails before server dispatch.

This is still reproducible in app version 26.814.41407, which is newer than the version originally reported in this issue.