Exa MCP Server

repository·main·Indexed 26 days ago

https://github.com/exa-labs/exa-mcp-server

A Model Context Protocol server (version 3.2.1) that connects AI assistants to Exa's web search and crawling capabilities. It provides tools for real-time web search, code search, and multi-step company research via Exa Agents. Supported tools include web_search_exa, web_fetch_exa, web_search_advanced_exa, and agent_run. The server can be deployed via a hosted URL (https://mcp.exa.ai/mcp) or locally via npm, with integrations for Claude Desktop, Windsurf, Zed, Cursor, VS Code, and Claude Code.

Tokens
14.3K
Snippets
30
Records
76
Agent score
88%

What's inside exa-mcp-server

  1. Perform competitive intelligence research

    main

    For comprehensive competitive intelligence, layer multiple query angles using the category:company operator to find competitors, category-specific tools, and recent funding news.

    // Layered queries for competitive intelligence
    web_search_exa { "query": "category:company companies like [target]", "numResults": 10 }
    web_search_exa { "query": "category:company [category] software tools", "numResults": 15 }
    web_search_exa { "query": "[category] startup launch funding announcement recently", "numResults": 15 }
  2. Discover hidden relationships using indirect query patterns

    main

    When searching for connections between entities (e.g., people, companies, or clients), direct queries like "X clients" often return generic articles rather than actual connections. Instead, use indirect signals to find authentic relationships.

    Strategies for finding connections:

    1. Subject's Own Platforms: Search the subject's official channels for mentions of guests, interviews, or testimonials.
    2. B2B Customer Discovery: For companies, search specifically for case studies and success stories to identify their actual client base.
    3. Testimonials & Personal Stories: Search for personal blogs or social proof where the subject is mentioned in a transformative context.
    4. Duration Markers: Use temporal language (e.g., "decades", "longtime") to find high-confidence, long-standing relationships.
    5. Terminology Detection: Identify unique frameworks or insider terminology used by a subject, then search for other people using those specific terms to find peers or collaborators.
  3. Install Exa MCP Server in VS Code

    main

    To use Exa search capabilities in VS Code, add the following configuration to your .vscode/mcp.json file. You must provide your Exa API key in the EXA_API_KEY environment variable.

    {
      "servers": {
        "exa": {
          "command": "npx",
          "args": ["-y", "exa-mcp-server"],
          "env": {
            "EXA_API_KEY": "your_api_key"
          }
        }
      }
    }
  4. Write effective Exa queries

    main

    Exa uses vector embeddings (semantic similarity) rather than keyword matching or boolean logic. To get high-quality results:

    • Describe the target page: Instead of searching for a fact (e.g., "X"), describe the type of page you want to find (e.g., "detailed blog post about X written by a practitioner").
    • Use natural language: Write queries as grammatical phrases.
    • Avoid Boolean operators: Terms like AND, OR, or NOT are treated as regular words, not logical operators. Quotes do not force exact phrase matching.
    • Avoid very short queries: 1-2 word queries often produce low-quality, scattered results.
    • Handle time semantically: If searching for recent events, calculate the exact dates from your current context and include them in the query (e.g., "published in March 2026") rather than using vague terms like "recent".
  5. Install Exa MCP Server in Claude Desktop

    main

    Exa is available as a native Claude Connector. You can add it via the UI or manually via the configuration file.

    UI Method:

    1. Open Claude Desktop Settings (or Customize) and go to Connectors.
    2. Search for Exa in the directory.
    3. Click + to add it.

    Manual Config Method: Add the following to your config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):

    {
      "mcpServers": {
        "exa": {
          "command": "npx",
          "args": ["-y", "mcp-remote", "https://mcp.exa.ai/mcp"]
        }
      }
    }
  6. Use the Research Paper/Publication Search skill

    main

    Use web_search_advanced_exa with category: "publication" to find academic papers, arXiv preprints, and scientific research.

    Restrictions for category: "publication":

    • includeText and excludeText only support single-item arrays. To match multiple terms, include them in the query string or run separate searches.

    Supported Parameters:

    • query (required)
    • numResults
    • type ("auto", "fast", "deep", "instant")
    • includeDomains / excludeDomains (e.g., ["arxiv.org"])
    • startPublishedDate / endPublishedDate (ISO 8601)
    • includeText / excludeText (single-item arrays only)
    • enableSummary / summaryQuery

    Example: Recent Papers

    web_search_advanced_exa {
      "query": "transformer attention mechanisms efficiency",
      "category": "publication",
      "startPublishedDate": "2024-01-01",
      "numResults": 15,
      "type": "auto"
    }
    web_search_advanced_exa {
      "query": "transformer attention mechanisms efficiency",
      "category": "publication",
      "startPublishedDate": "2024-01-01",
      "numResults": 15,
      "type": "auto"
    }
  7. Use the People Research skill

    main

    Use web_search_advanced_exa with category: "people" to find LinkedIn profiles, professional backgrounds, and experts.

    Critical Restrictions for category: "people":

    • The following parameters cannot be used with this category and will cause errors: startPublishedDate, endPublishedDate, startCrawlDate, endCrawlDate, includeText, excludeText, excludeDomains.
    • includeDomains is only supported for LinkedIn domains (e.g., ["linkedin.com"]).
    • includeText and excludeText only support single-item arrays.

    Example: Discovery

    web_search_advanced_exa {
      "query": "VP Engineering AI infrastructure",
      "category": "people",
      "numResults": 20,
      "type": "auto"
    }
    web_search_advanced_exa {
      "query": "VP Engineering AI infrastructure",
      "category": "people",
      "numResults": 20,
      "type": "auto"
    }
  8. Apply Hard Filters to search results

    main

    Use Hard Filters for binary, mechanical criteria that do not require qualitative judgment. These filters should be applied first to eliminate rows efficiently before performing more expensive operations.

    Criteria types:

    • Date ranges (e.g., "published in 2025")
    • Geographic constraints (e.g., "based in SF or NYC")
    • Numeric thresholds (e.g., "under $500B market cap")
    • Category membership
    • Negation filters (e.g., "excluding Novo Nordisk"): Check for the presence of the excluded value and remove matches.
  9. Distinguish between Practitioners and Commentators

    main

    To improve search quality, distinguish between practitioners (who do the work) and commentators (who write about the work). Use these signals to tag your output:

    Practitioner signals:

    • Shipped products
    • Open-source contributions
    • Case studies with specific numbers
    • First-hand accounts (e.g., "we built X and here's what happened")

    Commentator signals:

    • Roundup posts
    • "Top 10" lists
    • Content primarily linking to others' work
    • Lack of described first-hand experience
  10. Force OAuth login for Exa MCP

    main

    To force an OAuth handshake (allowing users to sign in with their own Exa account), add the login parameter to the URL or use the /mcp/oauth endpoint. This is useful for shared Connectors, Skills, and Plugins.

    Using the main endpoint: https://mcp.exa.ai/mcp?login

    Using the OAuth endpoint: https://mcp.exa.ai/mcp/oauth

    Combining with tools: https://mcp.exa.ai/mcp?tools=web_search_exa,web_fetch_exa,agent_tools&login

  11. Install Exa MCP Server in Cursor

    main

    To use Exa search capabilities in Cursor, add the following configuration to your ~/.cursor/mcp.json file. You must provide your Exa API key in the EXA_API_KEY environment variable.

    {
      "mcpServers": {
        "exa": {
          "command": "npx",
          "args": ["-y", "exa-mcp-server"],
          "env": {
            "EXA_API_KEY": "your_api_key"
          }
        }
      }
    }