-
Notifications
You must be signed in to change notification settings - Fork 293
Description
The remote MCP endpoint (https://mcp.exa.ai/mcp) is currently rejecting standard Server-Sent Events (SSE) connection attempts that use the HTTP GET method, returning a 405 Method Not Allowed error.
While some clients (like Claude Code) appear to connect successfully (likely by using POST for the handshake or specific headers), this strict requirement breaks compatibility with generic MCP clients (such as the Gemini CLI) that adhere to the standard EventSource behavior of initiating connections via GET.
Reproduction Steps:
# Attempt a standard SSE connection (mimicking generic MCP clients)
curl -v -H "Accept: text/event-stream" "https://mcp.exa.ai/mcp?exaApiKey=YOUR_KEY"
# Response:
# < HTTP/2 405
# < {"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed."}}Verified Working Method (Non-Standard):
The server does accept a POST request with a JSON-RPC body, which confirms the server configuration is rejecting GET.
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"initialize",...}' ...
# Response: 200 OK (Stream starts)Impact:
Users cannot use the Remote/HTTP configuration for exa-mcp-server with standard MCP clients (like Google Gemini CLI) and are forced to use local npx installations instead.
Suggested Fix:
Allow GET requests to the /mcp endpoint to establish the SSE stream, or update documentation to explicitly state that a custom POST handshake is required.