Exa
STDIOHTTP-SSEOfficialMCP server connecting AI assistants to Exa AI's advanced web search and code search capabilities
MCP server connecting AI assistants to Exa AI's advanced web search and code search capabilities
exa-code: fast, efficient web context for coding agentsVibe coding should never have a bad vibe. exa-code is a huge step towards coding agents that never hallucinate.
When your coding agent makes a search query, exa-code searches over billions
of Github repos, docs pages, Stackoverflow posts, and more, to find the perfect, token-efficient context that the agent needs to code correctly. It's powered by the Exa search engine.
Examples of queries you can make with exa-code:
✨ Works with Cursor and Claude Code! Use the HTTP-based configuration format:
{ "mcpServers": { "exa": { "type": "http", "url": "https://mcp.exa.ai/mcp", "headers": { "Remove-Me": "Disable web_search_exa tool if you're just coding. To 100% call exa-code, say 'use exa-code'." } } } }
You may include your exa api key in the url like this:
https://mcp.exa.ai/mcp?exaApiKey=YOUREXAKEY
You may whitelist specific tools in the url with the enabledTools parameter which expects a url encoded array strings like this:
https://mcp.exa.ai/mcp?exaApiKey=YOUREXAKEY&enabledTools=%5B%22crawling_exa%ss%5D
You can also use exa-code through Smithery without an Exa API key.
A Model Context Protocol (MCP) server that connects AI assistants like Claude to Exa AI's search capabilities, including web search, research tools, and our new code search feature.
Connect directly to Exa's hosted MCP server (instead of running it locally).
https://mcp.exa.ai/mcp
Add this to your Claude Desktop configuration file:
{ "mcpServers": { "exa": { "command": "npx", "args": [ "-y", "mcp-remote", "https://mcp.exa.ai/mcp" ] } } }
For Cursor and Claude Code, use this HTTP-based configuration format:
{ "mcpServers": { "exa": { "type": "http", "url": "https://mcp.exa.ai/mcp", "headers": {} } } }
Open your Codex configuration file:
code ~/.codex/config.toml
Add this configuration:
[mcp_servers.exa] command = "npx" args = ["-y", "mcp-remote", "https://mcp.exa.ai/mcp"] env = { EXA_API_KEY = "your-api-key-here" }
Replace your-api-key-here with your actual Exa API key from dashboard.exa.ai/api-keys.
The easiest way to get started with Exa in Claude Code, using plugins:
# Add the Exa marketplace /plugin marketplace add exa-labs/exa-mcp-server # Install the plugin /plugin install exa-mcp-server
Then set your API key:
export EXA_API_KEY="your-api-key-here"
Get your API key from dashboard.exa.ai/api-keys.
npm install -g exa-mcp-server
claude mcp add exa -e EXA_API_KEY=YOUR_API_KEY -- npx -y exa-mcp-server
To install the Exa MCP server via Smithery, head over to:
You can find claude_desktop_config.json inside the settings of Claude Desktop app:
Open the Claude Desktop app and enable Developer Mode from the top-left menu bar.
Once enabled, open Settings (also from the top-left menu bar) and navigate to the Developer Option, where you'll find the Edit Config button. Clicking it will open the claude_desktop_config.json file, allowing you to make the necessary edits.
OR (if you want to open claude_desktop_config.json from terminal)
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
code %APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "exa": { "command": "npx", "args": ["-y", "exa-mcp-server"], "env": { "EXA_API_KEY": "your-api-key-here" } } } }
Replace your-api-key-here with your actual Exa API key from dashboard.exa.ai/api-keys.
The Exa MCP server includes powerful tools for developers and researchers:
You can choose which tools to enable by adding the --tools parameter to your Claude Desktop configuration:
{ "mcpServers": { "exa": { "command": "npx", "args": [ "-y", "exa-mcp-server", "--tools=get_code_context_exa,web_search_exa" ], "env": { "EXA_API_KEY": "your-api-key-here" } } } }
{ "mcpServers": { "exa": { "command": "npx", "args": [ "-y", "exa-mcp-server", "--tools=get_code_context_exa,web_search_exa,company_research,crawling,linkedin_search,deep_researcher_start,deep_researcher_check" ], "env": { "EXA_API_KEY": "your-api-key-here" } } } }
For enabling multiple tools, use a comma-separated list:
{ "mcpServers": { "exa": { "command": "npx", "args": [ "-y", "exa-mcp-server", "--tools=get_code_context_exa,web_search_exa,company_research,crawling,linkedin_search,deep_researcher_start,deep_researcher_check" ], "env": { "EXA_API_KEY": "your-api-key-here" } } } }
If you don't specify any tools, all tools enabled by default will be used.
For the changes to take effect:
If you prefer to run the server directly, you can use npx:
# Run with all tools enabled by default npx exa-mcp-server # Enable specific tools only npx exa-mcp-server --tools=web_search_exa # Enable multiple tools npx exa-mcp-server --tools=web_search_exa,get_code_context_exa # List all available tools npx exa-mcp-server --list-tools
Built with ❤️ by team Exa