Skip to main content
Glama

Server Details

Give AI assistants access to real-time data. Search the web, compare flights, find hotels, and more.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.6/5.0

Scored across 25 tools

Disambiguation3/5

Most tools target distinct verticals (flights, hotels, maps, patents, etc.), but there are multiple general web search tools (google_search_light, bing_search, duckduckgo_search_light, google_ai_mode) that can be confused, and google_rank_tracking overlaps with plain search. The descriptions help clarify, but the surface still has some fuzzy boundaries.

Naming Consistency3/5

All names use snake_case and vendor prefixes, which makes them readable, but the pattern is not consistent: some are verb_action (google_search_light), some are resource nouns (google_hotels, google_product), and some are service modes (google_ai_mode, google_rank_tracking). The mixed conventions are still predictable, though not a uniform verb_noun style.

Tool Count3/5

25 tools is at the heavy end of the borderline range, but the server's declared purpose is aggregating many distinct search verticals, so the count is defensible. It still feels like a broad grab-bag rather than a tightly-scoped set.

Completeness3/5

The server covers a wide range of search types (web, news, images, jobs, shopping, flights, hotels, maps, patents, scholar), but there are notable gaps: instagram_profile references an instagram_post tool that is not exposed, and social media support is profile-only. Missing video or book search also makes the surface feel incomplete for a general search API.

Available Tools

25 tools
bing_newsBing NewsA
Read-only
Inspect

Search for news articles using Bing News. Returns news results with titles, sources, thumbnails, and publication dates. Good for finding recent news coverage and trending stories.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSearch query for news articles. Required.
pageNoPage number for pagination. Default: 1.
sort_byNoSort order for results.
market_codeNoBing market code combining language and country (e.g., 'en-us', 'en-gb', 'de-de'). Default: en-us.
time_periodNoFilter news by recency.

TDQS

A4/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true and destructiveHint=false. The description adds that the tool returns titles, sources, thumbnails, and publication dates, which is useful behavioral context beyond the annotations. It does not mention pagination behavior or rate limits, but the read-only nature is covered.

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

Conciseness5/5

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

The description is three sentences with no fluff. It front-loads the core purpose, then lists return fields, and gives a brief usage hint. Every sentence earns its place.

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

Completeness4/5

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

Given there is no output schema, the description partially describes the return structure (titles, sources, thumbnails, dates) but not the exact shape. The parameter schema is comprehensive, covering market codes, time periods, etc. The description is adequate for a simple read-only search tool, though it could be slightly more explicit about the result format.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters (q, page, sort_by, market_code, time_period) are documented in the schema. The description adds no parameter-specific details beyond the schema, aligning with the baseline of 3 for full coverage.

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?

The description clearly states the verb ('Search') and resource ('news articles using Bing News'), and specifies what is returned. It is distinctly a news-specific search, differentiating it from sibling tools like bing_search (general web search) and the google_* search variants.

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

Usage Guidelines3/5

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

The description gives a usage context ('Good for finding recent news coverage and trending stories') but does not explicitly name alternatives or conditions for when not to use it. It implies the use case but does not mention bing_search as a fallback for general web queries.

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

duckduckgo_search_lightDuckduckgo Search LightA
Read-only
Inspect

Search the web using DuckDuckGo. Returns organic results. Privacy-focused alternative to Google with unbiased results and no tracking.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSearch query. Required.
localeNoDuckDuckGo region code in '{country}-{language}' format (e.g., 'us-en' for US English, 'uk-en' for UK English, 'de-de' for Germany German, 'fr-fr' for France French, 'jp-jp' for Japan Japanese, 'wt-wt' for no region). Default: us-en.
time_periodNoFilter results by time period. Predefined values: 'any_time' (default), 'past_day', 'past_week', 'past_month', 'past_year'. Also supports custom date range in YYYY-MM-DD..YYYY-MM-DD format (e.g., '2024-01-01..2024-06-30').

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds that it returns organic results, which is a useful behavioral trait beyond annotations. It does not discuss pagination, result count, or any quirks, but the annotation coverage lowers the burden. No contradiction with annotations.

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

Conciseness5/5

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

The description is two concise sentences with zero wasted words. The core purpose is front-loaded, and the privacy differentiation follows immediately. Every sentence earns its place.

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

Completeness4/5

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

For a simple search tool with fully documented parameters, the description adequately states what it does and the nature of results (organic). Given there is no output schema, it could mention more about the return format or any 'light' limitations, but it is sufficient for an agent to decide whether to call it. Slightly more detail on output would push it to a 5.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (q, locale, time_period) are fully documented in the schema itself. The description adds no additional parameter-specific meaning, so the baseline score of 3 applies.

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

Purpose4/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 using DuckDuckGo' and notes 'Returns organic results.' It differentiates from Google by calling itself a 'Privacy-focused alternative to Google,' which helps distinguish it from google_search_light. However, it does not explicitly differentiate from other search engines like bing_search, so it falls short of a perfect score.

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

Usage Guidelines4/5

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

The description provides clear context by positioning the tool as a privacy-focused alternative to Google, implying it should be used when privacy or unbiased results matter. It does not explicitly state when not to use it or list alternative tools, but the privacy angle is a meaningful usage signal for an agent.

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

facebook_business_pageFacebook Business PageA
Read-only
Inspect

Fetch public business page information from Facebook. Returns page details including name, category, address, phone, website, ratings, reviews, followers, and cover/profile photos. Provide exactly one of page_id, username, or url — prefer url when the user pasted any Facebook link (including mobile share links), since the tool resolves the canonical page automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoFull Facebook page URL. Prefer this when the user provides any Facebook link. Accepts direct page URLs (facebook.com/<username>/), profile.php URLs, /pages/<name>/<id>[/subsection] URLs, and mobile app share links (facebook.com/share/<token>/) which are resolved to the canonical page automatically.
page_idNoFacebook page ID (numeric). Use only when the user explicitly provides a numeric ID and no URL.
usernameNoFacebook page username/vanity URL slug (e.g. 'starbucks'). Use only when the user provides the slug with no URL.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: it discloses that the tool resolves mobile share links and canonicalizes URLs automatically, and that it returns public information only. It doesn't mention rate limits or pagination, but for a read-only fetch tool the key behaviors are disclosed.

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

Conciseness5/5

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

The description is two sentences: the first states the core function and return data, the second gives the parameter selection rule. Every sentence earns its place, and the most important operational guidance (prefer url) is front-loaded in the second sentence. No filler or redundancy.

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

Completeness4/5

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

For a read-only tool with 3 optional parameters, 100% schema coverage, and no output schema, the description covers the essential context: what it fetches, what it returns, and how to choose parameters. The only minor gap is that it doesn't explicitly state what happens if multiple parameters are provided or if none are provided, though 'exactly one' implies the constraint. Overall it's complete enough for an agent to invoke 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?

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds value by prioritizing url over the others and explaining the resolution behavior, which complements the schema's per-parameter descriptions. It doesn't add much beyond the schema, but the baseline of 3 is exceeded by the explicit preference rule and the 'exactly one' constraint.

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?

The description states a specific verb ('Fetch') and resource ('public business page information from Facebook'), and enumerates the exact data returned (name, category, address, phone, website, ratings, reviews, followers, photos). It clearly distinguishes itself from sibling tools like instagram_profile and tiktok_profile by focusing on Facebook business pages.

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?

The description gives explicit selection guidance: 'Provide exactly one of page_id, username, or url — prefer url when the user pasted any Facebook link (including mobile share links), since the tool resolves the canonical page automatically.' This tells the agent when to use each parameter and why url is preferred, which is actionable routing guidance.

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

google_ai_modeGoogle Ai ModeA
Read-only
Inspect

Get Google's AI-generated responses (AI Overviews) with source citations and reference links.

Two ways to call:

  • Text search — requires q.

  • Image analysis — requires url; optionally include q to ask a question about the image.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSearch query for AI-generated response. Required if url not provided. Cannot exceed 8193 characters.
urlNoPublic image URL. Required if q not provided. Include q to ask a specific question about the image.
locationNoGeographic location for localized results.

TDQS

A4.3/5.0
Behavior4/5

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

The annotations already establish readOnlyHint, openWorldHint, and destructiveHint false, so the description does not need to restate safety. It adds value by disclosing that output includes citations and reference links and that image analysis is a distinct behavior requiring a public URL.

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

Conciseness5/5

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

The description is short, front-loaded with the high-level purpose, and formats the two call modes with minimal prose. Every sentence contributes usable information with no filler.

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?

For a tool with only three string parameters, full schema coverage, no nested objects, and no output schema, the description covers the key behavioral differences between text and image calls. The annotation cluster handles safety, and the description confirms the output expectation of citations and links.

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

Parameters3/5

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

Schema description coverage is 100%, and the description mostly restates the conditional requirements already present in the schema (q vs url). The 'text search' and 'image analysis' framing helps organize the parameters, but it does not add new meaning about location, constraints, or output interpretation beyond what the schema already provides.

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?

