Exa Web Research MCP
Give AI clients tools to search the web, read pages, and run multi-step research.
- Source repo
- exa-labs/exa-mcp-server
- Stars
- ★ 5.1k
- Last updated
- 1d ago
- License
- MIT
- Primary language
- TypeScript
- FA score
- 47/100 · Major gaps
At a glance
- How it runs
- Works with
- Platform-specificChatGPT · Codex · Claude.ai
- Cost
- Free tier plus a paid hosted plan
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- A researcher uses
web_search_exato find material on a topic, thenweb_fetch_exato read selected pages. - Not a fit if
- Teams that need fully offline web search
- Users unwilling to send requests to Exa
- Source review
- 47/100 · Major gaps 1 safety controls not found
What does this agent do, and when should you use it?
Exa MCP Server connects AI clients to Exa over MCP, with web_search_exa and web_fetch_exa available by default. The search tool finds web content, while the fetch tool returns page content from one or more URLs as Markdown. Optional tools include agent_run for multi-step research, list-building, enrichment, and structured output, plus web_search_advanced_exa for filtered search and subpage crawling. The README’s main entry point is Exa’s hosted endpoint, https://mcp.exa.ai/mcp; it also documents Agent Plugin installation and manual MCP client configuration. Anonymous access is rate-limited, and higher limits or Exa Agent require OAuth or an API key.
An MCP client connects to https://mcp.exa.ai/mcp and can call web_search_exa to search a topic and receive usable content, or web_fetch_exa to retrieve full page content as Markdown from one or more URLs. Add web_search_advanced_exa through the MCP URL’s tools parameter for filters, domain or date restrictions, highlights, summaries, and subpage crawling. Add agent_run to have Exa Agent perform multi-step research, list-building, enrichment, and structured output; this tool requires OAuth or an API key.
- A researcher uses
web_search_exato find material on a topic, thenweb_fetch_exato read selected pages. - A competitive analyst enables
agent_runto conduct multi-step research and produce structured results. - A team building prospect lists uses Exa Agent for list-building and enrichment.
- An analyst who needs domain or date restrictions enables
web_search_advanced_exaand applies search filters. - A user of Claude Plugin, Codex, ChatGPT, or another MCP client adds web search and fetching to an existing workflow.
How do you install or deploy this agent?
The documented quick path is to add the hosted MCP endpoint to a compatible client. For Codex:
codex mcp add exa --url https://mcp.exa.ai/mcpOr install the Claude plugin from the marketplace:
claude plugin install exa@claude-plugins-officialOther MCP clients can use this configuration:
{
"mcpServers": {
"exa": {
"type": "streamable-http",
"url": "https://mcp.exa.ai/mcp"
}
}
}The README does not document a self-hosted server installation.
How do you use this agent?
Once connected, call web_search_exa to search a topic or web_fetch_exa with one or more URLs to read page content as Markdown. To enable optional tools, add them to the URL’s tools parameter. This replaces the defaults, so include every tool you still want available:
https://mcp.exa.ai/mcp?tools=web_search_exa,web_fetch_exa,agent_runAnonymous use has rate limits. Higher limits or agent_run require OAuth or an API key. Pass a key as ?exaApiKey=… or with an Authorization: Bearer … or x-api-key header.
What are this agent's strengths and limitations?
- Provides distinct default MCP tools for web search and fetching page content as Markdown.
- Optional Exa Agent supports multi-step research and structured output; advanced search adds filters and subpage crawling.
- Documents a hosted MCP endpoint and setup paths for multiple clients.
- Anonymous access is rate-limited; higher limits and Exa Agent require OAuth or an API key.
- The documented main path depends on Exa’s hosted service and network access; no self-hosting steps are given.
- Optional tools are enabled through URL parameters that replace the defaults, so client configuration must list the desired tools.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Exa Web Research MCP This agent | 47 · Major gaps | MCP serverFreemium | ★ 5.1k | 1d ago | TypeScript | ChatGPT · Codex · Claude.ai |
| wigolo | 54 · Major gaps | CLIFree + model costs | ★ 5.5k | 23d ago | TypeScript | Codex · Claude Code · OpenAI API · Claude API |
| Scrapling Web Scraping Framework | 66 · Some gaps | Library / SDKFree | ★ 89k | 1d ago | Python | — |
| Tavily Python SDK | 46 · Major gaps | Library / SDKFreemium | ★ 1.4k | 14d ago | Python | — |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows API keys accepted via query param, Authorization, and x-api-key, with tests confirming credentials are stripped before forwarding (2). However tools are anonymously usable with no per-call user confirmation, and web fetch/agent_run produce external effects with no rollback path (rollback 0). Dependencies use ^ ranges with only a tar override and no audit/lock evidence, so dependency security scores 1. Source attribution is only a README mention of Exa.
Tests cover auth precedence, CORS, sessions, and error responses, giving good self-consistency (2); failure messages include 401/WWW-Authenticate and JSON-RPC error codes (2). But dependencies float on ^ ranges and the hosted service depends on external mcp.exa.ai, so availability is not guaranteed from source (1).
README lists multi-client installs and optional tool toggles, clarifying scenarios and boundaries (2/2); trigger precision relies on client interpretation of tool descriptions with no explicit trigger conditions (1); environment fit covers Node>=20 and many clients (2).
Information architecture is clear and install notes are thorough (2/2), MIT license is complete (3). But there is no CHANGELOG, naming shows aliases like agent_tools and legacy deep_search_exa (1); known limitations and FAQ are absent (1); maintenance responsibility points only to Exa with unverified publisher (1).
Outputs are clean markdown and structured results, usable (2); marginal value over built-in search exists (2); but cost involves API billing and rate limits not quantified in README (1).
README claims are mostly external links without traceable assertions (1); test fixtures partially corroborate code (1); fact/inference separation is average (1).
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Hosted service mcp.exa.ai is an external dependency; source cannot guarantee availability or data flow.
- API keys can be passed via URL query params, risking log leakage; prefer OAuth or headers.
- Tools are anonymously usable with no per-call confirmation; web_fetch/agent_run cause external effects with no rollback.
- Dependencies use floating ^ ranges with no audit or lock evidence.
- Publisher identity is unverified; maintenance responsibility and update path are unclear.
FAQ
Do I need an API key for anonymous use?
How do I enable advanced search or Exa Agent?
tools parameter. That parameter replaces the defaults, so include any default tools you still need.