Tavily MCP Server
The Tavily MCP server provides:
- search, extract, map, crawl tools
- Real-time web search capabilities through the tavily-search tool
- Intelligent data extraction from web pages via the tavily-extract tool
- Powerful web mapping tool that creates a structured map of website
- Web crawler that systematically explores websites
📚 Helpful Resources
- Tutorial on combining Tavily MCP with Neo4j MCP server
- Tutorial on integrating Tavily MCP with Cline in VS Code
Connect to Claude Code
Claude Code is Anthropic's official CLI tool for Claude. You can add the Tavily MCP server using the claude mcp add command. There are two ways to authenticate:
Option 1: API Key in URL
Pass your API key directly in the URL. Replace <your-api-key> with your actual Tavily API key:
claude mcp add --transport http tavily https://mcp.tavily.com/mcp/?tavilyApiKey=<your-api-key>
Option 2: OAuth Authentication Flow
Add the server without an API key in the URL:
claude mcp add --transport http tavily https://mcp.tavily.com/mcp
After adding, you'll need to complete the authentication flow:
- Run
claude to start Claude Code
- Type
/mcp to open the MCP server management
- Select the Tavily server and complete the authentication process
Tip: Add --scope user to either command to make the Tavily MCP server available globally across all your projects:
claude mcp add --transport http --scope user tavily https://mcp.tavily.com/mcp/?tavilyApiKey=<your-api-key>
Once configured, you'll have access to the Tavily search, extract, map, and crawl tools.
Connect to Cursor
Click the ⬆️ Add to Cursor ⬆️ button, this will do most of the work for you but you will still need to edit the configuration to add your API-KEY. You can get a Tavily API key here.
once you click the button you should be redirect to Cursor ...
Step 1
Click the install button
Step 2
You should see the MCP is now installed, if the blue slide is not already turned on, manually turn it on. You also need to edit the configuration to include your own Tavily API key.
Step 3
You will then be redirected to your mcp.json file where you have to add your-api-key.
{
"mcpServers": {
"tavily-remote-mcp": {
"command": "npx -y mcp-remote https://mcp.tavily.com/mcp/?tavilyApiKey=<your-api-key>",
"env": {}
}
}
}
Local MCP
Prerequisites 🔧
Before you begin, ensure you have:
- Tavily API key
- If you don't have a Tavily API key, you can sign up for a free account here
- Claude Desktop or Cursor
- Node.js (v20 or higher)
- You can verify your Node.js installation by running:
- Git installed (only needed if using Git installation method)
- On macOS:
brew install git
- On Linux:
- Debian/Ubuntu:
sudo apt install git
- RedHat/CentOS:
sudo yum install git
- On Windows: Download Git for Windows
Running with NPX
npx -y tavily-mcp@latest
Default Parameters Configuration ⚙️
You can set default parameter values for the tavily-search tool using the DEFAULT_PARAMETERS environment variable. This allows you to configure default search behavior without specifying these parameters in every request.
Example Configuration
export DEFAULT_PARAMETERS='{"include_images": true}'
Example usage from Client
{
"mcpServers": {
"tavily-mcp": {
"command": "npx",
"args": ["-y", "tavily-mcp@latest"],
"env": {
"TAVILY_API_KEY": "your-api-key-here",
"DEFAULT_PARAMETERS": "{\"include_images\": true, \"max_results\": 15, \"search_depth\": \"advanced\"}"
}
}
}
}
Identifying the End User (Optional)
You can optionally identify the end user on whose behalf requests are being made by setting the TAVILY_HUMAN_ID environment variable. When set, Tavily MCP forwards it as the X-Human-Id header on every API call, enabling per-user analytics.
This is entirely optional — leave it unset and behavior is unchanged.
{
"mcpServers": {
"tavily-mcp": {
"command": "npx",
"args": ["-y", "tavily-mcp@latest"],
"env": {
"TAVILY_API_KEY": "your-api-key-here",
"TAVILY_HUMAN_ID": "your-user-id"
}
}
}
}
Privacy note: Tavily hashes human_id server-side (SHA-256) before storage, so the raw value is never persisted. Even so, prefer opaque identifiers (e.g. an internal user ID) over raw PII like emails when possible.
Acknowledgments ✨