Available Tools
Default Tools
| 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 |
Optional Tools (enable via the tools parameter)
| Tool | Description |
|---|
agent_run | Run an Exa Agent for multi-step research, list-building, enrichment, and structured output |
web_search_advanced_exa | Advanced search with filters, domains, dates, highlights, summaries, and subpage crawling |
Enable tools by appending them to the MCP URL (this will replace the defaults, so include all you want):
https://mcp.exa.ai/mcp?tools=web_search_advanced_exa
https://mcp.exa.ai/mcp?tools=web_search_exa,web_fetch_exa,agent_run
Exa Agent requires authentication (OAuth or an API key).
Dynamic Highlights (beta)
Add dynamicHighlights=true to the MCP URL to make web_search_exa and web_search_advanced_exa return Dynamic Highlights. These are highlights chosen across all results under one shared budget, not a fixed budget per URL, so less text reaches your agent's context. When the server runs locally, set DYNAMIC_HIGHLIGHTS=true instead.
https://mcp.exa.ai/mcp?dynamicHighlights=true
Agent Skills
Skills live in skills/ and load with Agent Plugin installs. The Claude plugin in plugins/exa/ ships a copy of them; npm test fails when the copy drifts. Each package version bump on main publishes plugins/exa/ to the root of the claude-plugin branch, which Claude's plugin directory reads. To publish a plugin-only change between releases, run the Publish Claude plugin workflow manually.
| Skill | Path | Use when |
|---|
search | skills/search/ | Deep research, lead gen, competitive analysis, multi-step web investigation |
exa-agent | skills/exa-agent/ | Exa Agent runs, enrichment, structured output, Connect providers |
Invoke from your client's skill UI (or /skill-name where supported). MCP-only setups still get the tools; skills add orchestration on top.
Authentication
The hosted MCP server works anonymously with rate limits. For higher limits and access to Exa Agent, use either OAuth or an API key.
OAuth is preferred: most clients prompt you to sign in to Exa. To force the login flow (useful for shared connectors and plugins), use https://mcp.exa.ai/mcp?login or https://mcp.exa.ai/mcp/oauth.
If you prefer, you can get an API key from the dashboard and pass it on the URL as ?exaApiKey=…. You can also send it as a Authorization: Bearer … header or an x-api-key header.
Built with ❤️ by Exa