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 by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
79.3% over 76 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.8/5.0

Scored across 25 tools

Disambiguation4/5

Most tools are distinguishable by provider, vertical, and action, and the flight/maps/shopping variants are clearly differentiated. However, bing_search, duckduckgo_search_light, google_search_light, and google_rank_tracking overlap in general web search, and references to absent companion tools like google_place and instagram_post create some boundary confusion.

Naming Consistency4/5

Names are consistently snake_case and mostly provider-prefixed, making the pattern readable across the set. Minor deviations exist, such as noun-only names like google_hotels and facebook_business_page and mixed use of _search, _light, and _profile suffixes.

Tool Count3/5

The server is a broad multi-provider search aggregator, so 25 tools is not unreasonable, but it sits at the heavy end of the appropriate range. Multiple alternative web search tools and many vertical-specific search tools make the surface feel large rather than tightly scoped.

Completeness3/5

Coverage spans web search, flights, hotels, maps, shopping, jobs, patents, scholar, and social profiles. However, several descriptions point to companion tools that are not present—such as instagram_post, google_maps_photos, google_place, and google_scholar_cases—and some domains offer search-only access without detail or follow-up operations.

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.

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.

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.

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.

To ask a follow-up, pass the conversation_token from the previous response along with the next question in q. The answer then keeps the context of the earlier turns.

NameRequiredDescriptionDefault
qNoSearch query for AI-generated response. Required if url not provided. Cannot exceed 8193 characters, fewer with url for non-Latin text.
urlNoPublic image URL. Required if q not provided. Include q to ask a specific question about the image.
locationNoGeographic location for localized results.
conversation_tokenNoContinues a previous conversation. Pass the pagination.conversation_token returned by the last response together with the follow-up question in q. Omit it to start a new conversation. Cannot be combined with url.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare read-only, non-destructive, open-world behavior. The description adds useful behavioral context beyond that: responses include source citations and reference links, and conversation_token preserves prior-turn context. It does not address rate limits or failure modes, but it meaningfully supplements 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 front-loaded with the core purpose, then organized into clear call modes and follow-up behavior. Every sentence contributes directly to correct invocation, with no 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?

For a four-parameter tool with no output schema and rich annotations, the description covers the essential calling patterns and follow-up behavior. It could add a bit more about error handling or constraints, but nothing critical for correct invocation is missing.

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 coverage is 100%, so the baseline is 3, but the description adds synthesis beyond individual field descriptions: it groups q and url into distinct call modes and explains that conversation_token is used with a follow-up question in q. That combination guidance is useful and not fully redundant.

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 states a specific verb and resource: 'Get Google's AI-generated responses (AI Overviews) with source citations and reference links.' This distinguishes it from ordinary search siblings such as google_search_light, though it does not explicitly name them or state exclusions.

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 clearly explains two invocation modes — text search requiring q and image analysis requiring url — and explains how to continue a conversation. It does not compare against sibling alternatives like google_lens or google_search_light, so it is clear but lacks explicit alternative routing.

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.

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.

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.

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. A value above 0 may result in longer request processing times.
infants_in_seatNoNumber of infants in seat (0-9). Default: 0. A value above 0 may result in longer request processing times.
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, openWorldHint=true, idempotentHint=false, and destructiveHint=false. The description adds valuable behavior beyond those annotations: the booking_token follow-up workflow, the requirement to preserve original search options, and the need to repeat required parameters on follow-up calls. It does not describe response format or pagination, but it is substantially more informative than the annotations alone.

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 front-loaded with the core purpose, then moves through required parameters, workflow, and sibling alternatives. Every sentence carries actionable information, and the bullet structure makes the two-step workflow easy to scan.

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 20-parameter search tool with full schema coverage, rich annotations, and no output schema, the description supplies the essential missing context: workflow, required-parameter persistence, token follow-up behavior, and alternative-tool routing. Return intent is indicated through 'flight options' and 'booking details', which is sufficient here.

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 baseline is 3. The description adds semantic guidance beyond the schema by explaining that departure_id, arrival_id, and outbound_date are required even on token follow-ups and that all original search options should be preserved when retrieving booking details.

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 uses a specific verb and resource: 'Search one-way Google Flights', and it distinguishes the tool from round-trip and flexible-date siblings by naming them. An agent can identify the tool's scope 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?

It gives a clear two-step workflow, states required parameters on every call including token follow-ups, and explicitly routes round-trip searches to google_flights_round_trip and flexible-date searches to google_flights_calendar_one_way. This tells the agent when to use this tool versus the main alternatives.

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.

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. A value above 0 may result in longer request processing times.
departure_tokenNoToken from the selected outbound flight for retrieving return options.
infants_in_seatNoNumber of infants in seat (0-9). Default: 0. A value above 0 may result in longer request processing times.
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.6/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld/non-destructive, so the safety profile is covered; the description adds the genuinely useful behavioral fact that this is a stateful three-phase token chain where every original argument must be re-sent. It does not mention result-set size, pagination, or rate limits, which keeps it a step below the top score.

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?

Front-loaded with the one-sentence purpose, then required-argument constraints, then a numbered workflow, then sibling routing. No sentence is redundant and the ordering matches how an agent would need the information.

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 22-parameter, no-output-schema tool the description covers the hard part — the multi-call token chaining and parameter persistence — and the workflow steps implicitly describe what each phase returns (outbound flights, then return options, then booking details). It stops short of describing result shape or a concrete example of a token round-trip.

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 coverage is 100%, so the baseline is 3; the description goes beyond it by explaining the runtime contract that all search options (travel_class, passenger counts, currency, filters) must be preserved across token calls, and by framing departure_token vs booking_token as mutually replacing rather than additive.

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

Purpose5/5

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

States a specific verb and resource ('Search round-trip Google Flights') and enumerates what the results include (airline, time, price, booking details). It also explicitly names the two sibling variants it is not (google_flights_one_way, google_flights_calendar_round_trip), so the agent can disambiguate without opening schemas.

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?

Gives an explicit three-step workflow and names the alternative tools for one-way and flexible-date searches with the condition that selects each. The line 'Required on every call, including token follow-ups' preempts the most likely invocation error.

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".

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.

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.

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, web results, product identification, text extraction, and exact match detection. Supports refining results with a text query for search types: all and visual_matches.

Required: url (a publicly accessible image URL).

NameRequiredDescriptionDefault
qNoOptional text query to refine image search results. Only works with search_type: all or visual_matches.
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 (some carry price and stock), 'exact_matches' for identical images. Default: all.

TDQS

A3.7/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 real value beyond them by disclosing the kinds of results returned (matches, web results, product ID, OCR-style text extraction) and the constraint that q only works with certain search types.

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

Conciseness4/5

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

Front-loads purpose, then capabilities, then the query-refinement caveat. Efficient overall, though the trailing 'Required: url' sentence duplicates what the schema already marks as required and does not earn 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?

With no output schema, the description must carry the return-value burden, and it does so by naming the result categories. Combined with 100% schema coverage for the six parameters, an agent has enough to call the tool correctly; only result format/pagination detail is absent, which is minor for an open-world read tool.

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 six parameters, both enums, and the crop format are already documented in the schema. The description only restates that url is required and repeats the q/search_type interaction, adding little beyond the structured fields. Baseline 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?

States a specific verb (analyze) and resource (images via Google Lens), and enumerates the concrete outputs: visual matches, web results, product identification, text extraction, exact match detection. Clear on its own, but never contrasts itself with the closest sibling, google_images_light, leaving the agent to infer the difference.

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?

Implies usage through the capability list and notes that the text-query refinement only applies to search_type 'all' or 'visual_matches', which is a genuine usage constraint. However, there is no explicit when-to-use-this vs google_images_light or google_search_light guidance, and no prerequisites beyond the required url.

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 place details including address, phone, hours, any holidays in the next seven days as holiday_hours (dates in YYYY-MM-DD), and reviews. Google Maps now leaves out photos and popular times for most places. For photos, call google_maps_photos with the same data_id or place_id. For popular times, call google_place with the result's kgmid.

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.6/5.0
Behavior4/5

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

Annotations already declare read-only, open-world, non-destructive behavior, and the description adds substantial context: what fields are returned (address, phone, hours, holiday_hours with YYYY-MM-DD dates, reviews) and a current limitation that photos and popular times are often missing. Minor gaps remain, such as how reviews are limited or how invalid IDs behave, but the description adds clear 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?

It is front-loaded with the core purpose, then requirements, return details, and alternative routing. Every sentence contributes useful selection or invocation information with no wasted text.

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 does a good job describing the returned fields and the holiday_hours format. It could be slightly more complete by explaining review limits or error behavior for invalid IDs, but it is sufficient for an agent to call the tool correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so the parameters are already documented. The description adds meaning by stating where data_id and place_id must come from (google_maps_search results) and reinforcing that at least one is required, which helps an agent prepare valid inputs.

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 uses a specific verb+resource ('Get detailed information about a specific place from Google Maps') and explicitly differentiates this detail lookup from the sibling google_maps_search by requiring IDs from those results. An agent can readily distinguish it from search and other Google 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?

It states the prerequisite (data_id or place_id from google_maps_search) and the at-least-one constraint. It also explicitly routes agents to google_maps_photos for photos and google_place with kgmid for popular times, naming the exact alternatives and conditions.

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.

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.

NameRequiredDescriptionDefault
qYesSearch query to track rankings for. Required.
glNoCountry code (e.g., 'us', 'gb'). Defaults to the country of location, or of latitude and longitude, when that country can be identified, and to us otherwise.
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
Behavior4/5

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