The description begins with a specific action and resource: 'Get Google's AI-generated responses (AI Overviews) with source citations and reference links.' This clearly distinguishes it from sibling search tools like google_search_light or google_images_light, which do not provide AI Overviews.

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

Usage Guidelines4/5

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

The two calling modes are explicitly laid out with their parameter requirements: text search requires q, and image analysis requires url with optional q. This gives clear operating context, though it does not explicitly name alternatives or exclusion cases relative to sibling tools.

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

google_flights_calendar_one_wayGoogle Flights Calendar One WayA
Read-only
Inspect

Get a price calendar showing the cheapest one-way flight price for each day in a date range. Returns a list of dates with prices - useful for finding the cheapest departure day when you have flexible travel dates.

For round-trip price calendars (outbound x return date grid), use google_flights_calendar_round_trip instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
glNoISO 3166-1 alpha-2 country code in lowercase (e.g., 'us', 'gb', 'de'). Affects pricing and availability. Default: us.
stopsNoMaximum stops filter: nonstop (direct only), one_stop_or_fewer (at most 1 stop), two_stops_or_fewer (at most 2 stops), any (no limit). Use the named value (e.g. 'two_stops_or_fewer'), not a bare number like '2'. Default: any.
adultsNoNumber of adults (1-9). Default: 1.
childrenNoNumber of children (0-9). Default: 0.
currencyNoCurrency code for prices (ISO 4217, e.g., 'USD', 'EUR'). Default: USD.
max_priceNoMaximum price filter. Prices above this value (in the specified currency) are excluded.
arrival_idYesIATA airport code (e.g., 'NRT') or kgmid (e.g., '/m/07dfk' for Tokyo). City names must first be converted using google_flights_location_search.
checked_bagsNoNumber of checked bags (0-9). Shows prices with checked bag fees included. Cannot exceed total passenger count.
departure_idYesIATA airport code (e.g., 'SFO') or kgmid (e.g., '/m/0d6lp' for San Francisco). City names must first be converted using google_flights_location_search.
travel_classNoTravel class: economy, premium_economy, business, first_class. Default: economy.
carry_on_bagsNoNumber of carry-on bags (0-9). Shows prices with carry-on fees included for budget airlines. Cannot exceed total passenger count.
outbound_dateYesStart date for price calendar in YYYY-MM-DD format (ISO 8601). Prices shown for multiple days starting from this date. Required.
infants_on_lapNoNumber of infants on lap (0-9). Default: 0.
infants_in_seatNoNumber of infants in seat (0-9). Default: 0.
excluded_airlinesNoComma-separated IATA airline codes to exclude (e.g., 'NK,F9').
included_airlinesNoComma-separated IATA airline codes to include (e.g., 'AA,UA,DL').
max_flight_durationNoMaximum total flight duration in minutes (e.g., 600 for 10 hours). Excludes flights exceeding this duration.
exclude_basic_economyNoSet to true to exclude Basic Economy fares, the cheapest and most restrictive ones. Only valid with travel_class economy. Google Flights offers this filter for flights within the US, its territories and Canada; on other routes results are unchanged.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds behavioral context beyond annotations by stating that it returns a price-per-day list and that it shows the cheapest price. It doesn't mention potential quirks like date range limits or response format details, but given the strong annotation coverage and the clear scope, this is sufficient.

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

Conciseness5/5

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

Two sentences with zero fluff. The core action and return are front-loaded in the first sentence; the sibling differentiator occupies the second. Every word earns its place.

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

Completeness4/5

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

