You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Starting on 2026-07-30 at approximately 07:10 UTC, we observed OpenAI's hosted MCP client begin sending server/discover before tools/list when using a remote MCP server through the
Responses API.
Our server uses the latest released MCP Java SDK, 2.0.0, which supports protocol revision 2025-11-25 but does not currently implement server/discover.
When the request reaches HttpServletStatelessServerTransport, the SDK returns HTTP 500 with an error similar to:
Missing handler for request type: server/discover
OpenAI then returns HTTP 424 external_connector_error from the Responses API. This prevents the entire response from being generated, even when the user sends a message such as "hi" that
does not require an MCP tool call.
We understand that support for the new stateless lifecycle is already tracked in:
Until full support is available, what is the recommended server behavior for server/discover so modern clients can safely fall back to the legacy initialize flow?
The 2026-07-28 Streamable HTTP specification requires an unsupported RPC to return HTTP 404 with JSON-RPC error -32601, rather than HTTP 500:
Server transport: HttpServletStatelessServerTransport
Server type: McpStatelessSyncServer
Java: Amazon Corretto 25
Spring Boot: 3.5.16
Transport: Streamable HTTP
Deployment: Stateless Kubernetes service
MCP capabilities: Tools only
Vector store: Not applicable
Client: OpenAI hosted remote MCP client through the Responses API
Steps to reproduce
Start a stateless MCP server using Java SDK 2.0.0 and HttpServletStatelessServerTransport.
Register tools, but do not register a custom server/discover handler.
Send the following request:
curl -i http://localhost:8080/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: server/discover' \
--data '{ "jsonrpc": "2.0", "id": "discover-1", "method": "server/discover", "params": { "_meta": { "io.modelcontextprotocol/protocolVersion": "2026-07-28", "io.modelcontextprotocol/clientInfo": { "name": "reproduction-client", "version": "1.0.0" }, "io.modelcontextprotocol/clientCapabilities": {} } } }'
4. Observe that the released SDK returns HTTP 500 with a missing-handler error.
5. Configure this server as a remote MCP tool in the OpenAI Responses API.
6. Observe that OpenAI returns HTTP 424 external_connector_error before producing an answer.
Expected behavior
Ideally, the Java SDK should support server/discover and the complete 2026-07-28 tools flow.
Until that support is available, an unsupported modern RPC should return a backward-compatible method-not-found response instead of HTTP 500, allowing clients that support both protocol
eras to fall back to the legacy initialize flow.
Starting on 2026-07-30 at approximately 07:10 UTC, we observed OpenAI's hosted MCP client begin sending
server/discoverbeforetools/listwhen using a remote MCP server through theResponses API.
Our server uses the latest released MCP Java SDK,
2.0.0, which supports protocol revision2025-11-25but does not currently implementserver/discover.When the request reaches
HttpServletStatelessServerTransport, the SDK returns HTTP 500 with an error similar to:Missing handler for request type: server/discoverOpenAI then returns HTTP 424
external_connector_errorfrom the Responses API. This prevents the entire response from being generated, even when the user sends a message such as "hi" thatdoes not require an MCP tool call.
We understand that support for the new stateless lifecycle is already tracked in:
We also found that the general unknown-handler behavior was fixed by:
However, that change was merged after the latest
2.0.0release and does not appear to be available in a published version.Could you please clarify:
2026-07-28protocol revision?2.xrelease containing the unknown-handler fix from Fix error behavior on unregistered handlers in stateless server handler #800?server/discoverso modern clients can safely fall back to the legacyinitializeflow?The
2026-07-28Streamable HTTP specification requires an unsupported RPC to return HTTP 404 with JSON-RPC error-32601, rather than HTTP 500:https://modelcontextprotocol.io/specification/2026-07-28/basic/transports/streamable-http
Environment
2.0.0io.modelcontextprotocol.sdk:mcp-coreio.modelcontextprotocol.sdk:mcp-json-jackson2HttpServletStatelessServerTransportMcpStatelessSyncServer3.5.16Steps to reproduce
2.0.0andHttpServletStatelessServerTransport.server/discoverhandler.