exa
Searches the web through the Exa API and returns full page content, not just links.
Claude Code
> /plugin marketplace add laithalsaadoon/erpaval> /plugin install erpaval@erpaval
Codex
$ codex mcp add exa --env EXA_API_KEY=YOUR_VALUE -- npx -y exa-mcp-server
Cursor
{ "mcpServers": { "exa": { "command": "npx", "args": [ "-y", "exa-mcp-server" ], "env": { "EXA_API_KEY": "YOUR_VALUE" } } } }
Add it to mcp.json.
Gemini CLI
{ "mcpServers": { "exa": { "command": "npx", "args": [ "-y", "exa-mcp-server" ], "env": { "EXA_API_KEY": "YOUR_VALUE" } } } }
Add it to settings.json.
GitHub Copilot
$ copilot mcp add exa --env EXA_API_KEY=YOUR_VALUE -- npx -y exa-mcp-server
OpenCode
{ "mcp": { "exa": { "type": "local", "command": [ "npx", "-y", "exa-mcp-server" ], "environment": { "EXA_API_KEY": "YOUR_VALUE" } } } }
Add it to opencode.json.
Windsurf
{ "mcpServers": { "exa": { "command": "npx", "args": [ "-y", "exa-mcp-server" ], "env": { "EXA_API_KEY": "YOUR_VALUE" } } } }
Add it to mcp_config.json.
Security report
Low risk
Known flaws
None known
Signed build
Yes
Build provenance published
Maintained
May 29, 2026
Last push
Licence
MIT
Runs as
npx
On your machine
Deprecated
No
Signals from public registries, not an audit. Checked Nov 11, 2026.
exa README
Exa MCP Server
Documentation · NPM Package · Get your API key
Installation
Connect to Exa's hosted MCP server:
https://mcp.exa.ai/mcp
Or use a plugin when your client supports one.
Agent Plugin
This repository is an Agent Plugin. Install it with any compatible client.
Claude
Install from the Claude Plugin Marketplace, or run:
claude plugin install exa@claude-plugins-official
Codex / ChatGPT
Install via Plugins in ChatGPT, or run:
codex mcp add exa --url https://mcp.exa.ai/mcp
Other MCP Clients
Most clients can be configured manually with the standard mcpServers shape:
{
"mcpServers": {
"exa": {
"type": "streamable-http",
"url": "https://mcp.exa.ai/mcp",
}
}
}
Client-specific configs
Exa MCP works with most other clients, point them at https://mcp.exa.ai/mcp.
| Client | Where to add it |
|---|---|
| Kiro | Use the Kiro power, or add manually to ~/.kiro/settings/mcp.json |
| LM Studio | Add to LM Studio, or add manually to mcp.json |
| Replit | Add to Replit |
| Grok Build | /marketplace → install Exa, then /mcp to sign in |
| Gemini CLI | Add manually to ~/.gemini/settings.json |
| OpenCode | Add manually to opencode.json |
| Windsurf | Add manually to ~/.codeium/windsurf/mcp_config.json |
| Google Antigravity | Add manually to mcp_config.json |
| Zed | Add manually to settings.json under context_servers |
| Warp | Settings → Agents → MCP servers |
| v0 by Vercel | Settings → MCP connections |
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
Autonomous software development for Claude Code. ERPAVal stands for Explore · Research · Plan · Act · Validate — the five-phase loop, plus a sixth Compound phase that writes durable lessons to disk so the next session inherits what this one learned.
More MCP servers from other plugins.
Questions about exa.
- Which coding agents can use exa?
- exa works in any agent that reads an MCP config file: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf. Each agent reads it from its own file; this page names the file for each one.
- How do I add exa to Claude Code?
- Run these in order, one at a time. 1. In Claude Code: /plugin marketplace add laithalsaadoon/erpaval 2. In Claude Code: /plugin install erpaval@erpaval
- Is exa safe to install?
- Low risk. Signals from public registries, not an audit.

