Installation
Exa’s Search MCP can be installed in any MCP client with the server URL:https://mcp.exa.ai/mcp
Install in Cursor
Exa MCP is available on Cursor.
Install in VS Code
Exa MCP is available on VSCode.
- Codex
- Claude Code
- Claude Web, Desktop, or Cowork
- OpenCode
- Kiro
- Other
Run in terminal:
API Key
Get your Exa API key
Available Tools
Enabled by default:| Tool | Description |
|---|---|
web_search_exa | Search the web for any topic and get clean, ready-to-use content |
web_fetch_exa | Read a webpage’s full content as clean markdown from one or more URLs |
tools parameter):
| Tool | Description |
|---|---|
web_search_advanced_exa | Advanced web search with full control over category filters, domain restrictions, date ranges, highlights, summaries, and subpage crawling |
agent_tools | Alias that enables the Exa Agent tools for async research, list-building, and enrichment |
Exa Agent
Exa Agent is now available within Exa MCP. Use it for multi-step research, list-building, enrichment, and structured output when a task needs more than a single search call. Agent runs are usage-based, so the Agent tools require authentication — connect with OAuth or pass your own Exa API key. Enable the Agent tools with theagent_tools alias:
Agent tools
| Tool | Description |
|---|---|
agent_create_run | Start an async Agent run for multi-step research, list-building, enrichment, or structured output. Returns an agent_run_... ID immediately |
agent_wait_for_run | Poll a run until it reaches a terminal status (completed, failed, or cancelled) or times out |
agent_get_run_output | Retrieve completed output: text, structured JSON, grounding citations, usage, and cost |
agent_cancel_run | Cancel a queued or running run |
How it works
Agent runs are async and run-ID based. A typical loop:- Create the run with
agent_create_run. Include anoutputSchemawhenever you need repeatable, structured results. Returns anagent_run_...ID. - Wait for completion with
agent_wait_for_run, which polls until the run reaches a terminal status or times out. Call it again if the run is still going. - Read the output with
agent_get_run_outputonce the run iscompleted. You getoutput.text,output.structured(when a schema was provided),output.groundingcitations, plus usage andcostDollars. - Continue or cancel. Pass
previousRunIdtoagent_create_runto refine or extend a completed run, or useagent_cancel_runto stop a run that is clearly wrong.
agent_create_run accepts a natural-language query plus optional outputSchema, systemPrompt, input (data to enrich, exclusion to avoid), dataSources (Exa Connect providers, up to 5), previousRunId, and effort (low, medium, high, xhigh, or auto).
See the Exa Agent guide for schema patterns, effort modes, Exa Connect data sources, and pricing.
Resources
Usage Examples
Usage Examples
Web SearchCode SearchRead a Page
Troubleshooting
Troubleshooting
Rate limit error (429)You’ve hit the free plan rate limit. Add your own API key to continue:Get your API keyTools not appearingRestart your MCP client after updating the config file. Some clients require a full restart to detect new MCP servers.Claude Desktop not connectingUse the built-in Connector: click + (or Add connectors) → Connectors tab → search for Exa → click +.Config file not foundCommon config locations:
- Cursor:
~/.cursor/mcp.json - VS Code:
.vscode/mcp.json(in project root) - Claude Desktop (macOS):
~/Library/Application Support/Claude/claude_desktop_config.json - Claude Desktop (Windows):
%APPDATA%\Claude\claude_desktop_config.json