MCP Directory

How to add Exa Search to Windsurf

Exa's neural web search and crawling MCP server — runs locally via npx or as a hosted remote endpoint. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 15, 2026 · 4.6k · stdio · apikey · official

Windsurf config for Exa Search

npx -y exa-mcp-server
{
  "mcpServers": {
    "exa-search": {
      "command": "npx",
      "args": [
        "-y",
        "exa-mcp-server"
      ],
      "env": {
        "EXA_API_KEY": "<your-exa-api-key>"
      }
    }
  }
}

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the Exa Search config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5Exa Search's tools become available to Cascade.

Before you start

  • Node.js with npx available (for the local stdio install)
  • An Exa API key from the Exa dashboard at https://dashboard.exa.ai/api-keys (set as EXA_API_KEY)
  • Alternatively, no local runtime is needed if you use the hosted remote endpoint at https://mcp.exa.ai/mcp

What Exa Search can do in Windsurf

web_search_exa

Search the web for any topic and get clean, ready-to-use page content (enabled by default).

web_fetch_exa

Retrieve the full content of a specific webpage from a known URL (enabled by default).

web_search_advanced_exa

Advanced web search with full control over filters, domains, dates, and content options (off by default).

get_code_context_exa

Search code/technical context (deprecated, kept for backward compatibility).

company_research_exa

Research companies from web sources (deprecated).

deep_researcher_start / deep_researcher_check

Kick off and poll a long-running deep research task (deprecated).

Security

Requires an EXA_API_KEY that gates billable usage; keep it secret. The fetch/search tools retrieve arbitrary remote content, so treat returned page text as untrusted input to your model.

Exa Search + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Exa Search config there under the "mcpServers" key and restart the client.

Is Exa Search safe to use with Windsurf?

Requires an EXA_API_KEY that gates billable usage; keep it secret. The fetch/search tools retrieve arbitrary remote content, so treat returned page text as untrusted input to your model.

Do I need an API key to use the hosted endpoint?

Exa documents the remote endpoint at https://mcp.exa.ai/mcp as usable without separate auth, while the local npx install requires your own EXA_API_KEY. Usage is still billed against your Exa account.

What tools does it enable by default?

Only web_search_exa and web_fetch_exa are on by default. web_search_advanced_exa is available but off unless you opt in, and several older tools are deprecated.

Local npx vs hosted remote — which should I use?

Use the hosted endpoint for fast, zero-install setup; use the local npx install when you want to manage your own key and run everything over stdio.

View repo Full Exa Search page