Annotations already declare the safety profile (readOnly, non-destructive, open-world), so the bar is lower. The description adds genuinely useful context not covered there: the 100-result cap per request and the returned fields (position, title, URL, snippet), which matters because no output schema exists.

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 tight sentences with zero redundancy: purpose first, then return shape, then use case. Nothing could be removed without losing information.

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 an 8-parameter read-only search tool with no output schema, the description covers purpose, return fields, and result limit sufficiently. It omits any localization/geotargeting nuance (latitude/longitude vs location), but the schema handles those constraints fully.

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 eight parameters are already documented with defaults, ranges, and mutual exclusions. The description only echoes the 'up to 100 results' cap tied to num, adding no new syntax or format meaning, so baseline 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 ('Get Google organic search results') and frames the intent ('for SEO rank tracking'), which is unambiguous. It does not differentiate itself from near-identical siblings like google_search_light or bing_search, so it stops short of a 5.

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?

'Ideal for monitoring keyword rankings and SERP analysis' implies when the tool is appropriate but offers no explicit when-not guidance and names no alternative. With several sibling search tools available, the agent must infer the routing decision itself.

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.

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.

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.

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.

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.

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. 2 tool updates
    • Changedgoogle_flights_one_way2 fields changed
      • changedInput schema / properties / infants_in_seat / description
        Previous value: -"Number of infants in seat (0-9). Default: 0."New value: +"Number of infants in seat (0-9). Default: 0. A value above 0 may result in longer request processing times."
      • changedInput schema / properties / infants_on_lap / description
        Previous value: -"Number of infants on lap (0-9). Default: 0."New value: +"Number of infants on lap (0-9). Default: 0. A value above 0 may result in longer request processing times."
    • Changedgoogle_flights_round_trip2 fields changed
      • changedInput schema / properties / infants_in_seat / description
        Previous value: -"Number of infants in seat (0-9). Default: 0."New value: +"Number of infants in seat (0-9). Default: 0. A value above 0 may result in longer request processing times."
      • changedInput schema / properties / infants_on_lap / description
        Previous value: -"Number of infants on lap (0-9). Default: 0."New value: +"Number of infants on lap (0-9). Default: 0. A value above 0 may result in longer request processing times."
  2. 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. Cannot exceed 8193 characters."New value: +"Search query for AI-generated response. Required if url not provided. Cannot exceed 8193 characters, fewer with url for non-Latin text."
  3. 1 tool update
    • Changedbing_search1 field changed
      • addedInput schema / properties / next_page_token
        Added value: +{
        +  "description": "Token from `pagination.next_page_token` in the previous response, used with the same q. It continues right after the last result shown and takes precedence over `page`, so prefer it over `page` for later pages.",
        +  "type": "string"
        +}
  4. 1 tool update
    • Changedgoogle_rank_tracking1 field changed
      • changedInput schema / properties / gl / description
        Previous value: -"Country code (e.g., 'us', 'gb'). Default: us."New value: +"Country code (e.g., 'us', 'gb'). Defaults to the country of location, or of latitude and longitude, when that country can be identified, and to us otherwise."
  5. 1 tool update
    • Changedgoogle_lens3 fields changed
      • changedInput schema / properties / q / description
        Previous value: -"Optional text query to refine image search results. Only works with search_type: all, visual_matches, or products."New value: +"Optional text query to refine image search results. Only works with search_type: all or visual_matches."
      • changedInput schema / properties / search_type / description
        Previous value: -"Type of lens analysis. 'all' for general analysis, 'visual_matches' for similar images, 'products' for shopping, 'exact_matches' for identical images. Default: all."New value: +"Type of lens analysis. 'all' for general analysis, 'visual_matches' for similar images (some carry price and stock), 'exact_matches' for identical images. Default: all."
      • changedInput schema / properties / search_type / enum
        Previous value: -[
        -  "all",
        -  "visual_matches",
        -  "products",
        -  "exact_matches"
        -]New value: +[
        +  "all",
        +  "visual_matches",
        +  "exact_matches"
        +]
  6. 1 tool update
    • Changedgoogle_ai_mode1 field changed
      • addedInput schema / properties / conversation_token
        Added value: +{
        +  "description": "Continues a previous conversation. Pass the pagination.conversation_token returned by the last response together with the follow-up question in q. Omit it to start a new conversation. Cannot be combined with url.",
        +  "type": "string"
        +}
  7. 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"
        +}
  8. 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."
  9. 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."
  10. 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"
        +}
  11. 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."
  12. 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"
  13. 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."
  14. 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."
  15. 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"
        +]
  16. 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."

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
    13,072 npm
    5
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to run real-time searches across Google, Bing, Yahoo, DuckDuckGo, YouTube, eBay and other engines, returning structured results for queries, weather, stocks, news, images, and shopping. Supports JSON or token-efficient Markdown output plus optional interactive UI tools for tables and dashboards.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources