Skip to content
↑↓navigate↵openescclose
Claude+372Whisper+228LangChain+168Codex+223NotebookLM+276DALL-E 3+192DeepL+249n8n+208Topaz Video AI+153LlamaIndex+161

Exa MCP vs Tavily MCP

Exa MCP suits search and multi-step research with an optional agent. Tavily MCP suits web data collection with separate search, extraction, crawl and site-mapping tools.

At a glance

At a glanceExa MCPSearch for agents, where a result carries page content rather than a link.Tavily MCPSearch, page extraction, crawling and site mapping behind one API key.
Weekly downloads11K14K
OfficialOfficialOfficial
RuntimeNodeNode
Transportbothboth
AuthRequiredRequired
Tools44
LicenseMITMIT
Installnpx -y exa-mcp-servernpx -y tavily-mcp@latest
8-week trend-16.5% in 7 days+14.5% in 7 days

When to pick Exa MCP

  • Pick Exa MCP when your coding assistant needs to search a topic and read the pages it finds. web_search_exa returns ranked results with page text, while web_fetch_exa retrieves clean markdown from one or more URLs.
  • Choose it when research needs domain or date filters, highlights, summaries or subpage crawling. Enable web_search_advanced_exa for these controls instead of relying only on the default search tool.
  • Use it when a task extends into list-building, enrichment or research with structured output. The optional agent_run tool runs an Exa Agent for multi-step work and requires OAuth or an API key.
  • Choose the plugin installation when you also want packaged research instructions. Exa includes search and exa-agent skills with Agent Plugin and Claude plugin installs; an MCP-only connection exposes the tools without those skills.

When to pick Tavily MCP

  • Pick Tavily MCP when you need to discover a site's URL structure before deciding which pages to read. tavily-map lists that structure, giving the assistant a separate discovery step before content extraction.
  • Choose it when collecting material requires following links across a website. tavily-crawl explores the site, while tavily-extract pulls text from selected pages. These are separate operations alongside tavily-search.
  • Use it when repeated searches should share settings such as search depth or image inclusion. The local server accepts search defaults through DEFAULT_PARAMETERS; the remote server accepts a header with the same name containing JSON defaults.
  • Choose it when your integration needs per-user analytics. Set the optional TAVILY_HUMAN_ID to forward an identifier on API calls. Tavily documents hashing it before storage and recommends opaque identifiers rather than email addresses.

Main differences

  • Exa organizes its default workflow around search and URL fetching, with advanced search and an agent available separately. Tavily exposes search, extraction, mapping and crawling as distinct tools, which fits workflows that explicitly separate site discovery from page collection.
  • Exa's advanced search includes subpage crawling, so crawling is not exclusive to Tavily. Tavily's distinction is its dedicated tavily-crawl and tavily-map tools; Exa's listed tools include an agent for broader research tasks.
  • Both offer a local Node process and a hosted connection. Exa documents Streamable HTTP for its hosted endpoint; Tavily documents remote HTTP and local stdio. Local installation still connects to the provider's service: Exa wraps its search API, and Tavily executes web operations on its servers without starting a local browser.
  • Both document OAuth and API-key authentication. Exa's README specifically allows anonymous hosted access with rate limits, while requiring authentication for Exa Agent. Tavily's documented connection paths use OAuth or an API key. Both accept URL keys or bearer headers; Exa also accepts x-api-key.
  • Exa's tools URL parameter changes which tools are exposed and replaces the default selection, so include every tool you want to retain. Tavily's DEFAULT_PARAMETERS configures request defaults, such as search depth, rather than selecting tools.

Setup

For Exa, use the documented npm command npx -y exa-mcp-server for a local launch, or configure a hosted Streamable HTTP connection to https://mcp.exa.ai/mcp. For the Claude plugin route, run claude plugin install exa@claude-plugins-official. Authenticate with OAuth or an API key when using Exa Agent.

For Tavily, launch locally with npx -y tavily-mcp@latest and set TAVILY_API_KEY in the client's server environment. For a hosted Claude Code connection, run claude mcp add --transport http tavily https://mcp.tavily.com/mcp, then open /mcp in Claude Code, select Tavily and complete OAuth.

· github.com/exa-labs/exa-mcp-server, github.com/tavily-ai/tavily-mcp