Suggest a server AI tools directory →

Exa MCP server

Last verified: 2026-09

Neural web search aimed at agents.

Community Browser & search Needs a secret Claude Desktop, Cursor, Windsurf, Claude Code

What it does

Exa's search index as MCP. Default tools search the web and fetch a URL as markdown. Optional tools (enable via a tools flag) run Exa Agent for multi-step research.

It sits in Browser & search: Three different jobs get mixed up here.

Good for

  • Search the web and get clean content, not ten blue links.
  • Fetch a handful of URLs as markdown in one tool call.
  • Turn on agent_run only when you want multi-step research and extra credits.
  • Replace 'the model hallucinated a library' with a current web pass.

Tools

  • web_search_exa — Search; returns clean content.
  • web_fetch_exa — Read one or more URLs as markdown.
  • web_search_advanced_exa / agent_run — Optional: deeper search or a multi-step agent.

Config (Claude Desktop / Cursor / Windsurf)

Paste the JSON below. Same mcpServers shape. Replace placeholder paths and secrets. Windows paths look like C:\\Users\\you\\project, not /path/to. Host-side steps →

Claude Desktop

OSConfig file
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json (usually C:\Users\<you>\AppData\Roaming\Claude\)
Linux~/.config/Claude/claude_desktop_config.json

Cursor

ScopemacOS / LinuxWindows
This project.cursor/mcp.json in the repo root
This user~/.cursor/mcp.json %USERPROFILE%\.cursor\mcp.json

Windsurf

OSConfig file
macOS / Linux~/.codeium/windsurf/mcp_config.json
Windows%USERPROFILE%\.codeium\windsurf\mcp_config.json
{
  "mcpServers": {
    "exa": {
      "command": "npx",
      "args": [
        "-y",
        "exa-mcp-server"
      ],
      "env": {
        "EXA_API_KEY": "..."
      }
    }
  }
}

Windsurf remote MCP: use serverUrl instead of url if the block below is HTTP.

One-liner: npx -y exa-mcp-server

Secrets it wants: EXA_API_KEY

Source repo →

How to get started

  1. Create an Exa API key. Put it in EXA_API_KEY.
  2. Start with the two default tools. Turn on agent_run only if you want it spending extra credits.
  3. Ask it to search a topic you can verify.

Access risk

Every call bills Exa. The model sees whatever the index returns, including pages you would not open yourself.

When to skip it

Skip it if Brave Search or Tavily already covers the query, or if you only need one known URL (Fetch).

Instead: Tavily, Brave Search, Fetch.

Vs alternatives

ServerOfficial?Needs a secret?Best for
ExaNoYesNeural web search aimed at agents.
TavilyNoYesSearch API built for LLM retrieval.
Brave SearchYesYesWeb search via the Brave Search API.
FetchYesYesFetch a URL and turn the page into readable text.

More in Browser & search

All 11 in this category →

FAQ

Exa or Tavily or Brave?

Pick one search API. Exa is neural/agent-oriented; Brave is cheaper keyword search; Tavily is built as LLM retrieval. Two at once is wasted spend.

What does a key cost?

Every web_search_exa / web_fetch_exa / agent_run bills Exa. Start with the two default tools.

Does it replace Fetch?

For one known URL, Fetch is free. Exa fetch is for when you already searched in Exa.

Do I need agent_run?

No. Enable it via the tools flag when you actually want an Exa Agent.