Tavily Search MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Tavily Search MCP Serversearch for latest news on AI developments"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Tavily Search MCP Server
A Model Context Protocol (MCP) server for the Tavily Search API with automatic multi-key fallback. Built with FastMCP.
Features
🔄 Multi-key auto fallback — automatically rotates through
TAVILY_API_KEY_1,TAVILY_API_KEY_2, etc. when rate-limited🌐 Web search —
tavily_searchfor general web search📄 Content extraction —
tavily_extractto get content from URLs🗺️ Crawl & Map —
tavily_crawl/tavily_mapfor website structure🔬 Deep Research —
tavily_research_create/tavily_research_getfor AI-powered research📊 Usage tracking —
tavily_usageto check API quota
Related MCP server: Tavily MCP Server
Quick Start
{
"mcpServers": {
"tavily-search": {
"command": "uvx",
"args": ["tavily-search-mcp-server"]
}
}
}Environment Variables
Variable | Required | Description |
| Yes | Primary Tavily API key |
| No | Fallback keys for auto-rotation |
The server automatically discovers TAVILY_API_KEY_* env vars and falls back through them on 429 errors. Also supports single TAVILY_API_KEY for backward compatibility.
Available Tools
Tool | Description |
| Search the web with configurable depth, topic, time range |
| Extract content from one or more URLs |
| Crawl a website with depth/breadth control |
| Map website structure |
| Search with raw content results |
| Create a deep research task |
| Get research task status/results |
| Check API usage/quota |
License
MIT
Available Tools
8 toolstavily_crawlC
爬取网站。多 API Key 自动轮换。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| max_depth | No | ||
| max_breadth | No | ||
| limit | No | ||
| instructions | No | ||
| extract_depth | No | basic | |
| format | No | ||
| include_images | No | ||
| include_favicon | No | ||
| include_usage | No | ||
| chunks_per_source | No | ||
| select_paths | No | ||
| select_domains | No | ||
| exclude_paths | No | ||
| exclude_domains | No | ||
| allow_external | No | ||
| timeout | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions '多 API Key 自动轮换' (multiple API keys auto-rotate), which is a behavioral trait beyond the schema. However, with no annotations provided, the description fails to disclose other critical behaviors such as rate limits, destructive potential, or authentication requirements. Minimal transparency is achieved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two short sentences. It front-loads the primary purpose and adds one key behavioral detail. No filler or redundancy exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 17 parameters, no annotation, and an output schema present, the description is far too brief to provide complete context. Parameter meanings, usage patterns, and return behavior are not addressed, making the tool difficult to use correctly without external documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no explanation of any parameter. The 17 parameters (including url, max_depth, max_breadth, etc.) are entirely undocumented in the text, leaving the agent without semantics beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '爬取网站' (crawl website) clearly states the action and resource. It distinguishes from sibling tools like tavily_search or tavily_extract by using 'crawl' instead of 'search' or 'extract', though no explicit differentiation is provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No context, prerequisites, or when-not-to-use instructions are provided. The description only states what it does without any usage recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tavily_extractC
从 URL 提取内容。多 API Key 自动轮换。
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| extract_depth | No | basic | |
| include_images | No | ||
| format | No | ||
| include_favicon | No | ||
| include_usage | No | ||
| query | No | ||
| chunks_per_source | No | ||
| timeout | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It only mentions automatic API key rotation, but fails to disclose rate limits, error handling, or output characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with two sentences, each providing distinct information. However, it may be under-specified for the complexity of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters and no schema descriptions, the description is incomplete. It does not cover parameter behavior, response format, or usage constraints beyond a basic extraction purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description adds no meaning to any parameter. It does not explain fields like extract_depth, include_images, or timeout, leaving the agent without guidance on parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Extract content from URLs', which clearly indicates the tool's purpose. It distinguishes from sibling tools like search or crawl, but does not specify what type of content extraction is performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like tavily_crawl or tavily_search. The description lacks any context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tavily_mapC
绘制网站结构地图。多 API Key 自动轮换。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| max_depth | No | ||
| max_breadth | No | ||
| limit | No | ||
| instructions | No | ||
| select_paths | No | ||
| select_domains | No | ||
| exclude_paths | No | ||
| exclude_domains | No | ||
| allow_external | No | ||
| include_images | No | ||
| include_usage | No | ||
| timeout | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It only mentions multi API key rotation, which is an implementation detail, but does not disclose whether the tool is read-only, rate limits, or any behavioral traits beyond the basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (two sentences) but for a tool with 13 parameters, this brevity sacrifices needed detail. It is front-loaded with purpose but lacks structure for parameter guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 13 parameters, 0% schema coverage, and an output schema (unseen), the description completely fails to explain the return format or parameter behavior. It is highly incomplete for effective agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not explain any of the 13 parameters. The user gets no insight into how to configure url, max_depth, max_breadth, or other options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '绘制网站结构地图' meaning 'draw website structure map', which is a specific verb+resource. It distinguishes from sibling tools like tavily_crawl (crawling) and tavily_search (searching) by focusing on mapping the site's structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives like tavily_crawl or tavily_extract. The description lacks context for appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tavily_research_createC
创建 Tavily 深度研究任务。多 API Key 自动轮换。
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | ||
| model | No | ||
| output_schema | No | ||
| stream | No | ||
| citation_format | No | numbered | |
| timeout | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only discloses automatic API key rotation, but fails to mention whether the task is synchronous or asynchronous, resource consumption, or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences are concise and front-loaded with the core purpose. However, the brevity sacrifices essential details, making it less effective than a slightly longer but more informative description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, zero schema descriptions, no annotations, and a complex domain (deep research task), the description fails to provide adequate context. It does not explain how to use the tool effectively or what differentiates it from similar tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description provides no explanation for any of the 6 parameters (input, model, output_schema, stream, citation_format, timeout). The output schema exists but is not referenced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a Tavily deep research task and mentions automatic API key rotation. The verb 'create' distinguishes it from sibling tools like tavily_research_get (retrieve), but no explicit differentiation from other research tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like tavily_search or tavily_crawl. No context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tavily_research_getC
查询 Tavily 深度研究任务状态/结果。多 API Key 自动轮换。
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. The auto-rotate key behavior is mentioned, but there is no disclosure of rate limits, possible errors (e.g., task not found), or what happens if the task is still pending. The description is too brief for a mutation-like query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of two short sentences. Every word seems necessary, but the structure could slightly improve by separating the main purpose from the key rotation note. However, it is largely efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one parameter and an output schema, the description is minimal. It lacks context about typical use cases, expected behavior (e.g., poll interval), error handling, or relationship to the sibling tools like tavily_research_create. The auto-rotate detail is helpful but insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage for the only parameter (request_id). The description does not add any meaning beyond the parameter name; it merely restates that it queries status/results. The agent gains no additional insight about the parameter's format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries Tavily deep research task status/results, and along with the tool name and sibling tools, it is easy to understand its purpose. The phrase '多 API Key 自动轮换' adds a unique detail but not necessary for purpose clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The description gives no context about prerequisites (e.g., requires a prior research_create call) or when not to use it. The implicit usage is for checking task results, but it is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tavily_searchC
搜索互联网获取最新信息。多 API Key 自动轮换,配额耗尽时自动切换。
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| search_depth | No | basic | |
| topic | No | general | |
| time_range | No | ||
| start_date | No | ||
| end_date | No | ||
| days | No | ||
| max_results | No | ||
| include_answer | No | ||
| include_images | No | ||
| include_raw_content | No | ||
| include_favicon | No | ||
| include_usage | No | ||
| auto_parameters | No | ||
| exact_match | No | ||
| country | No | ||
| include_domains | No | ||
| exclude_domains | No | ||
| timeout | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. It discloses auto-rotation of API keys and quota exhaustion handling, adding useful behavioral context. However, it does not mention rate limits, cost implications, or behavior when all keys are exhausted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, then behavioral trait. No wasted words. Efficient and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description lacks details on the many parameters (e.g., search_depth, topic, time_range). With 19 parameters, this is insufficient for an agent to use effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for 19 parameters; description adds no explanation of any parameter meanings. The burden on description to compensate is high, but it fails entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it searches the internet for latest information, using a specific verb and resource. However, it does not differentiate from sibling tool 'tavily_search_context', which likely has overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'tavily_search_context' or 'tavily_extract'. The description lacks context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tavily_search_contextC
搜索并返回带原始内容的上下文结果。多 API Key 自动轮换。
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| search_depth | No | basic | |
| topic | No | general | |
| days | No | ||
| max_results | No | ||
| max_tokens | No | ||
| country | No | ||
| include_favicon | No | ||
| include_domains | No | ||
| exclude_domains | No | ||
| timeout | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist. The description mentions automatic API key rotation, a behavioral trait, but fails to disclose whether the tool is read-only, destructive, or any other important behaviors. The return of 'context results' is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences. The primary purpose is front-loaded. However, it lacks detail and could be more structured without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters, no schema descriptions, and no annotations, the description is severely incomplete. It does not explain what makes this tool different from tavily_search, how parameters affect behavior, or what the output schema contains. The agent cannot fully understand how to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage and 11 parameters, the description adds no meaning to any parameter. It does not explain key parameters like query, search_depth, topic, days, etc. The agent is left without guidance on how to fill these fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool searches and returns contextual results with original content, and mentions automatic API key rotation. However, it does not distinguish itself from the sibling tool tavily_search, which likely offers a simpler search without content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool instead of alternatives like tavily_search or tavily_extract. The description implies it is for getting context with content but does not specify use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tavily_usageA
查询 Tavily 使用量/额度。多 API Key 自动轮换。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses automatic API key rotation ('多 API Key 自动轮换'), which is a behavioral trait beyond the name. However, with no annotations it does not address if it is read-only or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with purpose. Could be slightly more structured (e.g., separate usage and behavior), but is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and an output schema, the description is largely complete. It explains the core function and a key behavior (key rotation). It does not address error cases or return format, but output schema likely covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (schema coverage 100%), so baseline 4 applies. The description adds no parameter detail, which is acceptable given no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '查询 Tavily 使用量/额度' (query Tavily usage/quota), specifying both the action and the resource. It distinguishes from sibling tools (crawl, extract, search, etc.) which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The purpose is self-evident but lacks context like 'use before heavy operations' or 'when to check limits'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: search, search with context, crawl, extract, map, research creation, research retrieval, and usage monitoring. No overlap or ambiguity.
All tools follow the consistent 'tavily_<verb>' pattern, using clear action verbs like search, crawl, extract, map, research_create, research_get, and usage. No mixing of conventions.
8 tools is appropriate for a web search and research service, covering core operations without being excessive or insufficient.
The tool surface covers search, crawling, extraction, site mapping, research tasks, and usage monitoring. Minor gap: no tool to list or cancel research tasks, but core workflows are covered.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Web search, fetch, extract, and research for AI agents. Markdown output + AI-synthesized answers.
Web research for agents: quality-scored Google search, webpage extraction, and deep research.
Web search, URL content extraction to Markdown, site mapping, and recursive web crawler.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceProvides AI-powered web search capabilities using Tavily's search API, enabling LLMs to perform sophisticated web searches, get direct answers to questions, and search recent news articles.72MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with real-time web search, intelligent data extraction from web pages, website mapping, and web crawling capabilities through Tavily's API. Enables comprehensive web research and content analysis through natural language interactions.20,899MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform real-time web searches, extract data from web pages, map website structures, and crawl websites using the Tavily API.92MIT
- FlicenseNot gradedqualityCmaintenanceProvides web search capabilities using the Tavily API, enabling AI models to search the internet and retrieve up-to-date information.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/online111111/tavily-search-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server