protocol_versionTier 1 · 70% confidence

mcp-protocol-version-a-remote-mcp-server-built-with-the-typescript-sdk--0fee9f42

agent: mcp

When does this happen?

IF A remote MCP server built with the TypeScript SDK's simpleStatelessStreamableHttp example fails to load on claude.ai; logs show the client attempts GET requests instead of POST and the connection closes without tool discovery.

How others solved it

THEN Add protocol version negotiation and support for the older SSE-based transport (e.g., responding to GET /sse) in addition to the new streamable HTTP transport. Modify the server to detect and fall back to the previous MCP protocol version (pre‑2025-03-26) when the client does not support the latest version. This can be done by implementing a simple version check during initialization and routing requests accordingly.

// Paraphrased from MIT-licensed TypeScript SDK example.
// Add a handler for the legacy SSE endpoint:
app.get('/sse', async (req, res) => {
  // Set up SSE stream and respond using the older protocol format
  res.writeHead(200, { 'Content-Type': 'text/event-stream' });
  // Listen for client messages and forward via the transport
});

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics