Skip to main content
Glama

Server Details

Connect AI agents to Exa for web search, content fetching, and multi-step research.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 60 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
exa-labs/exa-mcp-server
GitHub Stars
5,134
Server Listing
Exa MCP Server

TDQS

A4.3/5.0

Scored across 2 tools

Disambiguation5/5

web_search_exa and web_fetch_exa have clearly distinct purposes: searching versus fetching full page content. The descriptions explicitly explain when to use one after the other, leaving no ambiguity.

Naming Consistency5/5

Both tools follow a consistent web_<verb>_exa pattern, using snake_case and predictable verb placement. There is no mixing of conventions.

Tool Count3/5

Two tools is thin for a server purpose that could include more operations like batch search, filtering, or specific extraction modes. While the two core actions earn their place, the set feels borderline minimal.

Completeness4/5

The server covers the core search-then-fetch workflow and supports batching for fetch. Minor gaps exist in search options such as pagination, date filtering, or result-count controls, but agents can work around them.

Available Tools

2 tools
web_fetch_exaFetch Web Pages
Read-onlyIdempotent
Inspect

Read a webpage's full content as clean markdown. Use after web_search_exa when highlights are insufficient or to read any URL.

Best for: Extracting full content from known URLs. Batch multiple URLs in one call. Returns: Clean text content and metadata from the page(s).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYesURLs to read. Batch multiple URLs in one call.
maxCharactersNoMaximum characters to extract per page (default: 3000)
web_search_exaWeb Search
Read-onlyIdempotent
Inspect

