Search built for AI: web results, page contents and code examples.
- Started in our test
- ★ 5.2K GitHub stars
- 11.5K downloads a week
- Last commit 19 Oct 2026
At a glance
Exa is a search engine designed to be called by models. Its server returns results with the page text already attached, so the assistant can answer from sources without a second fetch step. A code-search tool finds working examples from GitHub and documentation.
The hosted version needs no install, which makes it one of the easiest search tools to add to ChatGPT.
- Made by
- Exa Labs
- Latest version
- 3.4.2 (6 Oct 2026)
- npm package
- exa-mcp-server
- GitHub stars
- 5.2K
- Downloads
- 11.5K a week
- Last commit
- 19 Oct 2026
- Tools
- 2
- Runs on
- Your computer or hosted
Our check: We ran this exact config on 26 Oct 2026: it started and answered with 2 tools.
What's in the pod: its tools
We found 2 tools when we started it on 26 Oct 2026. Every one of them only reads, so nothing changes unless you act on what it finds.
Only reads2 tools · Looks things up and changes nothing.
| Tool | What it is for |
|---|---|
web_fetch_exa | Reads one or more web pages and hands back their main text as tidy Markdown. |
web_search_exa | Searches the web with Exa's neural index and returns cleaned content from the best matches, not just links. |
Tool groups
web_search_advanced_exa- Optional. Search with filters for domains, dates, highlights, summaries and subpages.
agent_run- Optional. Hands a multi-step research or list-building job to Exa's own agent and returns structured results.
Grouped and described by us. The README on GitHub lists the inputs each tool takes.
Set it up
Pick your app for the exact snippet and where it goes.
Where it goes: claude_desktop_config.json (Settings → Developer → Edit Config)
{
"mcpServers": {
"exa": {
"command": "npx",
"args": [
"-y",
"exa-mcp-server"
],
"env": {
"EXA_API_KEY": "your-exa-key"
}
}
}
}Where it goes: Your terminal, in the project folder
claude mcp add-json exa '{"command":"npx","args":["-y","exa-mcp-server"],"env":{"EXA_API_KEY":"your-exa-key"}}'Where it goes: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
"mcpServers": {
"exa": {
"command": "npx",
"args": [
"-y",
"exa-mcp-server"
],
"env": {
"EXA_API_KEY": "your-exa-key"
}
}
}
}Where it goes: .vscode/mcp.json in your project
{
"servers": {
"exa": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"exa-mcp-server"
],
"env": {
"EXA_API_KEY": "your-exa-key"
}
}
}
}Where it goes: ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"exa": {
"command": "npx",
"args": [
"-y",
"exa-mcp-server"
],
"env": {
"EXA_API_KEY": "your-exa-key"
}
}
}
}Where it goes: Not supported
ChatGPT only connects to remote servers by URL. This one runs on your computer, so use Claude, Cursor or VS Code.
Remote option
Exa runs the same tools at this URL for clients that connect to remote servers.
https://mcp.exa.ai/mcpNew to this? See the setup guides for Claude Code, Cursor, Claude Desktop and ChatGPT.
Settings
Names are exactly as the project spells them. Required ones are marked.
| Setting | What it does |
|---|---|
https://mcp.exa.ai/mcpConfig · required | The hosted server address. It works without signing in, with lower rate limits. |
toolsConfig | Choose which tools load by adding them to the URL. This replaces the defaults, so list every tool you want.?tools=web_search_exa,web_fetch_exa,agent_run |
exaApiKeyConfig | Your Exa API key passed on the URL, for higher limits. A Bearer or x-api-key header also works.?exaApiKey=your-key |
loginConfig | Add ?login to the URL to force the Exa sign-in screen, handy for shared connectors.https://mcp.exa.ai/mcp?login |
What it can touch
It can read
- The public web, through Exa's search index and page fetcher
It can change
- Nothing on your machine. Agent runs use your Exa credit if you are signed in.
Safer setup: It only reads public pages. Leave agent_run off unless you want it spending credit on long research jobs.
Before you start
- An Exa API key for the local server
If it does not work
- Hitting rate limits
- Sign in with OAuth when your client asks, or add an API key from the Exa dashboard.
- agent_run or advanced search is missing
- They are off by default. Add them to the tools list in the URL, and remember to keep the defaults in that list too.
- Search snippets are too short
- Follow up with web_fetch_exa on the URL to get the whole page.
Peas in a pod: similar servers
How Exa lines up against other browser and web data servers on the shelf.
| Server | Tools | Runs on | Licence | Stars |
|---|---|---|---|---|
| Exa | 2 | Your computer or hosted | – | 5.2K |
| Bright Data | 32 | Your computer | MIT | 2.7K |
| SearXNG | 4 | Your computer | MIT | 1.3K |
| Playwright MCP | 25 | Your computer | Apache-2.0 | 38.7K |
| Firecrawl | 28 | Your computer | MIT | 7.7K |
Questions
Do I need an Exa account?
No. The hosted URL works anonymously. An account or key only lifts the limits and unlocks Exa Agent.
How is Exa different from a normal search engine?
Exa is built for AI agents. It ranks by meaning rather than keywords and returns page content ready for the model to read.
What is agent_run?
It hands a multi-step research job, such as building a list of companies, to Exa's own agent and returns structured results.
Is it open source?
Yes, the server code is MIT licensed. The search itself runs on Exa's paid API.
Something wrong on this page? Tell us.