> ## Documentation Index
> Fetch the complete documentation index at: https://exa.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Web Search MCP

> Complete setup guide for Exa MCP Server. Connect Claude Desktop, Cursor, VS Code, and 10+ AI assistants to Exa's web search and code search tools.

Exa MCP connects AI assistants to Exa's search capabilities, including web search and code search. It is open-source and available on [GitHub](https://github.com/exa-labs/exa-mcp-server).

<br />

# Installation

Exa's Search MCP can be installed in any MCP client with the server URL: `https://mcp.exa.ai/mcp`

### Cursor

[![Install with one click](https://img.shields.io/badge/Install_with_one_click-Cursor-000000?style=flat-square\&logoColor=white)](https://cursor.com/en/install-mcp?name=exa\&config=eyJuYW1lIjoiZXhhIiwidHlwZSI6Imh0dHAiLCJ1cmwiOiJodHRwczovL21jcC5leGEuYWkvbWNwIn0=)

Or add to `~/.cursor/mcp.json`:

```json theme={null}
{
  "mcpServers": {
    "exa": {
      "url": "https://mcp.exa.ai/mcp"
    }
  }
}
```

### VS Code

[![Install with one click](https://img.shields.io/badge/Install_with_one_click-VS_Code-0098FF?style=flat-square\&logo=visualstudiocode\&logoColor=white)](https://vscode.dev/redirect/mcp/install?name=exa\&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.exa.ai%2Fmcp%22%7D)

Or add to `.vscode/mcp.json`:

```json theme={null}
{
  "servers": {
    "exa": {
      "type": "http",
      "url": "https://mcp.exa.ai/mcp"
    }
  }
}
```

### Claude Code

Run in terminal:

```bash theme={null}
claude mcp add --transport http exa https://mcp.exa.ai/mcp
```

### Claude Desktop

Exa is available as a **native Claude Connector** — no config files or terminal commands needed.

1. Open Claude Desktop and click **+** (or **Add connectors**)
2. Go to the **Connectors** tab
3. Search for **Exa**
4. Click **+** to add it

That's it! Claude will now have access to Exa's search tools.

### Codex

Run in terminal:

```bash theme={null}
codex mcp add exa --url https://mcp.exa.ai/mcp
```

### OpenCode

Add to your `opencode.json`:

```json theme={null}
{
  "mcp": {
    "exa": {
      "type": "remote",
      "url": "https://mcp.exa.ai/mcp",
      "enabled": true
    }
  }
}
```

### Windsurf

Add to `~/.codeium/windsurf/mcp_config.json`:

```json theme={null}
{
  "mcpServers": {
    "exa": {
      "serverUrl": "https://mcp.exa.ai/mcp"
    }
  }
}
```

### Zed

Add to your Zed settings:

```json theme={null}
{
  "context_servers": {
    "exa": {
      "url": "https://mcp.exa.ai/mcp"
    }
  }
}
```

### Gemini CLI

Add to `~/.gemini/settings.json`:

```json theme={null}
{
  "mcpServers": {
    "exa": {
      "httpUrl": "https://mcp.exa.ai/mcp"
    }
  }
}
```

### Google Antigravity

Go to the three-dot menu in the Agent panel, navigate to **Manage MCP Servers**, then **View Raw config** and add:

```json theme={null}
{
  "mcpServers": {
    "exa": {
      "serverUrl": "https://mcp.exa.ai/mcp"
    }
  }
}
```

### v0 by Vercel

In v0, select **Prompt Tools** > **Add MCP** and enter:

```
https://mcp.exa.ai/mcp
```

### Warp

Go to **Settings** > **MCP Servers** > **Add MCP Server** and add:

```json theme={null}
{
  "exa": {
    "url": "https://mcp.exa.ai/mcp"
  }
}
```

### Kiro

Add to `~/.kiro/settings/mcp.json`:

```json theme={null}
{
  "mcpServers": {
    "exa": {
      "url": "https://mcp.exa.ai/mcp"
    }
  }
}
```

### Roo Code

Add to your Roo Code MCP config:

```json theme={null}
{
  "mcpServers": {
    "exa": {
      "type": "streamable-http",
      "url": "https://mcp.exa.ai/mcp"
    }
  }
}
```

### Via npm Package

Standard `mcpServers` format with the npm package. [Get your Exa API key](https://dashboard.exa.ai/api-keys).

```json theme={null}
{
  "mcpServers": {
    "exa": {
      "command": "npx",
      "args": ["-y", "exa-mcp-server"],
      "env": {
        "EXA_API_KEY": "your_api_key"
      }
    }
  }
}
```

### Other

For other MCP clients that support remote MCP:

```json theme={null}
{
  "mcpServers": {
    "exa": {
      "url": "https://mcp.exa.ai/mcp"
    }
  }
}
```

If your client doesn't support remote MCP servers directly:

```json theme={null}
{
  "mcpServers": {
    "exa": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.exa.ai/mcp"]
    }
  }
}
```

# Available Tools

**Enabled by default:**

| 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** (enable via `tools` parameter):

| Tool                      | Description                                                                                                                                |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `web_search_advanced_exa` | Advanced web search with full control over category filters, domain restrictions, date ranges, highlights, summaries, and subpage crawling |

**Deprecated** (still available for backwards compatibility):

| Tool                    | Use instead                                       |
| ----------------------- | ------------------------------------------------- |
| `get_code_context_exa`  | `web_search_exa`                                  |
| `company_research_exa`  | `web_search_advanced_exa`                         |
| `crawling_exa`          | `web_fetch_exa`                                   |
| `people_search_exa`     | `web_search_advanced_exa`                         |
| `linkedin_search_exa`   | `web_search_advanced_exa`                         |
| `deep_researcher_start` | [Research API](/reference/research/create-a-task) |
| `deep_researcher_check` | [Research API](/reference/research/get-a-task)    |
| `deep_search_exa`       | `web_search_advanced_exa`                         |

Enable specific tools:

```
https://mcp.exa.ai/mcp?tools=web_fetch_exa
```

Enable all tools:

```json theme={null}
{
  "exa": {
    "url": "https://mcp.exa.ai/mcp?tools=web_search_exa,web_fetch_exa,web_search_advanced_exa",
    "headers": {
      "x-api-key": "YOUR_EXA_API_KEY"
    }
  }
}
```

<br />

# API Key

Exa MCP has a generous free plan. To overcome free plan rate limits and enable production use, add your own API key:

```json theme={null}
{
  "exa": {
    "url": "https://mcp.exa.ai/mcp",
    "headers": {
      "x-api-key": "YOUR_EXA_API_KEY"
    }
  }
}
```

[Get your Exa API key](https://dashboard.exa.ai/api-keys)

<br />

# Resources

* [**GitHub**](https://github.com/exa-labs/exa-mcp-server) - View Exa MCP source code
* [**npm**](https://www.npmjs.com/package/exa-mcp-server) - Install Exa MCP npm package

<Accordion title="Usage Examples" icon="magnifying-glass">
  **Web Search**

  ```
  Search for recent developments in AI agents and summarize the key trends.
  ```

  **Code Search**

  ```
  Find Python examples for implementing OAuth 2.0 authentication.
  ```

  **Read a Page**

  ```
  Fetch the full content of https://exa.ai and summarize what the company does.
  ```
</Accordion>

<Accordion title="Troubleshooting" icon="wrench">
  **Rate limit error (429)**

  You've hit the free plan rate limit. Add your own API key to continue:

  ```json theme={null}
  {
    "exa": {
      "url": "https://mcp.exa.ai/mcp",
      "headers": {
        "x-api-key": "YOUR_EXA_API_KEY"
      }
    }
  }
  ```

  [Get your API key](https://dashboard.exa.ai/api-keys)

  **Tools not appearing**

  Restart your MCP client after updating the config file. Some clients require a full restart to detect new MCP servers.

  **Claude Desktop not connecting**

  Use the built-in Connector: click **+** (or **Add connectors**) → **Connectors** tab → search for **Exa** → click **+**.

  **Config file not found**

  Common config locations:

  * Cursor: `~/.cursor/mcp.json`
  * VS Code: `.vscode/mcp.json` (in project root)
  * Claude Desktop (macOS): `~/Library/Application Support/Claude/claude_desktop_config.json`
  * Claude Desktop (Windows): `%APPDATA%\Claude\claude_desktop_config.json`
</Accordion>