Search the web for any topic and get clean, ready-to-use content.

  Best for: Finding current information, news, facts, people, companies, or answering questions about any topic.
  Returns: Clean text content from top search results.

  Query tips:
  describe the ideal page, not keywords. "blog post comparing React and Vue performance" not "React vs Vue".
  Use category:people / category:company to search through Linkedin profiles / companies respectively.
  If highlights are insufficient, follow up with web_fetch_exa on the best URLs.
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language search query. Should be a semantically rich description of the ideal page, not just keywords. Optionally include category:<type> (company, people) to focus results — e.g. 'category:people John Doe software engineer'.
objectiveYesGoal for this search turn; say which documents should rank first, which should be excluded, and what specific facts or figures to pull from them.
numResultsNoNumber of search results to return (default: 10).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedweb_search_exa2 fields changed
      • addedInput schema / properties / objective
        Added value: +{
        +  "description": "Goal for this search turn; say which documents should rank first, which should be excluded, and what specific facts or figures to pull from them.",
        +  "maxLength": 4096,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "query"
        -]New value: +[
        +  "query",
        +  "objective"
        +]
  2. 1 tool update
    • Changedweb_search_exa2 fields changed
      • removedInput schema / properties / objective
        Removed value: -{
        -  "description": "Goal for this search turn; say which documents should rank first, which should be excluded, and what specific facts or figures to pull from them.",
        -  "maxLength": 4096,
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "query",
        -  "objective"
        -]New value: +[
        +  "query"
        +]
  3. 1 tool update
    • Changedweb_search_exa2 fields changed
      • addedInput schema / properties / objective
        Added value: +{
        +  "description": "Goal for this search turn; say which documents should rank first, which should be excluded, and what specific facts or figures to pull from them.",
        +  "maxLength": 4096,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "query"
        -]New value: +[
        +  "query",
        +  "objective"
        +]
  4. 1 tool update
    • Changedweb_search_exa2 fields changed
      • removedInput schema / properties / objective
        Removed value: -{
        -  "description": "Goal for this search turn; say which documents should rank first, which should be excluded, and what specific facts or figures to pull from them.",
        -  "maxLength": 4096,
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "query",
        -  "objective"
        -]New value: +[
        +  "query"
        +]
  5. 1 tool update
    • Changedweb_search_exa2 fields changed
      • addedInput schema / properties / objective
        Added value: +{
        +  "description": "Goal for this search turn; say which documents should rank first, which should be excluded, and what specific facts or figures to pull from them.",
        +  "maxLength": 4096,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "query"
        -]New value: +[
        +  "query",
        +  "objective"
        +]
  6. 1 tool update
    • Changedweb_search_exa2 fields changed
      • removedInput schema / properties / objective
        Removed value: -{
        -  "description": "Goal for this search turn; say which documents should rank first, which should be excluded, and what specific facts or figures to pull from them.",
        -  "maxLength": 4096,
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "query",
        -  "objective"
        -]New value: +[
        +  "query"
        +]
  7. 1 tool update
    • Changedweb_search_exa2 fields changed
      • addedInput schema / properties / objective
        Added value: +{
        +  "description": "Goal for this search turn; say which documents should rank first, which should be excluded, and what specific facts or figures to pull from them.",
        +  "maxLength": 4096,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "query"
        -]New value: +[
        +  "query",
        +  "objective"
        +]
  8. 1 tool update
    • Changedweb_search_exa1 field changed
      • removedInput schema / properties / objective
        Removed value: -{
        -  "description": "The broader task this search is part of. Always include it when known. It supplements the query rather than replacing it so write the query as you normally would.",
        -  "maxLength": 4096,
        -  "minLength": 1,
        -  "type": "string"
        -}
  9. 1 tool update
    • Changedweb_search_exa1 field changed
      • addedInput schema / properties / objective
        Added value: +{
        +  "description": "The broader task this search is part of. Always include it when known. It supplements the query rather than replacing it so write the query as you normally would.",
        +  "maxLength": 4096,
        +  "minLength": 1,
        +  "type": "string"
        +}
  10. 1 tool update
    • Changedweb_search_exa1 field changed
      • removedInput schema / properties / objective
        Removed value: -{
        -  "description": "The broader task this search is part of. Always include it when known. It supplements the query rather than replacing it so write the query as you normally would.",
        -  "maxLength": 4096,
        -  "minLength": 1,
        -  "type": "string"
        -}
  11. 1 tool update
    • Changedweb_search_exa1 field changed
      • addedInput schema / properties / objective
        Added value: +{
        +  "description": "The broader task this search is part of. Always include it when known. It supplements the query rather than replacing it so write the query as you normally would.",
        +  "maxLength": 4096,
        +  "minLength": 1,
        +  "type": "string"
        +}
  12. 1 tool update
    • Changedweb_search_exa1 field changed
      • removedInput schema / properties / objective
        Removed value: -{
        -  "description": "The broader task this search is part of. Always include it when known. It supplements the query rather than replacing it so write the query as you normally would.",
        -  "maxLength": 4096,
        -  "minLength": 1,
        -  "type": "string"
        -}
  13. 1 tool update
    • Changedweb_search_exa1 field changed
      • addedInput schema / properties / objective
        Added value: +{
        +  "description": "The broader task this search is part of. Always include it when known. It supplements the query rather than replacing it so write the query as you normally would.",
        +  "maxLength": 4096,
        +  "minLength": 1,
        +  "type": "string"
        +}
  14. 1 tool update
    • Changedweb_search_exa1 field changed
      • removedInput schema / properties / objective
        Removed value: -{
        -  "description": "The broader task this search is part of. Always include it when known. It supplements the query rather than replacing it so write the query as you normally would.",
        -  "maxLength": 4096,
        -  "minLength": 1,
        -  "type": "string"
        -}
  15. 1 tool update
    • Changedweb_search_exa1 field changed
      • addedInput schema / properties / objective
        Added value: +{
        +  "description": "The broader task this search is part of. Always include it when known. It supplements the query rather than replacing it so write the query as you normally would.",
        +  "maxLength": 4096,
        +  "minLength": 1,
        +  "type": "string"
        +}
  16. 1 tool update
    • Changedweb_search_exa1 field changed
      • removedInput schema / properties / objective
        Removed value: -{
        -  "description": "The broader task this search is part of. Always include it when known. It supplements the query rather than replacing it so write the query as you normally would.",
        -  "maxLength": 4096,
        -  "minLength": 1,
        -  "type": "string"
        -}
  17. 1 tool update
    • Changedweb_search_exa1 field changed
      • addedInput schema / properties / objective
        Added value: +{
        +  "description": "The broader task this search is part of. Always include it when known. It supplements the query rather than replacing it so write the query as you normally would.",
        +  "maxLength": 4096,
        +  "minLength": 1,
        +  "type": "string"
        +}

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects AI assistants to Exa AI's search capabilities for web search, code context retrieval from GitHub repos and documentation, company research, LinkedIn search, and deep research tasks.
    10 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects AI assistants to Exa's search capabilities, enabling web search, code search, and company research.
    19,044 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to perform web searches, research papers, Twitter searches, company research, URL crawling, and LinkedIn searches using the Exa AI Search API for real-time web information.
    19,044 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.