Codex App disconnects all MCP servers when Playwright MCP returns -32601 for resource template listing

Open 💬 2 comments Opened Mar 12, 2026 by SakenW

What issue are you seeing?

In Codex App, if a configured MCP server does not implement resources/templates/list and returns -32601 Method not found, the whole MCP app-server connection gets disconnected instead of degrading gracefully for that one server.

I reproduced this with the officially documented Playwright MCP config:

[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]

When this happens, unrelated MCP servers in the same Codex App session also disappear from the tool layer. In my case, both notion and context7 stopped being available until I worked around the issue.

The Codex App log showed this exact warning right before disconnecting:

Failed to list resource templates for MCP server 'playwright': Mcp error: -32601: Method not found

and then:

Codex app-server connection state changed ... next=disconnected previous=connected transport=stdio

Impact:

  • playwright itself becomes unusable in the app session
  • unrelated MCP servers such as notion and context7 are effectively taken down too
  • users end up thinking multiple MCP integrations are broken, even though the trigger is one server not implementing optional resource/template methods

What steps can reproduce the bug?

  1. Use Codex App on macOS.
  2. Configure these MCP servers in ~/.codex/config.toml:
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]

[mcp_servers.notion]
url = "https://mcp.notion.com/mcp"

[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp", "--api-key", "REDACTED"]
startup_timeout_ms = 20000
  1. Restart Codex App.
  2. Let Codex App initialize MCP servers.
  3. Observe logs and MCP availability.

Observed result:

  • Codex tries to list resource templates for playwright
  • playwright returns -32601 Method not found
  • Codex app-server connection disconnects
  • other MCP servers are no longer visible/usable in that session

Workaround I had to apply locally:

  • put a small local shim in front of @playwright/mcp
  • intercept resources/list, resources/templates/list, and prompts/list
  • return empty arrays for those methods
  • forward all other requests to the real Playwright MCP server

After doing that, playwright, notion, and context7 could coexist again in Codex App.

What is the expected behavior?

Codex App should treat missing MCP methods like resources/templates/list as non-fatal for that one server.

Expected behavior:

  • if an MCP server returns -32601 Method not found for optional discovery methods, Codex should continue running
  • playwright should still be usable for tools even if it does not expose resources/templates
  • unrelated MCP servers such as notion and context7 should remain available
  • one partially implemented MCP server should not disconnect the whole MCP app-server connection

Additional information

Environment:

  • Platform: Darwin 25.2.0 arm64 arm
  • Server involved: @playwright/mcp@0.0.68

The issue seems especially important because the Playwright MCP package is documented as a standard Codex MCP config in the Playwright README, so users can hit this immediately with a copy-paste setup.

The workaround confirms the issue is not that Playwright fails to start; the underlying server starts normally. The failure is specifically the Codex App reaction to -32601 on discovery methods.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