Given the tool has 18 parameters, 3 required, no output schema, and moderate complexity, the description provides sufficient high-level context: what it returns (list of dates with prices), when to use it, and how it differs from the round-trip sibling. For a read-only calendar lookup, this is complete enough for an agent to invoke it without misunderstanding.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all parameters and their defaults. The description adds no parameter-level semantics beyond what the schema already provides (e.g., outbound_date's role as the start date). Baseline 3 applies because structured data carries the burden.

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?

The description states a specific verb ('Get a price calendar') with a precise resource ('cheapest one-way flight price for each day'). It clearly distinguishes itself from the sibling google_flights_calendar_round_trip by naming it explicitly. An agent can identify this tool's unique purpose without opening the 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?

The description gives an explicit use case: 'useful for finding the cheapest departure day when you have flexible travel dates.' It also explicitly names the round-trip alternative and the condition for choosing it ('For round-trip price calendars... use google_flights_calendar_round_trip instead'). No inference is required.

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

google_flights_calendar_round_tripGoogle Flights Calendar Round TripA
Read-only
Inspect

Get a price calendar showing the cheapest round-trip flight prices for combinations of outbound and return dates. Returns a grid of date pairs with prices - useful for finding the best travel window when both departure and return dates are flexible.

For one-way price calendars, use google_flights_calendar_one_way instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
glNoISO 3166-1 alpha-2 country code in lowercase (e.g., 'us', 'gb', 'de'). Affects pricing and availability. Default: us.
stopsNoMaximum stops filter: nonstop (direct only), one_stop_or_fewer (at most 1 stop), two_stops_or_fewer (at most 2 stops), any (no limit). Use the named value (e.g. 'two_stops_or_fewer'), not a bare number like '2'. Default: any.
adultsNoNumber of adults (1-9). Default: 1.
childrenNoNumber of children (0-9). Default: 0.
currencyNoCurrency code for prices (ISO 4217, e.g., 'USD', 'EUR'). Default: USD.
max_priceNoMaximum price filter. Prices above this value (in the specified currency) are excluded.
arrival_idYesIATA airport code (e.g., 'LHR') or kgmid (e.g., '/m/04jpl' for London). City names must first be converted using google_flights_location_search.
return_dateYesStart of return date range in YYYY-MM-DD format (ISO 8601). Required.
checked_bagsNoNumber of checked bags (0-9). Shows prices with checked bag fees included. Cannot exceed total passenger count.
departure_idYesIATA airport code (e.g., 'JFK') or kgmid (e.g., '/m/02_286' for New York). City names must first be converted using google_flights_location_search.
travel_classNoTravel class: economy, premium_economy, business, first_class. Default: economy.
carry_on_bagsNoNumber of carry-on bags (0-9). Shows prices with carry-on fees included for budget airlines. Cannot exceed total passenger count.
outbound_dateYesStart of outbound date range in YYYY-MM-DD format (ISO 8601). Prices shown for multiple days starting from this date. Required.
infants_on_lapNoNumber of infants on lap (0-9). Default: 0.
infants_in_seatNoNumber of infants in seat (0-9). Default: 0.
excluded_airlinesNoComma-separated IATA airline codes to exclude (e.g., 'NK,F9').
included_airlinesNoComma-separated IATA airline codes to include (e.g., 'AA,UA,DL').
max_flight_durationNoMaximum total flight duration in minutes (e.g., 600 for 10 hours). Excludes flights exceeding this duration.
exclude_basic_economyNoSet to true to exclude Basic Economy fares, the cheapest and most restrictive ones. Only valid with travel_class economy. Google Flights offers this filter for flights within the US, its territories and Canada; on other routes results are unchanged.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate read-only and open-world, so the description doesn't need to repeat that. The description adds that it returns a grid of date pairs, which is useful. It doesn't disclose details like rate limits, but the open-world hint covers some of that.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose and includes a clear pointer to the sibling tool. No wasted words.

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

Completeness4/5

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

Given the complexity (19 params, 2 enums, no output schema), the description doesn't explain the return structure in detail, but it's not critical since the tool is read-only. It provides the key context: flexible date ranges and the grid output. Could mention that the calendar expands on the dates provided, but that's already in the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are well-documented. The description itself doesn't add much beyond what the schema already provides. The baseline is 3, and there's no additional meaning added.

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?

The description clearly states it provides a price calendar for round-trip flights, specifically a grid of date pairs with prices. It distinguishes itself by mentioning the one-way alternative.

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

Usage Guidelines4/5

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

It explicitly states when to use it (when both departure and return dates are flexible) and names the one-way tool as an alternative. It doesn't explicitly mention other flight tools like google_flights_round_trip, but the context is clear.

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

google_flights_one_wayGoogle Flights One WayA
Read-only
Inspect

Search one-way Google Flights with airline, time, price, and booking details.

Required on every call, including token follow-ups: departure_id, arrival_id, outbound_date. Preserve all original search options, including travel_class, passenger counts, currency, and filters.

Workflow:

  1. Search for flight options.

  2. Repeat the arguments with the chosen flight's booking_token to retrieve booking details.

Round-trip: google_flights_round_trip. Flexible dates: google_flights_calendar_one_way.

ParametersJSON Schema
NameRequiredDescriptionDefault
glNoISO 3166-1 alpha-2 country code in lowercase (e.g., 'us', 'gb', 'de'). Affects pricing and flight availability. Default: us.
stopsNoMaximum stops filter: nonstop (direct only), one_stop_or_fewer (at most 1 stop), two_stops_or_fewer (at most 2 stops), any (no limit). Use the named value (e.g. 'two_stops_or_fewer'), not a bare number like '2'. Default: any.
adultsNoNumber of adults (1-9). Default: 1.
sort_byNoSort order. Default: top_flights.
childrenNoNumber of children (0-9). Default: 0.
currencyNoCurrency code (ISO 4217, e.g., 'USD', 'EUR', 'GBP'). Default: USD.
max_priceNoMaximum price filter. Flights above this price (in the specified currency) are excluded.
arrival_idYesIATA airport code (e.g., 'LAX') or kgmid (e.g., '/m/030qb3t' for Los Angeles). City names must first be converted using google_flights_location_search.
checked_bagsNoNumber of checked bags (0-9). Shows prices with checked bag fees included. Cannot exceed total passenger count.
departure_idYesIATA airport code (e.g., 'JFK') or kgmid (e.g., '/m/02_286' for New York). City names must first be converted using google_flights_location_search.
travel_classNoTravel class: economy, premium_economy, business, first_class. Default: economy.
booking_tokenNoToken from the selected flight for retrieving booking details.
carry_on_bagsNoNumber of carry-on bags (0-9). Shows prices with carry-on fees included for budget airlines. Cannot exceed total passenger count.
outbound_dateYesDeparture date in YYYY-MM-DD format (ISO 8601). Required.
infants_on_lapNoNumber of infants on lap (0-9). Default: 0.
infants_in_seatNoNumber of infants in seat (0-9). Default: 0.
excluded_airlinesNoComma-separated IATA airline codes to exclude (e.g., 'NK,F9').
included_airlinesNoComma-separated IATA airline codes to include (e.g., 'AA,UA,DL').
max_flight_durationNoMaximum total flight duration in minutes (e.g., 600 for 10 hours). Excludes flights exceeding this duration.
exclude_basic_economyNoSet to true to exclude Basic Economy fares, the cheapest and most restrictive ones. Only valid with travel_class economy. Google Flights offers this filter for flights within the US, its territories and Canada; on other routes results are unchanged.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already signal read-only, open-world, and non-destructive behavior. The description adds useful behavioral context beyond annotations by explaining the two-step search-then-booking-details flow and the requirement to preserve all original options on token follow-ups. It does not cover output shape or rate limits, but annotations carry the safety profile.

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

Conciseness5/5

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

The description is compact and front-loaded, with a terse purpose sentence followed by clearly formatted workflow and routing notes. Every sentence earns its place and the structure makes the critical follow-up behavior immediately visible.

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

Completeness4/5

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

For a 20-parameter search tool with no output schema, the description plus the detailed input schema covers the essential workflow, required fields, follow-up behavior, and sibling routing. It does not describe the result payload structure, but the first sentence identifies the main result categories and annotations cover side-effect safety.

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?

Input schema coverage is 100%, so the baseline is 3. The description adds value by specifying that departure_id, arrival_id, and outbound_date are required on every call including token follow-ups, and by instructing the agent to preserve all original search options. It does not need to restate individual parameter semantics since the schema already documents them thoroughly.

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?

The description states a specific action ('Search') on a specific resource ('one-way Google Flights') and the general contents of results ('airline, time, price, and booking details'). It also distinguishes itself from the round-trip and calendar-one-way sibling tools at the end.

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

Usage Guidelines4/5

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

It gives a clear workflow: first search, then repeat arguments with a booking_token to retrieve booking details, and it emphasizes that required parameters apply on every call. It names round-trip and calendar alternatives, though it does not provide explicit when-not-to-use exclusions or conditions.

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

google_flights_round_tripGoogle Flights Round TripA
Read-only
Inspect

Search round-trip Google Flights with airline, time, price, and booking details.

Required on every call, including token follow-ups: departure_id, arrival_id, outbound_date, return_date. Preserve all original search options, including travel_class, passenger counts, currency, and filters.

Workflow:

  1. Search for outbound flights.

  2. Repeat the arguments with the chosen outbound flight's departure_token to retrieve return options.

  3. Repeat the arguments, replacing departure_token with the chosen return flight's booking_token to retrieve booking details.

One-way: google_flights_one_way. Flexible dates: google_flights_calendar_round_trip.

ParametersJSON Schema
NameRequiredDescriptionDefault
glNoISO 3166-1 alpha-2 country code in lowercase (e.g., 'us', 'gb', 'de'). Affects pricing and flight availability. Default: us.
stopsNoMaximum stops filter: nonstop (direct only), one_stop_or_fewer (at most 1 stop), two_stops_or_fewer (at most 2 stops), any (no limit). Use the named value (e.g. 'two_stops_or_fewer'), not a bare number like '2'. Default: any.
adultsNoNumber of adults (1-9). Default: 1.
sort_byNoSort order. Default: top_flights.
childrenNoNumber of children (0-9). Default: 0.
currencyNoCurrency code (ISO 4217, e.g., 'USD', 'EUR', 'GBP'). Default: USD.
max_priceNoMaximum price filter. Flights above this price (in the specified currency) are excluded.
arrival_idYesIATA airport code (e.g., 'LAX') or kgmid (e.g., '/m/030qb3t' for Los Angeles). City names must first be converted using google_flights_location_search.
return_dateYesReturn departure date in YYYY-MM-DD format (ISO 8601). Required.
checked_bagsNoNumber of checked bags (0-9). Shows prices with checked bag fees included. Cannot exceed total passenger count.
departure_idYesIATA airport code (e.g., 'JFK') or kgmid (e.g., '/m/02_286' for New York). City names must first be converted using google_flights_location_search.
travel_classNoTravel class: economy, premium_economy, business, first_class. Default: economy.
booking_tokenNoToken from the selected return flight for retrieving booking details. Replaces departure_token.
carry_on_bagsNoNumber of carry-on bags (0-9). Shows prices with carry-on fees included for budget airlines. Cannot exceed total passenger count.
outbound_dateYesOutbound departure date in YYYY-MM-DD format (ISO 8601). Required.
infants_on_lapNoNumber of infants on lap (0-9). Default: 0.
departure_tokenNoToken from the selected outbound flight for retrieving return options.
infants_in_seatNoNumber of infants in seat (0-9). Default: 0.
excluded_airlinesNoComma-separated IATA airline codes to exclude (e.g., 'NK,F9').
included_airlinesNoComma-separated IATA airline codes to include (e.g., 'AA,UA,DL').
max_flight_durationNoMaximum total flight duration in minutes (e.g., 600 for 10 hours). Excludes flights exceeding this duration.
exclude_basic_economyNoSet to true to exclude Basic Economy fares, the cheapest and most restrictive ones. Only valid with travel_class economy. Google Flights offers this filter for flights within the US, its territories and Canada; on other routes results are unchanged.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds valuable behavioral context: the multi-step token-based workflow and the instruction to preserve all original search options. It does not disclose error conditions or response format, but given the annotations, this is acceptable.

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

Conciseness5/5

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

The description is well-structured: a concise purpose sentence, a bolded requirement line, a numbered workflow, and a final alternatives line. It is front-loaded with essential information and contains no filler. Every sentence earns its place.

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?

For a complex tool with 22 parameters and a multi-step workflow, the description covers the required inputs, the token usage, and the routing to sibling tools. It does not explain output format, but that is not necessary given no output schema. The description is sufficient for an agent to call it 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?

Schema description coverage is 100%, so every parameter is documented. The description adds meaning by highlighting the required parameters for every call and explaining the roles of departure_token and booking_token in the workflow. It also emphasizes preserving options, which goes beyond the schema.

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?

The description states a specific verb ('Search'), resource ('round-trip Google Flights'), and what it returns ('airline, time, price, and booking details'). It also explicitly names sibling alternatives (one-way, calendar) to differentiate itself. This clearly distinguishes it from related tools.

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?

The description includes a numbered workflow (search outbound, then return, then booking) and explicitly names alternatives: 'One-way: google_flights_one_way. Flexible dates: google_flights_calendar_round_trip.' This gives clear when-to-use guidance and exclusions.

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

google_hotelsGoogle HotelsA
Read-only
Inspect

Search for hotels using Google Hotels. Provides pricing, ratings, amenities, and availability for hotels, resorts, inns, motels, and other traditional accommodations worldwide.

Required: q (destination), check_in_date, check_out_date (both YYYY-MM-DD). Use sort_by="lowest_price" for cheapest results. Supply children_ages as a string, e.g. "5,10".

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSearch query for hotel location (e.g., 'Hotels in Manhattan New York'). Required.
glNoISO 3166-1 alpha-2 country code in lowercase (e.g., 'us', 'gb', 'de'). Affects pricing and availability. Default: us.
hlNoLanguage code for results (e.g., 'en', 'es'). Default: en.
adultsNoNumber of adults as an integer, e.g. 2 (1-6). Default: 2. Total guests (adults + children) cannot exceed 6.
brandsNoComma-separated brand IDs to filter by. Brand IDs can be found in search results.
ratingNoMinimum rating filter: 7 for 3.5+ stars, 8 for 4.0+ stars, 9 for 4.5+ stars.
sort_byNoSort order for results: relevance, lowest_price, highest_rating, most_reviewed. Use the text label (e.g. 'highest_rating'), not a numeric code. Default: relevance.
currencyNoCurrency code for prices (e.g., 'USD', 'EUR'). Default: USD.
amenitiesNoComma-separated amenity names: free_parking, parking, indoor_pool, outdoor_pool, pool, fitness_centre, restaurant, free_breakfast, spa, beach_access, kid_friendly, bar, pet_friendly, room_service, free_wi_fi, air_conditioned, all_inclusive_available, wheelchair_accessible, ev_charger
price_maxNoMaximum price filter in the specified currency.
price_minNoMinimum price filter in the specified currency.
hotel_classNoComma-separated hotel star ratings to filter by (e.g., '3,4,5' for 3-star and above). Values: 2, 3, 4, 5.
check_in_dateYesCheck-in date in YYYY-MM-DD format. Required.
children_agesNoComma-separated string of ages of children 1-17 (e.g., '5,10'). Maximum 5 children. Total guests cannot exceed 6.
eco_certifiedNoFilter for eco-certified properties.
check_out_dateYesCheck-out date in YYYY-MM-DD format. Required.
property_typesNoComma-separated property types: beach_hotels, boutique_hotels, hostels, inns, motels, resorts, spa_hotels, bed_and_breakfasts, other, apartment_hotels, minshuku, japanese_style_business_hotels, ryokan
special_offersNoFilter for properties with special offers or deals.
next_page_tokenNoToken for paginating to the next page of results. Found in previous search results.
free_cancellationNoFilter for properties with free cancellation.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety and external-data aspects. The description adds the scope (worldwide) and the requirement of date parameters, but does not disclose any additional behavioral nuances (e.g., pagination via next_page_token or result variability). Since annotations carry the main burden, a 3 is appropriate.

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

Conciseness5/5

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

The description is extremely concise: two sentences plus a compact list of required fields and two usage tips. It front-loads the primary purpose and avoids fluff, earning its place with no waste.

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

Completeness4/5

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

Given 20 parameters and no output schema, the description effectively highlights the essentials (required params and key tips) while relying on the comprehensive schema for the rest. It lacks a full example of a typical call, but the schema plus description covers what an agent needs to make a valid request. A 4 reflects a near-complete guidance.

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

Parameters3/5

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

Schema coverage is 100%, so all parameters are documented. The description adds a few usage pointers (sort_by='lowest_price', children_ages format) that reinforce but do not extend beyond the schema's own descriptions. Baseline 3 applies when schema is complete and the description adds only marginal clarification.

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?

The description clearly states a specific action ('Search for hotels') and a specific resource ('Google Hotels'), and specifies what it provides (pricing, ratings, amenities, availability). It distinguishes itself from sibling search tools like google_flights_* or google_maps_search by being explicitly about traditional hotel accommodations worldwide.

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

Usage Guidelines4/5

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

It explicitly lists the required parameters (q, check_in_date, check_out_date) and provides a practical hint for using sort_by='lowest_price' and formatting children_ages. However, it does not explicitly compare to alternatives like google_vacation_rentals or state when not to use this tool, though the hotel-specific focus makes the context clear.

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

google_images_lightGoogle Images LightA
Read-only
Inspect

Search Google Images for photos and visual content. Returns image results with thumbnails, source pages, and original image URLs. Useful for finding reference images, illustrations, and visual content.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesImage search query. Required.
glNoISO 3166-1 alpha-2 country code in lowercase (e.g., 'us', 'gb', 'de'). Default: us.
pageNoPage number for pagination. Default: 1.
sizeNoFilter by image size.
colorNoFilter by dominant color.
image_typeNoFilter by image type.
time_periodNoFilter images by recency.

TDQS

A4/5.0
Behavior3/5

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

Annotations already indicate this is read-only and non-destructive. The description adds detail about what it returns (thumbnails, source pages, original URLs), which is useful. However, it does not mention rate limits, pagination behavior, or the meaning of the 'light' variant in the name, so it provides only moderate extra context beyond the annotations.

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

Conciseness5/5

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

The description is two sentences and every piece of information earns its place: the search intent, the output, and the use case. No filler or repetition, front-loaded with the main action.

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

Completeness4/5

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

For a search tool with 7 parameters and a fully described schema, the description covers the purpose, output shape, and typical use. The only real gap is the unspecified 'light' naming and any limitations it might imply, which could matter for an agent deciding between multiple search tools. It still feels sufficiently complete for routine calls.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not delve into any parameter semantics beyond saying 'Search Google Images,' which aligns with the `q` parameter. It adds no new information about `gl`, `size`, `color`, etc., relying entirely on the schema.

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?

The description clearly states the verb+resource: 'Search Google Images for photos and visual content.' It explicitly differentiates from sibling tools like google_search_light and bing_search by focusing on image search. The return format (thumbnails, source pages, original URLs) makes it unambiguous.

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

Usage Guidelines4/5

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

The phrase 'Useful for finding reference images, illustrations, and visual content' provides clear context for when to use this tool. It implies it is the right choice for visual search but does not explicitly compare with alternatives or give negative exclusions, so it falls short of a 5.

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

google_jobsGoogle JobsA
Read-only
Inspect

Search for job listings on Google Jobs. Returns job postings with titles, company names, locations, descriptions, and apply links aggregated from multiple job boards.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesJob search query (e.g., 'software engineer', 'data scientist in New York'). Required.
glNoCountry code for search context (e.g., 'us', 'gb'). Defaults to the country of `location`, otherwise us. Some countries return results in their local language.
pageNoDeprecated. Use `next_page_token` to request the next page.
latitudeNoLatitude of the search location, in decimal degrees (-90 to 90). Use with `longitude`. Cannot be combined with `location`.
locationNoLocation for job search (e.g., 'San Francisco, CA', 'London, United Kingdom').
longitudeNoLongitude of the search location, in decimal degrees (-180 to 180). Use with `latitude`. Cannot be combined with `location`.
next_page_tokenNoToken from `pagination.next_page_token` in the previous response. Retains the original search location.

TDQS

A4/5.0
Behavior3/5

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

Annotations already establish read-only and non-destructive behavior, so the description only needs to add useful context. It adds that results are aggregated from multiple job boards and lists returned fields, but it does not disclose pagination behavior or variable result availability. This is acceptable for a safe read-only search but the behavioral disclosure is modest.

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

Conciseness5/5

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

A single front-loaded sentence gives the purpose and output fields without any filler or repetition. It is appropriately sized for a search tool with a well-documented schema.

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

Completeness4/5

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

With no output schema, the description supplies the main return contract (titles, companies, locations, descriptions, apply links). Parameter semantics are fully covered by the schema, including pagination via next_page_token, leaving only minor gaps such as result-count or error behavior.

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

Parameters3/5

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

The schema covers all seven parameters with descriptions, so the parameter burden is already fully met. The tool description adds no parameter-specific semantics beyond the schema, which is fine given the 100% coverage baseline.

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-resource pair ('Search for job listings on Google Jobs') and enumerates the returned data (titles, company names, locations, descriptions, apply links). The vertical scope clearly separates it from generic siblings like bing_search, google_search_light, and other vertical search tools.

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

Usage Guidelines4/5

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

The description gives a clear usage context: use it when job listings are needed, and it is explicitly scoped to Google Jobs and aggregated boards. It does not name an alternative or provide an explicit when-not, so it falls just short of full guidance.

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

google_lensGoogle LensA
Read-only
Inspect

Analyze images using Google Lens. Upload an image URL to get visual matches, product identification, text extraction, and exact match detection. Supports refining results with a text query for search types: all, visual_matches, and products.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoOptional text query to refine image search results. Only works with search_type: all, visual_matches, or products.
urlYesPublic URL of the image to analyze. Required.
cropNoCrop region as left;top;right;bottom with normalized 0-1 coordinates (e.g., '0.1;0.2;0.6;0.8'). Searches only the specified region of the image.
countryNoCountry code for localized results (e.g., 'us', 'gb'). Uses ISO 3166-1 alpha-2 format.
safe_searchNoSafe search filtering. 'active' enables strict filtering, 'blur' blurs explicit content (default), 'off' disables filtering.
search_typeNoType of lens analysis. 'all' for general analysis, 'visual_matches' for similar images, 'products' for shopping, 'exact_matches' for identical images. Default: all.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already establish the safe read-only, open-world, non-destructive profile. The description adds the URL requirement and the kinds of results returned, which is useful. However, it does not disclose rate limits, auth needs, or result variability, and with idempotentHint=false, the description could clarify why results differ between calls. No contradiction with annotations.

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

Conciseness5/5

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

Two tight sentences with the core capability front-loaded and zero filler. Every clause earns its place, and the capabilities list precedes the refinement detail. Appropriate size for the tool's complexity.

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

Completeness3/5

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

No output schema exists, so the description carries some return-format responsibility. It covers what the tool does and the main capabilities, but omits exact_matches from the search types and does not specify the expected URL format. For a read-only tool with strong annotations, it is reasonably complete yet has the notable enum gap.

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

Parameters2/5

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

Schema coverage is 100%, so baseline is 3. The description adds helpful meaning for search_type and the text query, but it lists only 'all, visual_matches, and products' and omits 'exact_matches' — a valid enum value in the schema. This incomplete list actively detracts from what the schema already provides and could prevent an agent from using exact match detection.

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?

Specific verb ('Analyze images using Google Lens') plus a concrete resource and a clear list of outputs (visual matches, product identification, text extraction, exact match detection). This clearly distinguishes it from the many text-search siblings like google_search_light and google_images_light, since it is the only image-recognition tool.

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

Usage Guidelines3/5

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

The use case is implied ('Upload an image URL') and the refined search types give context, but there is no explicit when-to-use vs. alternatives, nor any exclusions. An agent must infer it is the right tool for image analysis rather than being told to prefer it over, say, google_images_light.

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

google_maps_placeGoogle Maps PlaceA
Read-only
Inspect

Get detailed information about a specific place from Google Maps. Requires a data_id or place_id obtained from google_maps_search results. At least one of data_id or place_id must be provided. Returns comprehensive place details including address, phone, hours, reviews, photos, and popular times.

ParametersJSON Schema
NameRequiredDescriptionDefault
glNoCountry code for localization. Default: us. Uses ISO 3166-1 alpha-2 format.
data_idNoData ID from google_maps_search results (e.g., '0x89c25f58368ed953:0x5184e1a5b510a6fe'). At least one of data_id or place_id is required.
place_idNoPlace ID from google_maps_search results (e.g., 'ChIJTdluNlhfwokR_oBQtaXhBFE'). At least one of data_id or place_id is required.

TDQS

A4.2/5.0
Behavior4/5

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

The description communicates a read-only operation consistent with the readOnlyHint, and it adds useful behavioral detail about the returned information (address, phone, hours, popular times). It does not mention failure modes or what happens if neither ID is valid, but the key behavior is well conveyed.

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

Conciseness5/5

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

Three short sentences deliver purpose, prerequisite, and expected output with no redundancy or filler.

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

Completeness4/5

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

The description is sufficient for an agent to know when to call the toolestrategies: after a google_maps_search request, using one of the returned IDs `data_id` or `place_id`. It provides enough return information despite having no output schema, but it could be slightly more explicit about what happens when neither ID is supplied.

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

Parameters3/5

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

Schema coverage is 100%, and the description reinforces the dependency on google_maps_search IDs. However, it does not add significant meaning beyond the schema's own parameter descriptions, and the gl parameter's role is only covered by the schema.

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?

The description clearly states the verb ('Get') and resource ('detailed information about a specific place'), and it distinguishes this tool from google_maps_search by requiring an ID from search results. This makes the tool's purpose and scope immediately clear.

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

Usage Guidelines4/5

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

The description explains the required precondition: a data_id or place_id obtained from google_maps_search. It clearly indicates when this tool should be used, though it does not explicitly name which sibling tools should be used instead when search results are not yet available.

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

google_productGoogle ProductA
Read-only
Inspect

Get detailed product information from Google Shopping. Requires a product_token obtained from google_shopping_search results. Returns comprehensive product details including offers from multiple sellers, specifications, reviews, and pricing history.

ParametersJSON Schema
NameRequiredDescriptionDefault
glNoCountry code for pricing. Default: us.
locationNoGeographic location for localized pricing.
product_tokenYesProduct token from google_shopping_search results. Required.

TDQS

A4.3/5.0
Behavior4/5

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

The description adds useful behavioral detail beyond the readOnlyHint annotation by specifying what the response contains: offers from multiple sellers, specifications, reviews, and pricing history. It also discloses the token dependency. It does not cover error cases or rate limits, but for a read-only lookup tool the key behavior is communicated.

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

Conciseness5/5

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

The description is three sentences with no filler. It front-loads the main purpose, then gives the prerequisite and the key return contents. Every sentence earns its place.

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?

For a simple read-only tool with one required parameter and no output schema, the description is complete: it explains what the tool does, how to get the required token, and what the response will contain. The annotations cover safety, and the schema covers parameters, so nothing essential is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are already well documented. The description reinforces that product_token comes from google_shopping_search results, matching the schema, but adds no new semantic details for gl or location beyond what the schema already provides.

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?

The description gives a specific verb and resource: 'Get detailed product information from Google Shopping.' It clearly differentiates itself from the sibling google_shopping_search by requiring a product_token from that search, so an agent can understand this tool as the detail-fetching follow-up rather than a search tool.

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

Usage Guidelines4/5

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

The description explicitly states the prerequisite: the tool requires a product_token obtained from google_shopping_search results. This tells the agent when it is appropriate to call the tool, though it does not explicitly name alternative tools or state when not to use it.

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

google_rank_trackingGoogle Rank TrackingA
Read-only
Inspect

Get Google organic search results for SEO rank tracking. Returns up to 100 results per request with position, title, URL, and snippet. Ideal for monitoring keyword rankings and SERP analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSearch query to track rankings for. Required.
glNoCountry code (e.g., 'us', 'gb'). Default: us.
numNoNumber of results (1-100). Default: 100.
pageNoPage number (1-10). Default: 1.
safeNoSafeSearch filtering level. Default: blur.
latitudeNoLatitude of the search location, in decimal degrees (-90 to 90). Use with `longitude`. Cannot be combined with `location`.
locationNoGeographic location for localized rankings (e.g., 'New York, NY').
longitudeNoLongitude of the search location, in decimal degrees (-180 to 180). Use with `latitude`. Cannot be combined with `location`.

TDQS

A3.8/5.0
Behavior3/5

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

The annotations already establish it as read-only and non-destructive, so the description only needs to add extra behavioral context. It does add output shape and result-count, yet it does not mention rate limits, pagination trade-offs, or how location and geolocation parameters affect rankings. This is adequate but not deeply transparent.

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

Conciseness5/5

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

The description is only two sentences, front-loads the action and resource, and adds only relevant output/use-case details. It is concise without sacrificing clarity.

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

Completeness4/5

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

For a read-only search tool with full schema coverage, the description provides enough to understand what results look like and why to use the tool. It could expand on practical quirks like location-based differences or pagination behavior, but those are mostly inferable from the schema and the tool's stated purpose.

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

Parameters3/5

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

Schema description coverage is 100%, so the description does not need to document every parameter. The one added semantic is that results include position/title/URL/snippet, which helps understand what the output means, but it does not enrich understanding of any individual parameter. Baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly says 'Get Google organic search results for SEO rank tracking' and lists returned fields (position, title, URL, snippet), which makes the tool's purpose specific. It does not explicitly compare to sibling tools such as google_search_light, but the SEO/rank-tracking framing differentiates it enough.

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

Usage Guidelines4/5

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

It offers a clear use case ('Ideal for monitoring keyword rankings and SERP analysis') but never names alternatives or explicitly states when not to use it. The intended context is clear, though exclusion guidance and sibling pointers are missing.

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

google_scholarGoogle ScholarA
Read-only
Inspect

Search Google Scholar for academic papers, citations, and scholarly articles. Returns results with titles, authors, publication info, citation counts, and links to PDFs. Use cites parameter to find papers citing a specific work, or cluster to find all versions of a paper. For US court opinions and case law, use google_scholar_cases instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSearch query for academic papers. Required unless cites or cluster is provided.
numNoNumber of results per page. Default: 10.
pageNoPage number for pagination. Default: 1.
citesNoCitation ID to find papers that cite a specific paper. Obtained from a previous Scholar search result.
as_yhiNoEnd year filter (YYYY format, e.g., '2024'). Only return papers published until this year.
as_yloNoStart year filter (YYYY format, e.g., '2020'). Only return papers published from this year.
clusterNoCluster ID to find all versions of a specific paper. Obtained from a previous Scholar search result.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is known. The description adds useful behavioral context by listing returned fields (titles, authors, publication info, citation counts, PDF links) and clarifying the cites/cluster modes, which goes beyond the annotations without contradicting them.

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

Conciseness5/5

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

Three succinct sentences with no filler. The core purpose comes first, return content is stated next, and the cites/cluster/case-law guidance is packed into the final sentence efficiently.

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

Completeness4/5

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

For a read-only search tool with 100% schema coverage and open-world annotations, the description is largely complete. It names the output fields and points to the correct alternative for case law; the only minor gap is that it does not describe pagination behavior, but num/page are already fully documented in the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 7 parameters. The description mentions cites and cluster at a high level, but doesn't add meaningful parameter semantics beyond the schema descriptions; this is the expected baseline 3.

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?

Description specifies a clear action (Search Google Scholar), a precise resource (academic papers, citations, scholarly articles), and differentiates from the sibling google_scholar_cases. It also distinguishes this tool's scholarly focus from patent and news-oriented siblings.

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?

Provides explicit guidance for special modes: 'Use cites parameter to find papers citing a specific work, or cluster to find all versions of a paper.' It also names an alternative tool for court opinions and case law, telling the agent exactly when not to use this tool.

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

google_search_lightGoogle Search LightA
Read-only
Inspect

Perform fast Google web searches. Returns organic search results, related searches, and pagination. Suitable for quick information retrieval when advanced filtering is not needed. Requires a search query in q.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSearch query. The parameter is named 'q' (not 'query'). Required.
glNoCountry code for search context (e.g., 'us', 'gb'). Default: us.
numNoNumber of results per page (1-10). Default: 10.
pageNoPage number for pagination. Default: 1.
safeNoSafeSearch filtering level. Default: blur.
latitudeNoLatitude of the search location, in decimal degrees (-90 to 90). Use with `longitude`.
longitudeNoLongitude of the search location, in decimal degrees (-180 to 180). Use with `latitude`.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so no need to repeat. The description adds value by specifying return contents (organic results, related searches, pagination) and the 'fast' nature, which are not covered by annotations. No contradictions.

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

Conciseness5/5

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

Two sentences with zero fluff. Purpose, return summary, and usage condition are front-loaded and each sentence earns its place. Perfectly concise for the information conveyed.

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

Completeness4/5

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

For a read-only search tool with full schema coverage and no output schema, the description gives a high-level return summary and usage context. It does not detail the output structure, but given the simplicity and annotations covering safety, it is sufficiently complete. Could mention rate limits or output format, but not critical.

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

Parameters3/5

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

Schema coverage is 100%, so all parameters are already documented in the input schema. The description only reinforces the requirement for 'q' and does not add extra semantic meaning beyond what the schema provides. Baseline 3 applies because the schema does the heavy lifting.

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+resource ('Perform fast Google web searches') and clarifies what is returned (organic results, related searches, pagination). The name 'light' and mention of 'advanced filtering not needed' help differentiate from more specialized search siblings like google_scholar or google_images_light, even without naming them explicitly.

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

Usage Guidelines4/5

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

Provides a clear usage condition: 'Suitable for quick information retrieval when advanced filtering is not needed.' This implies when to use it, but it does not explicitly name alternatives or exclusions. It also notes the required parameter, adding practical guidance. Slightly better than average but lacks explicit routing to siblings.

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

google_vacation_rentalsGoogle Vacation RentalsA
Read-only
Inspect

Search for vacation rentals using Google Hotels. Provides pricing, ratings, amenities, and availability for vacation rental properties like apartments, villas, cabins, and houses worldwide.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSearch query for rental location (e.g., 'Vacation rentals in Lake Tahoe'). Required.
glNoISO 3166-1 alpha-2 country code in lowercase (e.g., 'us', 'gb', 'de'). Affects pricing and availability. Default: us.
hlNoLanguage code for results (e.g., 'en', 'es'). Default: en.
adultsNoNumber of adults (1-10). Default: 2.
ratingNoMinimum rating filter: 7 for 3.5+ stars, 8 for 4.0+ stars, 9 for 4.5+ stars.
sort_byNoSort order for results: relevance, lowest_price, highest_rating, most_reviewed. Use the text label (e.g. 'highest_rating'), not a numeric code. Default: relevance.
bedroomsNoMinimum number of bedrooms (0-5).
currencyNoCurrency code for prices (e.g., 'USD', 'EUR'). Default: USD.
amenitiesNoComma-separated amenity names: hot_tub, air_conditioned, outdoor_grill, fireplace, patio_or_deck, kitchen, fitness_centre, crib, kid_friendly, pet_friendly, free_wi_fi, pool
bathroomsNoMinimum number of bathrooms (0-5).
price_maxNoMaximum price filter in the specified currency.
price_minNoMinimum price filter in the specified currency.
check_in_dateYesCheck-in date in YYYY-MM-DD format. Required.
check_out_dateYesCheck-out date in YYYY-MM-DD format. Required.
property_typesNoComma-separated property types: apartments, bungalows, cabins, chalets, cottages, gîtes, holiday_villages, houses, houseboats, villas, other, apartment_hotels
next_page_tokenNoToken for paginating to the next page of results. Found in previous search results.

TDQS

A3.6/5.0
Behavior3/5

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

The description's 'Search' and 'Provides pricing, ratings, amenities, and availability' align with annotations readOnlyHint=true and destructiveHint=false. It adds some behavioral context about the kind of results returned, but it does not disclose pagination behavior, data freshness, Google Hotels inventory caveats, or any rate-limiting details. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single front-loaded sentence that states the action first and then lists relevant output aspects and property types. There is no filler, and the property examples earn their place by reinforcing the vacation-rental scope.

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

Completeness4/5

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

Given 100% schema coverage for all 16 parameters, the agent has what it needs to construct a correct call. The description also covers the main output dimensions: pricing, ratings, amenities, and availability. A small gap is that no output schema exists and the description does not mention pagination tokens, though the schema itself documents next_page_token.

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

Parameters3/5

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

Schema description coverage is 100% across 16 parameters, so the baseline is 3. The description does not add parameter-level meaning, but it does not need to since every parameter already has a clear description in the schema.

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

Purpose4/5

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

The description uses a specific verb and resource: 'Search for vacation rentals using Google Hotels.' It further clarifies scope by listing property types like apartments, villas, cabins, and houses, which helps distinguish it from general hotel search. However, it never explicitly contrasts itself with the sibling tool google_hotels, so full sibling differentiation is left to inference.

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

Usage Guidelines3/5

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

Usage context is implied: the description indicates this tool is for vacation rental searches, and the property-type list hints at when it would apply. There is no explicit guidance about when to use this tool versus google_hotels or other search tools, and no alternatives are named.

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

instagram_profileInstagram ProfileA
Read-only
Inspect

Fetch public profile information from Instagram. Returns bio, follower/following counts, post count, list of posts, verification status, business category, and profile links.

Each listed post's id is its shortcode; pass it to instagram_post for the full post, reel, or carousel details.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesInstagram username (without @). Required.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the fact that it fetches public information and that post IDs are shortcodes, but does not disclose edge cases (e.g., private profiles, rate limits) or behavioral traits beyond what annotations provide. It adds minimal value beyond the annotations.

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

Conciseness5/5

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

The description is two concise sentences with no redundant wording. The primary purpose is front-loaded, and the cross-reference to instagram_post is a useful addition without bloat.

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

Completeness4/5

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

For a simple read-only tool with one parameter and no output schema, the description is largely complete: it lists returned fields and explains the shortcode relationship. It could mention that the profile must be public, but that is implied by 'public profile information' and the annotations. Minor gaps like error handling are not critical for this simplicity.

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

Parameters3/5

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

Schema description coverage is 100%, so the username parameter is fully documented in the schema. The description does not add any additional semantic meaning about the parameter beyond what the schema provides, maintaining the baseline of 3.

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?

The description explicitly states the tool fetches public profile information from Instagram, lists the returned fields (bio, counts, posts, etc.), and clearly distinguishes the resource from the sibling tiktok_profile by naming the platform. It is a specific verb+resource with no ambiguity.

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

Usage Guidelines3/5

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

The description gives clear guidance on how to use the returned post IDs (pass to instagram_post) but does not explicitly state when to choose this tool over alternatives like tiktok_profile. It implies usage for Instagram profile data but lacks explicit exclusions or when-not-to-use conditions.

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

tiktok_profileTiktok ProfileA
Read-only
Inspect

Fetch public profile information from TikTok. Returns bio, follower/following counts, total likes (hearts), video count, verification status, and bio links.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesTikTok username (with or without @). Required.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds value by specifying the exact return fields (bio, counts, verification, etc.), which is not in the annotations. It does not mention rate limits or authentication, but for a public read-only fetch, the added field list justifies a 4.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the action and resource, then lists the returned fields. Every clause earns its place; there is no redundancy or filler.

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?

For a simple one-parameter, read-only tool with complete schema documentation and no output schema, the description is sufficiently complete. It states exactly what data will be returned, and the annotations cover the operational safety. No critical information an agent needs to invoke it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, and the single parameter 'username' is fully documented in the schema with format ('with or without @') and requiredness. The description does not add any additional parameter semantics beyond what the schema already provides, so the baseline of 3 is appropriate.

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?

The description clearly states the action ('Fetch') and the resource ('public profile information from TikTok'), and enumerates the specific data returned (bio, counts, likes, video count, verification, links). It is distinct from siblings like instagram_profile by explicitly naming TikTok, so an agent can distinguish it without ambiguity.

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

Usage Guidelines3/5

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

The usage is implied by the description: use it when you need TikTok profile data. However, it does not explicitly contrast with alternatives such as instagram_profile or mention conditions when this tool is not appropriate. No when-not guidance is provided, so it falls at the 'implied usage' level.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • Changedgoogle_flights_calendar_one_way1 field changed
      • addedInput schema / properties / exclude_basic_economy
        Added value: +{
        +  "description": "Set to true to exclude Basic Economy fares, the cheapest and most restrictive ones. Only valid with travel_class economy. Google Flights offers this filter for flights within the US, its territories and Canada; on other routes results are unchanged.",
        +  "type": "boolean"
        +}
    • Changedgoogle_flights_calendar_round_trip1 field changed
      • addedInput schema / properties / exclude_basic_economy
        Added value: +{
        +  "description": "Set to true to exclude Basic Economy fares, the cheapest and most restrictive ones. Only valid with travel_class economy. Google Flights offers this filter for flights within the US, its territories and Canada; on other routes results are unchanged.",
        +  "type": "boolean"
        +}
    • Changedgoogle_flights_one_way1 field changed
      • addedInput schema / properties / exclude_basic_economy
        Added value: +{
        +  "description": "Set to true to exclude Basic Economy fares, the cheapest and most restrictive ones. Only valid with travel_class economy. Google Flights offers this filter for flights within the US, its territories and Canada; on other routes results are unchanged.",
        +  "type": "boolean"
        +}
    • Changedgoogle_flights_round_trip1 field changed
      • addedInput schema / properties / exclude_basic_economy
        Added value: +{
        +  "description": "Set to true to exclude Basic Economy fares, the cheapest and most restrictive ones. Only valid with travel_class economy. Google Flights offers this filter for flights within the US, its territories and Canada; on other routes results are unchanged.",
        +  "type": "boolean"
        +}
  2. 1 tool update
    • Changedgoogle_jobs1 field changed
      • changedInput schema / properties / gl / description
        Previous value: -"Country code for search context (e.g., 'us', 'gb'). Default: us."New value: +"Country code for search context (e.g., 'us', 'gb'). Defaults to the country of `location`, otherwise us. Some countries return results in their local language."
  3. 3 tool updates
    • Changedgoogle_flights_one_way1 field changed
      • changedInput schema / properties / booking_token / description
        Previous value: -"Token for retrieving booking details for a selected flight. Found in the booking_token field of flight results."New value: +"Token from the selected flight for retrieving booking details."
    • Changedgoogle_flights_round_trip2 fields changed
      • changedInput schema / properties / booking_token / description
        Previous value: -"Token for retrieving booking details. Pass this after selecting both outbound and return flights. Found in the booking_token field of flight results."New value: +"Token from the selected return flight for retrieving booking details. Replaces departure_token."
      • changedInput schema / properties / departure_token / description
        Previous value: -"Token from a selected outbound flight. Pass this to view return flight options. Found in the departure_token field of outbound flight results."New value: +"Token from the selected outbound flight for retrieving return options."
    • Changedgoogle_hotels1 field changed
      • changedInput schema / properties / children_ages / description
        Previous value: -"Comma-separated ages of children 1-17 (e.g., '5,10'). Maximum 5 children. Total guests cannot exceed 6."New value: +"Comma-separated string of ages of children 1-17 (e.g., '5,10'). Maximum 5 children. Total guests cannot exceed 6."
  4. 4 tool updates
    • Changedgoogle_ai_mode1 field changed
      • addedInput schema / properties / url
        Added value: +{
        +  "description": "Public image URL. Required if q not provided. Include q to ask a specific question about the image.",
        +  "type": "string"
        +}
    • Changedgoogle_jobs4 fields changed
      • addedInput schema / properties / latitude
        Added value: +{
        +  "description": "Latitude of the search location, in decimal degrees (-90 to 90). Use with `longitude`. Cannot be combined with `location`.",
        +  "type": "number"
        +}
      • addedInput schema / properties / longitude
        Added value: +{
        +  "description": "Longitude of the search location, in decimal degrees (-180 to 180). Use with `latitude`. Cannot be combined with `location`.",
        +  "type": "number"
        +}
      • addedInput schema / properties / next_page_token
        Added value: +{
        +  "description": "Token from `pagination.next_page_token` in the previous response. Retains the original search location.",
        +  "type": "string"
        +}
      • changedInput schema / properties / page / description
        Previous value: -"Page number for pagination. Default: 1."New value: +"Deprecated. Use `next_page_token` to request the next page."
    • Changedgoogle_rank_tracking2 fields changed
      • addedInput schema / properties / latitude
        Added value: +{
        +  "description": "Latitude of the search location, in decimal degrees (-90 to 90). Use with `longitude`. Cannot be combined with `location`.",
        +  "type": "number"
        +}
      • addedInput schema / properties / longitude
        Added value: +{
        +  "description": "Longitude of the search location, in decimal degrees (-180 to 180). Use with `latitude`. Cannot be combined with `location`.",
        +  "type": "number"
        +}
    • Changedgoogle_search_light2 fields changed
      • addedInput schema / properties / latitude
        Added value: +{
        +  "description": "Latitude of the search location, in decimal degrees (-90 to 90). Use with `longitude`.",
        +  "type": "number"
        +}
      • addedInput schema / properties / longitude
        Added value: +{
        +  "description": "Longitude of the search location, in decimal degrees (-180 to 180). Use with `latitude`.",
        +  "type": "number"
        +}
  5. 7 tool updates
    • Changedgoogle_flights_calendar_one_way2 fields changed
      • changedInput schema / properties / stops / description
        Previous value: -"Maximum stops filter. Default: any."New value: +"Maximum stops filter: nonstop (direct only), one_stop_or_fewer (at most 1 stop), two_stops_or_fewer (at most 2 stops), any (no limit). Use the named value (e.g. 'two_stops_or_fewer'), not a bare number like '2'. Default: any."
      • changedInput schema / properties / travel_class / description
        Previous value: -"Travel class. Default: economy."New value: +"Travel class: economy, premium_economy, business, first_class. Default: economy."
    • Changedgoogle_flights_calendar_round_trip2 fields changed
      • changedInput schema / properties / stops / description
        Previous value: -"Maximum stops filter. Default: any."New value: +"Maximum stops filter: nonstop (direct only), one_stop_or_fewer (at most 1 stop), two_stops_or_fewer (at most 2 stops), any (no limit). Use the named value (e.g. 'two_stops_or_fewer'), not a bare number like '2'. Default: any."
      • changedInput schema / properties / travel_class / description
        Previous value: -"Travel class. Default: economy."New value: +"Travel class: economy, premium_economy, business, first_class. Default: economy."
    • Changedgoogle_flights_one_way2 fields changed
      • changedInput schema / properties / stops / description
        Previous value: -"Maximum stops filter. Default: any."New value: +"Maximum stops filter: nonstop (direct only), one_stop_or_fewer (at most 1 stop), two_stops_or_fewer (at most 2 stops), any (no limit). Use the named value (e.g. 'two_stops_or_fewer'), not a bare number like '2'. Default: any."
      • changedInput schema / properties / travel_class / description
        Previous value: -"Travel class. Default: economy."New value: +"Travel class: economy, premium_economy, business, first_class. Default: economy."
    • Changedgoogle_flights_round_trip2 fields changed
      • changedInput schema / properties / stops / description
        Previous value: -"Maximum stops filter. Default: any."New value: +"Maximum stops filter: nonstop (direct only), one_stop_or_fewer (at most 1 stop), two_stops_or_fewer (at most 2 stops), any (no limit). Use the named value (e.g. 'two_stops_or_fewer'), not a bare number like '2'. Default: any."
      • changedInput schema / properties / travel_class / description
        Previous value: -"Travel class. Default: economy."New value: +"Travel class: economy, premium_economy, business, first_class. Default: economy."
    • Changedgoogle_hotels2 fields changed
      • changedInput schema / properties / adults / description
        Previous value: -"Number of adults (1-6). Default: 2. Total guests (adults + children) cannot exceed 6."New value: +"Number of adults as an integer, e.g. 2 (1-6). Default: 2. Total guests (adults + children) cannot exceed 6."
      • changedInput schema / properties / sort_by / description
        Previous value: -"Sort order for results. Default: relevance."New value: +"Sort order for results: relevance, lowest_price, highest_rating, most_reviewed. Use the text label (e.g. 'highest_rating'), not a numeric code. Default: relevance."
    • Changedgoogle_search_light1 field changed
      • changedInput schema / properties / q / description
        Previous value: -"Search query. Required."New value: +"Search query. The parameter is named 'q' (not 'query'). Required."
    • Changedgoogle_vacation_rentals1 field changed
      • changedInput schema / properties / sort_by / description
        Previous value: -"Sort order for results. Default: relevance."New value: +"Sort order for results: relevance, lowest_price, highest_rating, most_reviewed. Use the text label (e.g. 'highest_rating'), not a numeric code. Default: relevance."
  6. 25 tool updates
    • Changedbing_news1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedbing_search1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedduckduckgo_search_light1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedfacebook_business_page1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_ai_mode1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_flights_calendar_one_way1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_flights_calendar_round_trip1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_flights_location_search1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_flights_one_way1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_flights_round_trip1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_hotels1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_images_light1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_jobs1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_lens1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_maps_place1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_maps_search1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_patents_search1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_product1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_rank_tracking1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_scholar1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_search_light1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_shopping_search1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedgoogle_vacation_rentals1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedinstagram_profile1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedtiktok_profile1 field changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
  7. 1 tool update
    • Changedfacebook_business_page3 fields changed
      • changedInput schema / properties / page_id / description
        Previous value: -"Facebook page ID (numeric). Required if username not provided."New value: +"Facebook page ID (numeric). Use only when the user explicitly provides a numeric ID and no URL."
      • addedInput schema / properties / url
        Added value: +{
        +  "description": "Full Facebook page URL. Prefer this when the user provides any Facebook link. Accepts direct page URLs (facebook.com/<username>/), profile.php URLs, /pages/<name>/<id>[/subsection] URLs, and mobile app share links (facebook.com/share/<token>/) which are resolved to the canonical page automatically.",
        +  "type": "string"
        +}
      • changedInput schema / properties / username / description
        Previous value: -"Facebook page username/vanity URL. Required if page_id not provided."New value: +"Facebook page username/vanity URL slug (e.g. 'starbucks'). Use only when the user provides the slug with no URL."
  8. 1 tool update
    • Changedgoogle_ai_mode1 field changed
      • changedInput schema / properties / q / description
        Previous value: -"Search query for AI-generated response. Required if url not provided."New value: +"Search query for AI-generated response. Required if url not provided. Cannot exceed 8193 characters."
  9. 2 tool updates
    • Changedgoogle_hotels6 fields changed
      • removedInput schema / properties / eco_certified / enum
        Removed value: -[
        -  "true",
        -  "false"
        -]
      • changedInput schema / properties / eco_certified / type
        Previous value: -"string"New value: +[
        +  "boolean",
        +  "string"
        +]
      • removedInput schema / properties / free_cancellation / enum
        Removed value: -[
        -  "true",
        -  "false"
        -]
      • changedInput schema / properties / free_cancellation / type
        Previous value: -"string"New value: +[
        +  "boolean",
        +  "string"
        +]
      • removedInput schema / properties / special_offers / enum
        Removed value: -[
        -  "true",
        -  "false"
        -]
      • changedInput schema / properties / special_offers / type
        Previous value: -"string"New value: +[
        +  "boolean",
        +  "string"
        +]
    • Changedgoogle_shopping_search4 fields changed
      • removedInput schema / properties / is_free_delivery / enum
        Removed value: -[
        -  "true",
        -  "false"
        -]
      • changedInput schema / properties / is_free_delivery / type
        Previous value: -"string"New value: +[
        +  "boolean",
        +  "string"
        +]
      • removedInput schema / properties / is_on_sale / enum
        Removed value: -[
        -  "true",
        -  "false"
        -]
      • changedInput schema / properties / is_on_sale / type
        Previous value: -"string"New value: +[
        +  "boolean",
        +  "string"
        +]
  10. 7 tool updates
    • Changedgoogle_flights_calendar_one_way1 field changed
      • changedInput schema / properties / gl / description
        Previous value: -"Country code (ISO 3166-1 alpha-2, e.g., 'us', 'gb'). Affects pricing and availability. Default: us."New value: +"ISO 3166-1 alpha-2 country code in lowercase (e.g., 'us', 'gb', 'de'). Affects pricing and availability. Default: us."
    • Changedgoogle_flights_calendar_round_trip1 field changed
      • changedInput schema / properties / gl / description
        Previous value: -"Country code (ISO 3166-1 alpha-2, e.g., 'us', 'gb'). Affects pricing and availability. Default: us."New value: +"ISO 3166-1 alpha-2 country code in lowercase (e.g., 'us', 'gb', 'de'). Affects pricing and availability. Default: us."
    • Changedgoogle_flights_one_way1 field changed
      • changedInput schema / properties / gl / description
        Previous value: -"Country code (ISO 3166-1 alpha-2, e.g., 'us', 'gb', 'de'). Affects pricing and flight availability. Default: us."New value: +"ISO 3166-1 alpha-2 country code in lowercase (e.g., 'us', 'gb', 'de'). Affects pricing and flight availability. Default: us."
    • Changedgoogle_flights_round_trip1 field changed
      • changedInput schema / properties / gl / description
        Previous value: -"Country code (ISO 3166-1 alpha-2, e.g., 'us', 'gb', 'de'). Affects pricing and flight availability. Default: us."New value: +"ISO 3166-1 alpha-2 country code in lowercase (e.g., 'us', 'gb', 'de'). Affects pricing and flight availability. Default: us."
    • Changedgoogle_hotels1 field changed
      • changedInput schema / properties / gl / description
        Previous value: -"Country code for search context (e.g., 'us', 'gb'). Default: us."New value: +"ISO 3166-1 alpha-2 country code in lowercase (e.g., 'us', 'gb', 'de'). Affects pricing and availability. Default: us."
    • Changedgoogle_images_light1 field changed
      • changedInput schema / properties / gl / description
        Previous value: -"Country code for search context (e.g., 'us', 'gb'). Default: us."New value: +"ISO 3166-1 alpha-2 country code in lowercase (e.g., 'us', 'gb', 'de'). Default: us."
    • Changedgoogle_vacation_rentals1 field changed
      • changedInput schema / properties / gl / description
        Previous value: -"Country code for search context (e.g., 'us', 'gb'). Default: us."New value: +"ISO 3166-1 alpha-2 country code in lowercase (e.g., 'us', 'gb', 'de'). Affects pricing and availability. Default: us."
  11. 3 tool updates
    • Changedgoogle_lens2 fields changed
      • changedInput schema / properties / safe_search / description
        Previous value: -"Safe search filtering. 'blur' blurs explicit content (default), 'off' disables filtering."New value: +"Safe search filtering. 'active' enables strict filtering, 'blur' blurs explicit content (default), 'off' disables filtering."
      • changedInput schema / properties / safe_search / enum
        Previous value: -[
        -  "blur",
        -  "off"
        -]New value: +[
        +  "active",
        +  "blur",
        +  "off"
        +]
    • Changedgoogle_rank_tracking2 fields changed
      • changedInput schema / properties / safe / description
        Previous value: -"Safe search setting."New value: +"SafeSearch filtering level. Default: blur."
      • changedInput schema / properties / safe / enum
        Previous value: -[
        -  "active",
        -  "off"
        -]New value: +[
        +  "active",
        +  "blur",
        +  "off"
        +]
    • Changedgoogle_search_light2 fields changed
      • changedInput schema / properties / safe / description
        Previous value: -"Safe search setting. 'active' filters explicit content."New value: +"SafeSearch filtering level. Default: blur."
      • changedInput schema / properties / safe / enum
        Previous value: -[
        -  "active",
        -  "off"
        -]New value: +[
        +  "active",
        +  "blur",
        +  "off"
        +]
  12. 1 tool update
    • Changedgoogle_lens1 field changed
      • addedInput schema / properties / crop
        Added value: +{
        +  "description": "Crop region as left;top;right;bottom with normalized 0-1 coordinates (e.g., '0.1;0.2;0.6;0.8'). Searches only the specified region of the image.",
        +  "type": "string"
        +}
  13. 25 tool updates
    • First observedbing_news
    • First observedbing_search
    • First observedduckduckgo_search_light
    • First observedfacebook_business_page
    • First observedgoogle_ai_mode
    • First observedgoogle_flights_calendar_one_way
    • First observedgoogle_flights_calendar_round_trip
    • First observedgoogle_flights_location_search
    • First observedgoogle_flights_one_way
    • First observedgoogle_flights_round_trip
    • First observedgoogle_hotels
    • First observedgoogle_images_light
    • First observedgoogle_jobs
    • First observedgoogle_lens
    • First observedgoogle_maps_place
    • First observedgoogle_maps_search
    • First observedgoogle_patents_search
    • First observedgoogle_product
    • First observedgoogle_rank_tracking
    • First observedgoogle_scholar
    • First observedgoogle_search_light
    • First observedgoogle_shopping_search
    • First observedgoogle_vacation_rentals
    • First observedinstagram_profile
    • First observedtiktok_profile

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to access real-time web data through search, markdown scraping, and browser automation while bypassing anti-bot protections. It provides tools for web research, e-commerce monitoring, and data extraction from across the globe.
    4
    10,020 npm
    5
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search and book hotels globally with real-time pricing and inventory from over 2 million properties.
    81
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to search, browse, and book hotels from a database of 2 million properties worldwide. Provides comprehensive hotel search capabilities with location lookup, filtering by amenities, detailed property information, and integrated booking functionality.
    6
    6 npm
    1
    ISC
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources