Exa MCP for web search and web crawling!
Developer toolsTypeScript · DockerfileGitHub @exa-labsSelf-installOwner unconfirmed
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Installable projects can be verified without a deployment domain. Use GitHub sign-in for a personal repository, or the repository verification file above for an organization repository.
Ask about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Connect to Exa's hosted MCP server:
https://mcp.exa.ai/mcp
Or use a plugin when your client supports one.
This repository is an Agent Plugin. Install it with any compatible client.
Install from the Claude Plugin Marketplace, or run:
claude plugin install exa@claude-plugins-official
Install via Plugins in ChatGPT, or run:
codex mcp add exa --url https://mcp.exa.ai/mcp
Most clients can be configured manually with the standard mcpServers shape:
{
"mcpServers": {
"exa": {
"type": "streamable-http",
"url": "https://mcp.exa.ai/mcp",
}
}
}
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 |
| 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 |
|---|---|
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).
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.
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