Exa MCP server in Claude Desktop AI-grade search for Claude.
Claude Desktop's config file launches local processes, and Exa lives in the cloud — mcp-remote bridges the two in one mcpServers entry.
Out of the box, Claude Desktop can't crawl an arbitrary page or run a purpose-built web search mid-conversation. Exa fills that gap: a search engine designed for AI callers, with crawling and a code-context tool that surfaces real-world usage examples. The server (github.com/exa-labs/exa-mcp-server, 4.6k stars) is hosted by Exa as a remote endpoint.
The wrinkle: claude_desktop_config.json describes local stdio processes, and Exa's endpoint is a URL. The standard bridge is mcp-remote, a small npm utility that runs locally and proxies to the remote server. One config entry handles it.
What you can ask once it's connected
Conversations stop being limited to what Claude remembers. "Find recent benchmarks comparing these two databases," "crawl this docs page and summarize the breaking changes," "show me how open-source projects actually call this SDK" — each becomes a tool call against Exa's index rather than a guess. As of mid-2026 the hosted server exposes search, crawl, and code-context tools; the live tool list is on Exa's Loomal marketplace listing at https://loomal.ai/marketplace/exa.
Edit claude_desktop_config.json
Find the file at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, or %APPDATA%\Claude\claude_desktop_config.json on Windows (Settings > Developer > Edit Config opens it for you). Add an mcpServers entry that launches mcp-remote pointed at Exa's endpoint, with your API key from the Exa dashboard in the URL:
{
"mcpServers": {
"exa": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.exa.ai/mcp?exaApiKey=YOUR_EXA_API_KEY"
]
}
}
}Restart fully — not just the window
Claude Desktop reads this file once at launch. Closing the window isn't enough; the app keeps running in the menu bar or system tray. Quit it completely (Cmd+Q on macOS, right-click the tray icon and exit on Windows), reopen, and look for Exa under the tools icon in the chat input. Ask it to search for something current as a smoke test.
Troubleshooting in Claude Desktop
The logs are the fastest diagnostic and most people don't know they exist: ~/Library/Logs/Claude/mcp*.log on macOS, %APPDATA%\Claude\logs on Windows. A per-server log shows exactly why a launch failed — typically Node missing from the app's environment, or a malformed JSON edit that took the whole config down with it.
Windows users hit one extra trap: backslashes in paths must be escaped in JSON, though for this particular setup the URL-only args avoid the issue. If Exa appears but every call errors, the API key is the suspect — confirm it's active in Exa's dashboard, and remember Exa meters usage on their side, so an exhausted credit balance looks like a broken server.
FAQ
How do I install Exa in Claude Desktop?
Add an exa entry under mcpServers in claude_desktop_config.json that runs npx -y mcp-remote with Exa's endpoint URL (including your exaApiKey), then quit Claude Desktop completely and reopen it. The tools icon in the chat input confirms it loaded.
Why do I need mcp-remote at all?
Claude Desktop's config file launches local stdio processes, while Exa hosts its server remotely over HTTP. mcp-remote is a small local proxy that bridges the two transports so the remote endpoint looks like a local server.
I edited the config and nothing changed. What did I miss?
Almost certainly the restart — Claude Desktop must be fully quit, not just have its window closed, because it lingers in the tray. If a full restart doesn't help, check the MCP logs in ~/Library/Logs/Claude (macOS) or %APPDATA%\Claude\logs (Windows).
What does Exa cost?
The server software is open source, but searches consume Exa API usage billed under their pricing; trial credits typically cover evaluation. Their dashboard shows your remaining balance — worth checking when calls suddenly start failing.
More MCP servers for Claude Desktop.
Browse the live index with probed tool lists per server.