Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Cursor’s MCP client (Streamable HTTP, user-agent cursor/1.0.0) keeps sending GET /mcp to open the server-to-client SSE stream after our server answers 405 Method Not Allowed with Allow: POST, DELETE. The MCP spec says a server that offers no SSE stream answers this GET with 405, and the client should stop asking.
Observed on our server (a remote MCP server) over 25 hours, one user: 1,026 GETs, all 405, median gap 29s, against 16 initialize calls. Three other Cursor users show the same pattern at lower volume. Tool calls work normally; only the stream open loops.
Steps to Reproduce
- Add a remote Streamable HTTP MCP server that does not offer the SSE stream (answers GET with 405 and
Allow: POST, DELETE). - Connect and leave Cursor open.
- Watch the server logs: GET /mcp repeats roughly every 30s, each answered 405, with no new
initializein between.
Expected Behavior
After a 405 on the GET stream, don’t reopen it for that session.
Operating System
Other
Version Information
Observed server-side across several users, so the exact IDE version is unknown. MCP client user-agent: cursor/1.0.0 (one user on cursor/3.21.18 darwin arm64).
Additional Information
Possibly related: Two of my remote Streamable HTTP MCP servers reliably fail after Cursor idle-suspends the connection (idle-suspend resume). Staff noted in July that one GET 405 on connect is expected; this is repeated GETs without reconnecting.
Does this stop you from using Cursor
No - Cursor works, but with this issue