Data as of

Exa MCP Server for Windsurf: Setup & Config

Exa MCP Server gives Windsurf web search and readable page retrieval, with optional advanced search and agent research tools.

What you can do with Exa in Windsurf

Start with focused search and page retrieval, then enable deeper filtering or agent research as needed.

  • Search for current facts and retrieve readable source content.
  • Fetch complete pages when search snippets are insufficient.
  • Run asynchronous enrichment or structured research through Exa Agent.

Before you start: Exa in Windsurf

  • An MCP-compatible client
  • npx and an Exa API key for the local npm option

The command uses the README's local npm package configuration. The remote URL supports direct HTTP connections; mcp-remote is another documented route. Enable optional tools through the tools parameter.

Exa Windsurf configuration

  1. Choose Windsurf configuration scope

    For Exa MCP Server, open macOS/Linux: ~/.codeium/windsurf/mcp_config.json Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json. Merge into mcpServers; remote endpoints use serverUrl.

  2. Add Exa MCP Server to Windsurf

    Use the exa-mcp-server entry below in mcpServers. Keep Exa MCP Server's documented stdio connection fields and your other Windsurf entries.

  3. Check Exa MCP Server in Windsurf

    Exa MCP Server: Refresh MCP in Windsurf settings and inspect Cascade’s tools.

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

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

Exa tools available to Windsurf

Exa's stored tool list documents 7 tools; compare it with Windsurf's connected tool list, because the stored list is not a live check.

web_search_exa

After refreshing Exa in Windsurf settings, check Cascade's tool list for web_search_exa.

Search for relevant web sources and return readable result content.

web_fetch_exa

After refreshing Exa in Windsurf settings, check Cascade's tool list for web_fetch_exa.

Retrieve clean full-page content and metadata from one or more known URLs.

web_search_advanced_exa

After refreshing Exa in Windsurf settings, check Cascade's tool list for web_search_advanced_exa.

agent_create_run

After refreshing Exa in Windsurf settings, check Cascade's tool list for agent_create_run.

Start optional asynchronous research, enrichment, or structured-output work.

agent_wait_for_run

After refreshing Exa in Windsurf settings, check Cascade's tool list for agent_wait_for_run.

agent_get_run_output

After refreshing Exa in Windsurf settings, check Cascade's tool list for agent_get_run_output.

agent_cancel_run

After refreshing Exa in Windsurf settings, check Cascade's tool list for agent_cancel_run.

Cancel an agent task that is queued or running.

Exa: full stored tool descriptions

Troubleshooting Exa in Windsurf

  • Check npx exa-mcp-server (Node.js/npm) on the machine running Windsurf's MCP integration for Exa MCP Server; refresh MCP and inspect Cascade's tools.
  • Check EXA_API_KEY for Exa MCP Server; do not bypass a Windsurf permission error with a broad administrator token.
  • Exa MCP Server uses stdio here: Windsurf must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Advanced search is not enabled by default.
  • Known limitation: Optional Exa Agent tools require OAuth or an API key.
  • Known limitation: Several older tool names are deprecated.
  • General Windsurf troubleshooting lives in the /clients/windsurf guide.

Exa MCP Server — details. Windsurf guide

Frequently asked questions

Windsurf reads Exa MCP Server under mcpServers in ~/.codeium/windsurf/mcp_config.json on macOS/Linux; Windows uses %USERPROFILE%\.codeium\windsurf\mcp_config.json.

Windsurf's exa-mcp-server example uses stdio.

Exa MCP Server's Windsurf configuration invokes npx exa-mcp-server (Node.js/npm).

Windsurf's Exa MCP Server example references EXA_API_KEY. Check these names if startup or authentication fails; the example alone does not distinguish required from optional values.

Exa MCP Server's stored list contains 7 tools, including web_search_exa, web_fetch_exa, web_search_advanced_exa. Compare those names with Windsurf's connected tool list; the stored list is not a live check.

Enable web_search_advanced_exa through the tools parameter. It is disabled by default.

Yes. The README describes a native Exa connector in Claude Desktop's connector directory.