Codex App disconnects all MCP servers when Playwright MCP returns -32601 for resource template listing
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:
playwrightitself becomes unusable in the app session- unrelated MCP servers such as
notionandcontext7are 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?
- Use Codex App on macOS.
- 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
- Restart Codex App.
- Let Codex App initialize MCP servers.
- Observe logs and MCP availability.
Observed result:
- Codex tries to list resource templates for
playwright playwrightreturns-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, andprompts/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 foundfor optional discovery methods, Codex should continue running playwrightshould still be usable for tools even if it does not expose resources/templates- unrelated MCP servers such as
notionandcontext7should 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.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