Skip to main content
Glama

AIsa Web Search & Research

Search Tavily Data

post_tavily_search
Destructive

Search the web and get back ranked results with the page text already extracted, so there is no second call to fetch content. query is required. Returns results[] with url, title, content (the extracted excerpt), score and optionally raw_content, alongside query, images, response_time and request_id; set include_answer to also get a one-paragraph answer. Filter with topic (general/news/finance), time_range or explicit start_date/end_date, and trade cost against depth with search_depth. Measured at roughly 6 seconds for 2 results. This is the default choice for open-web research, and the only search here that returns ranked results and page text in one call. Reach past it when: you already know the URLs — post_tavily_extract is cheaper and exact; the query is a description rather than keywords — post_exa_search matches on meaning; you want a written answer rather than a list to iterate — post_perplexity_sonar; you want peer-reviewed papers — post_scholar_search_scholar.

Usage-based billing; Default request estimate: $0.016 USD (not a fixed price). Declared unit rate: $0.008 USD per tavily_credit. Account-specific pricing and final settlement may differ.

Input Schema

NameRequiredDescriptionDefault
bodyYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed22 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / auto_parameters
      Removed value: -{
      -  "default": false,
      -  "description": "Automatically configure search parameters based on query content.",
      -  "type": "boolean"
      -}
    • addedInput schema / properties / body
      Added value: +{
      +  "properties": {
      +    "auto_parameters": {
      +      "default": false,
      +      "description": "Automatically configure search parameters based on query content.",
      +      "type": "boolean"
      +    },
      +    "chunks_per_source": {
      +      "default": 3,
      +      "description": "Maximum number of relevant chunks returned per source.",
      +      "maximum": 3,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "country": {
      +      "description": "Boost search results from a specific country. Available only when topic is general.",
      +      "enum": [
      +        "afghanistan",
      +        "albania",
      +        "algeria",
      +        "andorra",
      +        "angola",
      +        "argentina",
      +        "armenia",
      +        "australia",
      +        "austria",
      +        "azerbaijan",
      +        "bahamas",
      +        "bahrain",
      +        "bangladesh",
      +        "barbados",
      +        "belarus",
      +        "belgium",
      +        "belize",
      +        "benin",
      +        "bhutan",
      +        "bolivia",
      +        "bosnia and herzegovina",
      +        "botswana",
      +        "brazil",
      +        "brunei",
      +        "bulgaria",
      +        "burkina faso",
      +        "burundi",
      +        "cambodia",
      +        "cameroon",
      +        "canada",
      +        "cape verde",
      +        "central african republic",
      +        "chad",
      +        "chile",
      +        "china",
      +        "colombia",
      +        "comoros",
      +        "congo",
      +        "costa rica",
      +        "croatia",
      +        "cuba",
      +        "cyprus",
      +        "czech republic",
      +        "denmark",
      +        "djibouti",
      +        "dominican republic",
      +        "ecuador",
      +        "egypt",
      +        "el salvador",
      +        "equatorial guinea",
      +        "eritrea",
      +        "estonia",
      +        "ethiopia",
      +        "fiji",
      +        "finland",
      +        "france",
      +        "gabon",
      +        "gambia",
      +        "georgia",
      +        "germany",
      +        "ghana",
      +        "greece",
      +        "guatemala",
      +        "guinea",
      +        "haiti",
      +        "honduras",
      +        "hungary",
      +        "iceland",
      +        "india",
      +        "indonesia",
      +        "iran",
      +        "iraq",
      +        "ireland",
      +        "israel",
      +        "italy",
      +        "jamaica",
      +        "japan",
      +        "jordan",
      +        "kazakhstan",
      +        "kenya",
      +        "kuwait",
      +        "kyrgyzstan",
      +        "latvia",
      +        "lebanon",
      +        "lesotho",
      +        "liberia",
      +        "libya",
      +        "liechtenstein",
      +        "lithuania",
      +        "luxembourg",
      +        "madagascar",
      +        "malawi",
      +        "malaysia",
      +        "maldives",
      +        "mali",
      +        "malta",
      +        "mauritania",
      +        "mauritius",
      +        "mexico",
      +        "moldova",
      +        "monaco",
      +        "mongolia",
      +        "montenegro",
      +        "morocco",
      +        "mozambique",
      +        "myanmar",
      +        "namibia",
      +        "nepal",
      +        "netherlands",
      +        "new zealand",
      +        "nicaragua",
      +        "niger",
      +        "nigeria",
      +        "north korea",
      +        "north macedonia",
      +        "norway",
      +        "oman",
      +        "pakistan",
      +        "panama",
      +        "papua new guinea",
      +        "paraguay",
      +        "peru",
      +        "philippines",
      +        "poland",
      +        "portugal",
      +        "qatar",
      +        "romania",
      +        "russia",
      +        "rwanda",
      +        "saudi arabia",
      +        "senegal",
      +        "serbia",
      +        "singapore",
      +        "slovakia",
      +        "slovenia",
      +        "somalia",
      +        "south africa",
      +        "south korea",
      +        "south sudan",
      +        "spain",
      +        "sri lanka",
      +        "sudan",
      +        "sweden",
      +        "switzerland",
      +        "syria",
      +        "taiwan",
      +        "tajikistan",
      +        "tanzania",
      +        "thailand",
      +        "togo",
      +        "trinidad and tobago",
      +        "tunisia",
      +        "turkey",
      +        "turkmenistan",
      +        "uganda",
      +        "ukraine",
      +        "united arab emirates",
      +        "united kingdom",
      +        "united states",
      +        "uruguay",
      +        "uzbekistan",
      +        "venezuela",
      +        "vietnam",
      +        "yemen",
      +        "zambia",
      +        "zimbabwe"
      +      ],
      +      "type": "string"
      +    },
      +    "end_date": {
      +      "description": "Return results before the specified end date.",
      +      "example": "2025-12-29",
      +      "format": "date",
      +      "type": "string"
      +    },
      +    "exclude_domains": {
      +      "description": "List of domains to specifically exclude from the search results.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "maxItems": 150,
      +      "type": "array"
      +    },
      +    "include_answer": {
      +      "default": false,
      +      "description": "Include an LLM-generated answer. true uses the default answer mode; basic or advanced selects the answer generation mode.",
      +      "oneOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "enum": [
      +            "basic",
      +            "advanced"
      +          ],
      +          "type": "string"
      +        }
      +      ]
      +    },
      +    "include_domains": {
      +      "description": "List of domains to specifically include in the search results.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "maxItems": 300,
      +      "type": "array"
      +    },
      +    "include_favicon": {
      +      "default": false,
      +      "description": "Include the favicon URL for each result.",
      +      "type": "boolean"
      +    },
      +    "include_image_descriptions": {
      +      "default": false,
      +      "description": "Add descriptive text for each image when include_images is true.",
      +      "type": "boolean"
      +    },
      +    "include_images": {
      +      "default": false,
      +      "description": "Perform an image search and include results.",
      +      "type": "boolean"
      +    },
      +    "include_raw_content": {
      +      "default": false,
      +      "description": "Include cleaned and parsed content for each search result. true or markdown returns markdown; text returns plain text and may increase latency.",
      +      "oneOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "enum": [
      +            "markdown",
      +            "text"
      +          ],
      +          "type": "string"
      +        }
      +      ]
      +    },
      +    "include_usage": {
      +      "default": false,
      +      "description": "Include credit usage information in the response.",
      +      "type": "boolean"
      +    },
      +    "max_results": {
      +      "default": 5,
      +      "description": "Maximum number of search results to return.",
      +      "maximum": 20,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "query": {
      +      "description": "The search query to execute with Tavily.",
      +      "example": "Who is Leo Messi?",
      +      "type": "string"
      +    },
      +    "safe_search": {
      +      "default": false,
      +      "description": "Filter out adult or unsafe content from search results. Enterprise only; not supported when search_depth is fast or ultra-fast.",
      +      "type": "boolean"
      +    },
      +    "search_depth": {
      +      "default": "basic",
      +      "description": "Controls the latency vs. relevance tradeoff. advanced gives the highest relevance with higher latency and cost; basic is balanced; fast and ultra-fast optimize for lower latency.",
      +      "enum": [
      +        "advanced",
      +        "basic",
      +        "fast",
      +        "ultra-fast"
      +      ],
      +      "type": "string"
      +    },
      +    "start_date": {
      +      "description": "Return results after the specified start date.",
      +      "example": "2025-02-09",
      +      "format": "date",
      +      "type": "string"
      +    },
      +    "time_range": {
      +      "description": "Time range to filter results based on publish date.",
      +      "enum": [
      +        "day",
      +        "week",
      +        "month",
      +        "year",
      +        "d",
      +        "w",
      +        "m",
      +        "y"
      +      ],
      +      "type": "string"
      +    },
      +    "topic": {
      +      "default": "general",
      +      "description": "Category of the search.",
      +      "enum": [
      +        "general",
      +        "news",
      +        "finance"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "query"
      +  ],
      +  "type": "object"
      +}
    • removedInput schema / properties / chunks_per_source
      Removed value: -{
      -  "default": 3,
      -  "description": "Maximum number of relevant chunks returned per source.",
      -  "maximum": 3,
      -  "minimum": 1,
      -  "type": "integer"
      -}
    • removedInput schema / properties / country
      Removed value: -{
      -  "description": "Boost search results from a specific country. Available only when topic is general.",
      -  "enum": [
      -    "afghanistan",
      -    "albania",
      -    "algeria",
      -    "andorra",
      -    "angola",
      -    "argentina",
      -    "armenia",
      -    "australia",
      -    "austria",
      -    "azerbaijan",
      -    "bahamas",
      -    "bahrain",
      -    "bangladesh",
      -    "barbados",
      -    "belarus",
      -    "belgium",
      -    "belize",
      -    "benin",
      -    "bhutan",
      -    "bolivia",
      -    "bosnia and herzegovina",
      -    "botswana",
      -    "brazil",
      -    "brunei",
      -    "bulgaria",
      -    "burkina faso",
      -    "burundi",
      -    "cambodia",
      -    "cameroon",
      -    "canada",
      -    "cape verde",
      -    "central african republic",
      -    "chad",
      -    "chile",
      -    "china",
      -    "colombia",
      -    "comoros",
      -    "congo",
      -    "costa rica",
      -    "croatia",
      -    "cuba",
      -    "cyprus",
      -    "czech republic",
      -    "denmark",
      -    "djibouti",
      -    "dominican republic",
      -    "ecuador",
      -    "egypt",
      -    "el salvador",
      -    "equatorial guinea",
      -    "eritrea",
      -    "estonia",
      -    "ethiopia",
      -    "fiji",
      -    "finland",
      -    "france",
      -    "gabon",
      -    "gambia",
      -    "georgia",
      -    "germany",
      -    "ghana",
      -    "greece",
      -    "guatemala",
      -    "guinea",
      -    "haiti",
      -    "honduras",
      -    "hungary",
      -    "iceland",
      -    "india",
      -    "indonesia",
      -    "iran",
      -    "iraq",
      -    "ireland",
      -    "israel",
      -    "italy",
      -    "jamaica",
      -    "japan",
      -    "jordan",
      -    "kazakhstan",
      -    "kenya",
      -    "kuwait",
      -    "kyrgyzstan",
      -    "latvia",
      -    "lebanon",
      -    "lesotho",
      -    "liberia",
      -    "libya",
      -    "liechtenstein",
      -    "lithuania",
      -    "luxembourg",
      -    "madagascar",
      -    "malawi",
      -    "malaysia",
      -    "maldives",
      -    "mali",
      -    "malta",
      -    "mauritania",
      -    "mauritius",
      -    "mexico",
      -    "moldova",
      -    "monaco",
      -    "mongolia",
      -    "montenegro",
      -    "morocco",
      -    "mozambique",
      -    "myanmar",
      -    "namibia",
      -    "nepal",
      -    "netherlands",
      -    "new zealand",
      -    "nicaragua",
      -    "niger",
      -    "nigeria",
      -    "north korea",
      -    "north macedonia",
      -    "norway",
      -    "oman",
      -    "pakistan",
      -    "panama",
      -    "papua new guinea",
      -    "paraguay",
      -    "peru",
      -    "philippines",
      -    "poland",
      -    "portugal",
      -    "qatar",
      -    "romania",
      -    "russia",
      -    "rwanda",
      -    "saudi arabia",
      -    "senegal",
      -    "serbia",
      -    "singapore",
      -    "slovakia",
      -    "slovenia",
      -    "somalia",
      -    "south africa",
      -    "south korea",
      -    "south sudan",
      -    "spain",
      -    "sri lanka",
      -    "sudan",
      -    "sweden",
      -    "switzerland",
      -    "syria",
      -    "taiwan",
      -    "tajikistan",
      -    "tanzania",
      -    "thailand",
      -    "togo",
      -    "trinidad and tobago",
      -    "tunisia",
      -    "turkey",
      -    "turkmenistan",
      -    "uganda",
      -    "ukraine",
      -    "united arab emirates",
      -    "united kingdom",
      -    "united states",
      -    "uruguay",
      -    "uzbekistan",
      -    "venezuela",
      -    "vietnam",
      -    "yemen",
      -    "zambia",
      -    "zimbabwe"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / end_date
      Removed value: -{
      -  "description": "Return results before the specified end date.",
      -  "example": "2025-12-29",
      -  "format": "date",
      -  "type": "string"
      -}
    • removedInput schema / properties / exclude_domains
      Removed value: -{
      -  "description": "List of domains to specifically exclude from the search results.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "maxItems": 150,
      -  "type": "array"
      -}
    • removedInput schema / properties / include_answer
      Removed value: -{
      -  "default": false,
      -  "description": "Include an LLM-generated answer. true uses the default answer mode; basic or advanced selects the answer generation mode.",
      -  "oneOf": [
      -    {
      -      "type": "boolean"
      -    },
      -    {
      -      "enum": [
      -        "basic",
      -        "advanced"
      -      ],
      -      "type": "string"
      -    }
      -  ]
      -}
    • removedInput schema / properties / include_domains
      Removed value: -{
      -  "description": "List of domains to specifically include in the search results.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "maxItems": 300,
      -  "type": "array"
      -}
    • removedInput schema / properties / include_favicon
      Removed value: -{
      -  "default": false,
      -  "description": "Include the favicon URL for each result.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / include_image_descriptions
      Removed value: -{
      -  "default": false,
      -  "description": "Add descriptive text for each image when include_images is true.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / include_images
      Removed value: -{
      -  "default": false,
      -  "description": "Perform an image search and include results.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / include_raw_content
      Removed value: -{
      -  "default": false,
      -  "description": "Include cleaned and parsed content for each search result. true or markdown returns markdown; text returns plain text and may increase latency.",
      -  "oneOf": [
      -    {
      -      "type": "boolean"
      -    },
      -    {
      -      "enum": [
      -        "markdown",
      -        "text"
      -      ],
      -      "type": "string"
      -    }
      -  ]
      -}
    • removedInput schema / properties / include_usage
      Removed value: -{
      -  "default": false,
      -  "description": "Include credit usage information in the response.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / max_results
      Removed value: -{
      -  "default": 5,
      -  "description": "Maximum number of search results to return.",
      -  "maximum": 20,
      -  "minimum": 0,
      -  "type": "integer"
      -}
    • removedInput schema / properties / query
      Removed value: -{
      -  "description": "The search query to execute with Tavily.",
      -  "example": "Who is Leo Messi?",
      -  "type": "string"
      -}
    • removedInput schema / properties / safe_search
      Removed value: -{
      -  "default": false,
      -  "description": "Filter out adult or unsafe content from search results. Enterprise only; not supported when search_depth is fast or ultra-fast.",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / search_depth
      Removed value: -{
      -  "default": "basic",
      -  "description": "Controls the latency vs. relevance tradeoff. advanced gives the highest relevance with higher latency and cost; basic is balanced; fast and ultra-fast optimize for lower latency.",
      -  "enum": [
      -    "advanced",
      -    "basic",
      -    "fast",
      -    "ultra-fast"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / start_date
      Removed value: -{
      -  "description": "Return results after the specified start date.",
      -  "example": "2025-02-09",
      -  "format": "date",
      -  "type": "string"
      -}
    • removedInput schema / properties / time_range
      Removed value: -{
      -  "description": "Time range to filter results based on publish date.",
      -  "enum": [
      -    "day",
      -    "week",
      -    "month",
      -    "year",
      -    "d",
      -    "w",
      -    "m",
      -    "y"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / topic
      Removed value: -{
      -  "default": "general",
      -  "description": "Category of the search.",
      -  "enum": [
      -    "general",
      -    "news",
      -    "finance"
      -  ],
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "query"
      -]New value: +[
      +  "body"
      +]
  2. Changed4 schema fields changed
    • removedInput schema / properties / include_answer / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "enum": [
      -      "basic",
      -      "advanced"
      -    ],
      -    "type": "string"
      -  }
      -]
    • addedInput schema / properties / include_answer / oneOf
      Added value: +[
      +  {
      +    "type": "boolean"
      +  },
      +  {
      +    "enum": [
      +      "basic",
      +      "advanced"
      +    ],
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / include_raw_content / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "enum": [
      -      "markdown",
      -      "text"
      -    ],
      -    "type": "string"
      -  }
      -]
    • addedInput schema / properties / include_raw_content / oneOf
      Added value: +[
      +  {
      +    "type": "boolean"
      +  },
      +  {
      +    "enum": [
      +      "markdown",
      +      "text"
      +    ],
      +    "type": "string"
      +  }
      +]
  3. First observed

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds meaningful behavioral context beyond the structured fields: ~6 second latency at 2 results, the cost-vs-depth tradeoff exposed by search_depth, and the usage-based billing note. It also pre-empts a common follow-up by stating page text is already extracted. One gap: it never reconciles the destructiveHint=true/readOnlyHint=false annotations with what is plainly a read-only retrieval, so an agent reading the annotations alone would be misled; the description does not correct that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded correctly: capability and return shape first, then filtering/depth knobs, then latency, then sibling routing. Every sentence carries information. It is, however, a dense single block packing five distinct concerns (returns, params, latency, routing, billing) without visual separation, which slightly raises scan cost for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, yet the description names the key response fields (results[], query, images, response_time, request_id) for extra safety. Combined with filtering knobs, latency, cost, and explicit sibling routing, an agent has everything needed to choose and call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The top-level schema exposes only the wrapper `body` object (coverage metric 0% at that level), yet the nested properties are individually documented. The description still adds selection guidance beyond the raw field docs: `query` is required, `topic`/`time_range`/`start_date`/`end_date` for filtering, `search_depth` framed as a cost-vs-depth dial, and `include_answer` framed as the way to get a one-paragraph answer. That is useful decision-level semantics rather than restated field text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (search the web) and immediately scopes it: ranked results with page text already extracted so no second fetch call is needed. It explicitly differentiates from siblings, claiming it is 'the only search here that returns ranked results and page text in one call,' which lets an agent separate it from post_exa_search, post_tavily_extract and post_firecrawl_search without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names itself as the 'default choice for open-web research' and then gives an explicit routing table: known URLs -> post_tavily_extract, descriptive/semantic query -> post_exa_search, want a written answer -> post_perplexity_sonar, peer-reviewed papers -> post_scholar_search_scholar. When-to-use and when-to-reach-past are both stated with the selecting condition for each alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources