Exa vs Tavily
Exa and Tavily are both in Search and retrieval in this directory. The table repeats the description, category, transport, auth, publisher mark, and links stored on each listing. A field this directory does not have says Not listed. This page is not a ranking and does not add features, prices, or test results.
| Field | Exa | Tavily |
|---|---|---|
| Description | Exa is an MCP server for web search and for fetching page content as markdown. | Tavily is an MCP server for web search, with extract, map, and crawl tools. |
| Category | Search and retrieval | Search and retrieval |
| Transport | Streamable HTTP, shown as type streamable-http in the client example. | The remote Claude Code example uses HTTP (--transport http). The local section shows an npx command and does not name stdio or HTTP for that command. |
| Auth | The README says anonymous use works with rate limits. OAuth is preferred, via https://mcp.exa.ai/mcp?login or https://mcp.exa.ai/mcp/oauth. An API key can be passed as the exaApiKey query parameter, an Authorization: Bearer header, or an x-api-key header. Exa Agent requires OAuth or an API key. The README links API keys at https://dashboard.exa.ai/api-keys. | API key in the tavilyApiKey query parameter or an Authorization: Bearer header. OAuth on the remote server is optional. The local example sets TAVILY_API_KEY. The README says a free account is available at https://app.tavily.com/home. |
| Publisher | Not listed | Not listed |
| Listing link | https://github.com/exa-labs/exa-mcp-server | https://github.com/tavily-ai/tavily-mcp |
| Repository | https://github.com/exa-labs/exa-mcp-server | https://github.com/tavily-ai/tavily-mcp |
| Homepage | https://exa.ai | https://tavily.com |
| Source | https://github.com/exa-labs/exa-mcp-server/blob/main/README.md | https://github.com/tavily-ai/tavily-mcp/blob/main/README.md |
Connect it: Exa
from vendor docs, not tested by us
Source: Exa MCP server README
Remote URL
Claude Desktop
{
"mcpServers": {
"exa": {
"url": "https://mcp.exa.ai/mcp"
}
}
}Claude Code
claude mcp add --transport http exa "https://mcp.exa.ai/mcp"Cursor
{
"mcpServers": {
"exa": {
"url": "https://mcp.exa.ai/mcp"
}
}
}VS Code
{
"servers": {
"exa": {
"type": "http",
"url": "https://mcp.exa.ai/mcp"
}
}
}Connect it: Tavily
from vendor docs, not tested by us
Source: Tavily MCP README
The README also shows a tavilyApiKey query parameter on the remote URL. This snippet uses the URL it prints without a key.
Remote URL
Claude Desktop
{
"mcpServers": {
"tavily": {
"url": "https://mcp.tavily.com/mcp"
}
}
}Claude Code
claude mcp add --transport http tavily "https://mcp.tavily.com/mcp"Cursor
{
"mcpServers": {
"tavily": {
"url": "https://mcp.tavily.com/mcp"
}
}
}VS Code
{
"servers": {
"tavily": {
"type": "http",
"url": "https://mcp.tavily.com/mcp"
}
}
}Local command
Claude Desktop
{
"mcpServers": {
"tavily": {
"command": "npx",
"args": [
"-y",
"tavily-mcp@latest"
]
}
}
}Claude Code
claude mcp add tavily -- npx -y tavily-mcp@latestCursor
{
"mcpServers": {
"tavily": {
"command": "npx",
"args": [
"-y",
"tavily-mcp@latest"
]
}
}
}VS Code
{
"servers": {
"tavily": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"tavily-mcp@latest"
]
}
}
}