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
{{ message }}
Repository navigation
mcp.exa.ai and api.exa.ai both return Cloudflare 403 from datacenter IP - self-hosting workaround from #414 does not work #446
The hosted Exa MCP endpoint https://mcp.exa.ai/mcp returns 403 for my network, so the MCP server never connects. This appears to be the same source-IP-based WAF block described in #414, but with a difference that breaks the workaround proposed there: api.exa.ai is blocked as well, so self-hosting exa-mcp-server does not help.
Steps to reproduce
Configure https://mcp.exa.ai/mcp as a remote MCP server (streamable HTTP), per the docs.
Send POST /mcp with an initialize request:
POST https://mcp.exa.ai/mcp
Accept: application/json, text/event-stream
Content-Type: application/json
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"1.0"}}}
Observe HTTP 403 with Server: cloudflare and an HTML "Attention Required!" interstitial. No MCP JSON-RPC response, no mcp-session-id.
Actual results
Source
Request
Result
mcp.exa.ai/mcp
initialize
403, server: cloudflare, HTML block page
mcp.exa.ai/mcp
initialize + valid x-api-key
403 (identical)
mcp.exa.ai/mcp
initialize + browser User-Agent
403 (identical)
GET https://mcp.exa.ai/
—
403
GET https://docs.exa.ai/reference/exa-mcp
—
403
POST https://api.exa.ai/search
valid x-api-key
403, server: cloudflare, HTML block page
The response carries no cf-mitigated header, only the challenge page. The block happens before any MCP or API logic, and is unaffected by auth, User-Agent, or protocol version.
Impact on the self-hosting workaround
#414 suggests documenting that the hosted endpoint rejects datacenter egress and recommends self-hosting exa-mcp-server because "it calls api.exa.ai directly and is unaffected". For my network that recommendation does not hold: api.exa.ai is behind the same WAF and also answers 403, so a local npx -y exa-mcp-server would fail in the same way. There is currently no path to any Exa functionality from this network.
Activity
kesku commentedon Oct 7, 2026
Some regions are blocked for compliance reasons, so self-hosting won't help. Reply with a Ray ID if you think this is a mistake.