About Tavily Mcp
Tavily MCP is an MCP server from Tavily that provides real-time web search, content extraction, site mapping, and crawling tools. It can run locally through npx or connect to Tavily's remote MCP server. Both API key and OAuth authentication are supported.
Key features
- 01Real-time web search via tavily-search tool
- 02Web content extraction via tavily-extract tool
- 03Site mapping and systematic crawling
- 04Local npx run or remote MCP connection
- 05API key or OAuth authentication
- 06Default search parameters through DEFAULT_PARAMETERS
Use cases
- 01Giving an AI assistant access to current web search results
- 02Extracting content from web pages for analysis
- 03Mapping a website's structure or crawling its pages
MCP support
Tavily MCP is an MCP server that exposes search, extract, map, and crawl tools to MCP clients, reachable through a local process or a remote endpoint from clients such as Claude Code and Cursor.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y tavily-mcpTAVILY_API_KEYSecretYour Tavily API key from tavily.comDEFAULT_PARAMETERSJSON string with default search parameters (e.g., {"include_images": true, "max_results": 15})Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
5Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Search query |
| search_depth | enum | No | The depth of the search. 'basic' for generic results, 'advanced' for more thorough search, 'fast' for optimized low latency with high relevance, 'ultra-fast' for prioritizing latency above all elsebasic | advanced | fast | ultra-fast |
| topic | enum | No | The category of the search. This will determine which of our agents will be used for the searchgeneral |
| time_range | enum | No | The time range back from the current date to include in the search resultsday | week | month | year |
| start_date | string | No | Will return all results after the specified start date. Required to be written in the format YYYY-MM-DD. |
| end_date | string | No | Will return all results before the specified end date. Required to be written in the format YYYY-MM-DD |
| max_results | number | No | The maximum number of search results to return |
| include_images | boolean | No | Include a list of query-related images in the response |
| include_image_descriptions | boolean | No | Include a list of query-related images and their descriptions in the response |
| include_raw_content | boolean | No | Include the cleaned and parsed HTML content of each search result |
| include_domains | array | No | A list of domains to specifically include in the search results, if the user asks to search on specific sites set this to the domain of the site |
| exclude_domains | array | No | List of domains to specifically exclude, if the user asks to exclude a domain set this to the domain of the site |
| country | string | No | Boost search results from a specific country. Must be a full country name (e.g., 'United States', 'Japan', 'Germany'). ISO country codes (e.g., 'us', 'jp') are not supported. Available only if topic is general. See https://docs.tavily.com/documentation/api-reference/search for the full list of supported countries. |
| include_favicon | boolean | No | Whether to include the favicon URL for each result |
| exact_match | boolean | No | Only return results containing the exact phrase(s) in quotes in your query |
Details
From the project READMETavily 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
Remote MCP Server
Connect directly to Tavily's remote MCP server instead of running it locally. This provides a seamless experience without requiring local installation or configuration.
Simply use the remote MCP server URL with your Tavily API key:
https://mcp.tavily.com/mcp/?tavilyApiKey=<your-api-key>
Get your Tavily API key from tavily.com.
Alternatively, you can pass your API key through an Authorization header if the MCP client supports this:
Authorization: Bearer <your-api-key>
Note: When using the remote MCP, you can specify default parameters for all requests by including a DEFAULT_PARAMETERS header containing a JSON object with your desired defaults. Example:
{"include_images":true, "search_depth": "basic", "max_results": 10}
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
claudeto start Claude Code - Type
/mcpto 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": {}
}
}
}
Remote MCP Server OAuth Flow
The Tavily Remote MCP server supports secure OAuth authentication, allowing you to connect and authorize seamlessly with compatible clients.
How to Set Up OAuth Authentication
A. Using MCP Inspector:
- Open the MCP Inspector and click "Open Auth Settings".
- Select the OAuth flow and complete these steps:
- Metadata discovery
- Client registration
- Preparing authorization
- Request authorization and obtain the authorization code
- Token request
- Authentication complete
Once finished, you will receive an access token that lets you securely make authenticated requests to the Tavily Remote MCP server.
B. Using other MCP Clients (Example: Cursor):
You can configure your MCP client to use OAuth without including your Tavily API key in the URL. For example, in your mcp.json:
{
"mcpServers": {
"tavily-remote-mcp": {
"command": "npx mcp-remote https://mcp.tavily.com/mcp",
"env": {}
}
}
}
If you need to clear stored OAuth credentials and reauthenticate, run:
rm -rf ~/.mcp-auth
Note:
- OAuth authentication is optional. You can still use API key authentication at any time by including your Tavily API key in the URL query parameter (
?tavilyApiKey=...) or by setting it in theAuthorizationheader, as described above.
Selecting Which API Key Is Used for OAuth
After successful OAuth authentication, you can control which API key is used by naming it mcp_auth_default:
- If you set a key named
mcp_auth_defaultin your personal account, that key will be used for the auth flow. - If you are part of a team that has a key named
mcp_auth_default, that key will be used for the auth flow. - If you have both a personal key and a team key named
mcp_auth_default, the personal key will be prioritized. - If no
mcp_auth_defaultkey is set, thedefaultkey in your personal account will be used. If nodefaultkey is set, the first available key will be used.
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:
node --version
- 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
- Debian/Ubuntu:
- On Windows: Download Git for Windows
- On macOS:
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 ✨
- Model Context Protocol for the MCP specification
- Anthropic for Claude Desktop
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.