--- title: "Exa MCP: setup, tools, pricing and alternatives (2026)" category: "guides" url: https://keirolabs.cloud/blog/exa-mcp --- ## The 60-second version **Exa runs a hosted MCP server at `https://mcp.exa.ai/mcp` that gives Claude, Cursor and other MCP clients web search and page fetching.** It works with no API key on a free, rate-limited tier; add your key (or sign in with OAuth) to lift the limits, at which point calls bill against your Exa credits ([Exa's MCP docs](https://exa.ai/docs/reference/exa-mcp)). - **Default tools:** `web_search_exa` (search with page content), `web_fetch_exa` (clean content from a URL), and `agent_run` (multi-step research, needs a key or OAuth). - **Opt-in tool:** `web_search_advanced_exa`, for filters and controls. - **API key:** an `x-api-key` header on the hosted server, or `EXA_API_KEY` for the local `exa-mcp-server` npm package. - **Cost with a key:** Exa search is $7 per 1,000 requests including 10 results ([full Exa pricing](/blog/exa-api-pricing-2026)). - **Getting 429 errors?** You're on the keyless tier. Add a key and reconnect. ## Set up Exa MCP in Claude Code **Install Exa's plugin, then start a new session:** ```bash claude plugin install exa@claude-plugins-official ``` Or add the hosted server directly, with your key in a header: ```bash claude mcp add --transport http exa https://mcp.exa.ai/mcp \ --header "x-api-key: $EXA_API_KEY" ``` Run `/mcp` inside Claude Code to confirm the server is connected and see its tools. ## Set up Exa MCP in Cursor Install from the Cursor marketplace, or add this to `~/.cursor/mcp.json`: ```json { "mcpServers": { "exa": { "url": "https://mcp.exa.ai/mcp", "headers": { "x-api-key": "YOUR_EXA_API_KEY" } } } } ``` Leave out `headers` to use the free keyless tier. ## Set up Exa MCP in Claude Desktop Use the built-in connector (Settings, Connectors, search for Exa). If you prefer the config file, Claude Desktop needs the `mcp-remote` bridge for remote servers. Edit `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS or `%APPDATA%\Claude\claude_desktop_config.json` on Windows: ```json { "mcpServers": { "exa": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.exa.ai/mcp"] } } } ``` ## Choose which tools are enabled **An explicit `tools` list in the URL replaces the defaults**, so include every tool you want: ```text https://mcp.exa.ai/mcp?tools=web_search_exa,web_fetch_exa,web_search_advanced_exa,agent_run ``` | Tool | Default | What it does | |---|---|---| | `web_search_exa` | on | Search the web, returns results with page content | | `web_fetch_exa` | on | Clean content from known URLs | | `agent_run` | on with a key or OAuth | Multi-step research with structured output; usage-based | | `web_search_advanced_exa` | off | Search with advanced filters | Fewer tools means a shorter tool list in your model's context and fewer wrong tool picks, so enable only what your agent uses. ## What Exa MCP costs | Mode | Cost | |---|---| | Keyless | Free, rate-limited | | With a key or OAuth | Your Exa plan: search $7 per 1,000 requests with 10 results, $1 per 1,000 for each extra result | | `agent_run` | Usage-based, needs a key or OAuth | | New accounts | $20 in credits at signup, plus $10 a month | An agent can call search several times per task, so watch usage in Exa's dashboard for the first week. ## Common problems | Problem | Fix | |---|---| | `429 Too Many Requests` | You're on the keyless limits. Add `x-api-key` or sign in with OAuth, then reconnect | | Tools don't appear | Restart the client or start a new session; check `/mcp` in Claude Code | | Claude Desktop can't connect to the URL | Use the `mcp-remote` bridge shown above | | `agent_run` fails | It needs a key or OAuth | | Agent picks the wrong tool | Trim the `tools` list in the URL | ## Exa MCP alternatives | MCP server | Hosted URL | Free start | Search price per 1,000 | Notable tools | |---|---|---|---|---| | **Exa** | `mcp.exa.ai/mcp` | Keyless tier, $20 credits | $7 (10 results) | Semantic search, fetch, research agent | | **Tavily** | `mcp.tavily.com/mcp/` | 1,000 credits a month | $8 basic, pay as you go | Search, extract, map, crawl ([setup](/blog/tavily-mcp-server)) | | **[browserfoundry by Keirolabs](https://www.browserfoundry.cloud/?utm_source=keirolabs&utm_medium=blog&utm_campaign=exa-mcp)** | `api.keirolabs.cloud/mcp/api` | 750 credits at signup | $0.10 lite to $1.33 fast on Essential | Web search, Google SERP, search with page content, extract, cited answers | **Pick Exa for semantic "find pages like this" search.** Pick a cheaper server when your agent runs plain web searches all day: per-call price matters more for an agent than for a person, because agents search many times per task. Our full roundup is in [the best MCP servers for web search and scraping](/blog/best-mcp-servers-web-search-scraping-2026). ## Set up browserfoundry MCP instead ```bash claude mcp add --transport http keirolabs https://api.keirolabs.cloud/mcp/api \ --header "Authorization: Bearer $KEIRO_API_KEY" ``` For Cursor, add the same URL with an `Authorization: Bearer` header to `~/.cursor/mcp.json`. Or paste this into your agent and let it install itself: ```text Fetch https://platform.keirolabs.cloud/agent-onboarding.md and follow the instructions on it to install Keiro MCP ``` The server gives your agent `web_search`, `lite_search`, `google_serp`, `search_and_extract`, `extract_url` and `answer`, among others, all on one key. Setup for Codex and Windsurf is in [the MCP docs](https://docs.keirolabs.cloud/mcp).