exa
Server Details
Connect AI agents to Exa for web search, content fetching, and multi-step research.
- 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
Scored across 2 tools
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.
Both tools follow a consistent web_<verb>_exa pattern, using snake_case and predictable verb placement. There is no mixing of conventions.
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.
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 toolsweb_fetch_exaFetch Web PagesRead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | URLs to read. Batch multiple URLs in one call. | |
| maxCharacters | No | Maximum characters to extract per page (default: 3000) |
web_search_exaWeb SearchRead-onlyIdempotentInspect
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.| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural 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'. | |
| objective | Yes | 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. | |
| numResults | No | Number of search results to return (default: 10). |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
web_search_exa2 fields changed- added
Input schema / properties / objectiveAdded 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" +} - changed
Input schema / requiredPrevious value: -[ - "query" -]New value: +[ + "query", + "objective" +]
1 tool update
- Changed
web_search_exa2 fields changed- removed
Input schema / properties / objectiveRemoved 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" -} - changed
Input schema / requiredPrevious value: -[ - "query", - "objective" -]New value: +[ + "query" +]
1 tool update
- Changed
web_search_exa2 fields changed- added
Input schema / properties / objectiveAdded 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" +} - changed
Input schema / requiredPrevious value: -[ - "query" -]New value: +[ + "query", + "objective" +]
1 tool update
- Changed
web_search_exa2 fields changed- removed
Input schema / properties / objectiveRemoved 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" -} - changed
Input schema / requiredPrevious value: -[ - "query", - "objective" -]New value: +[ + "query" +]
1 tool update
- Changed
web_search_exa2 fields changed- added
Input schema / properties / objectiveAdded 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" +} - changed
Input schema / requiredPrevious value: -[ - "query" -]New value: +[ + "query", + "objective" +]
1 tool update
- Changed
web_search_exa2 fields changed- removed
Input schema / properties / objectiveRemoved 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" -} - changed
Input schema / requiredPrevious value: -[ - "query", - "objective" -]New value: +[ + "query" +]
1 tool update
- Changed
web_search_exa2 fields changed- added
Input schema / properties / objectiveAdded 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" +} - changed
Input schema / requiredPrevious value: -[ - "query" -]New value: +[ + "query", + "objective" +]
1 tool update
- Changed
web_search_exa1 field changed- removed
Input schema / properties / objectiveRemoved 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" -}
1 tool update
- Changed
web_search_exa1 field changed- added
Input schema / properties / objectiveAdded 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" +}
1 tool update
- Changed
web_search_exa1 field changed- removed
Input schema / properties / objectiveRemoved 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" -}
1 tool update
- Changed
web_search_exa1 field changed- added
Input schema / properties / objectiveAdded 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" +}
1 tool update
- Changed
web_search_exa1 field changed- removed
Input schema / properties / objectiveRemoved 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" -}
1 tool update
- Changed
web_search_exa1 field changed- added
Input schema / properties / objectiveAdded 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" +}
1 tool update
- Changed
web_search_exa1 field changed- removed
Input schema / properties / objectiveRemoved 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" -}
1 tool update
- Changed
web_search_exa1 field changed- added
Input schema / properties / objectiveAdded 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" +}
1 tool update
- Changed
web_search_exa1 field changed- removed
Input schema / properties / objectiveRemoved 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" -}
1 tool update
- Changed
web_search_exa1 field changed- added
Input schema / properties / objectiveAdded 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
Web search and page-reading for AI agents. One-click OAuth connect, or a Caesar API key.
Web search and page reading for AI agents, including JSON APIs, RSS feeds and YouTube.
Web search, fetch, extract, and research for AI agents. Markdown output + AI-synthesized answers.
Agent-native search engine with live web research optimized for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects 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 npmMIT
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to Exa's search capabilities, enabling web search, code search, and company research.19,044 npmMIT
- AlicenseNot gradedqualityDmaintenanceConnect AI assistants to Exa's search capabilities: web search, code search, and company research.19,044 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables 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 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.