Skip to main content
Glama

Server Details

Holidays, business days, currency, time zones, DNS/WHOIS, web page checks, geodata and text tools.

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
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
tidydata-dev/tidydata-mcp
GitHub Stars
0

TDQS

B3.1/5.0

Scored across 49 tools

Disambiguation3/5

Most tools target distinct resources, but several pairs overlap noticeably: moon_phase and sunrise_sunset share nearly identical descriptions covering both sun and moon features, convert_currency and exchange_rates both describe ECB rate conversion, and city_search and reverse_geocode share the same geocoding blurb. public_holidays vs is_public_holiday and nutrition_search vs nutrition_calculate are distinguishable but close.

Naming Consistency4/5

Nearly all names use a consistent snake_case convention with predictable verb_noun or noun_phrase structure (add_business_days, airport_search, validate_iban, extract_links). A few are pure noun phrases (country_info, exchange_rates, synonyms, public_holidays) but the style is uniform and readable throughout.

Tool Count2/5

49 tools is very heavy and sits just under the 50+ extreme-mismatch threshold. While the server covers many genuine domains, the sheer breadth makes the surface unwieldy and hard to select from, far exceeding the 3-15 sweet spot.

Completeness4/5

Across its many domains (dates/holidays, geocoding, DNS/WHOIS, web auditing, text/NLP, nutrition, finance) coverage is generally extensive with search/info/convert variants present. Minor gaps exist (e.g. no explicit finance CRUD beyond loan/IBAN, no text-translation), but most workflows are self-contained.

Available Tools

49 tools
add_business_daysAdd business days to a dateC
Read-only
Inspect

Add business days to a date. Add business days. Count working days between two dates and add/subtract business days, skipping weekends and the public holidays of 100+ countries and regions. Custom weekend days.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesYYYY-MM-DD (e.g. 2026-12-23)
daysYesBusiness days (negative to subtract) (e.g. 3)
countryNoISO country (e.g. ES)

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds real behavioral context — weekends and public holidays of 100+ countries are skipped — but then advertises 'Custom weekend days' even though no parameter in the schema supports customizing weekends, which is misleading rather than clarifying.

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

Conciseness2/5

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

The opening two sentences are near-duplicates ('Add business days to a date.' / 'Add business days.'), and the third sentence crams in a second, competing capability. A third of the text is redundant and the rest is not front-loaded around the actual add/subtract use case.

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

Completeness3/5

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

For a 3-parameter, read-only calculation tool with no output schema, the description covers the key domain concept (holiday-aware business days). However, it never states the return format or how the country parameter affects the result, and its count-between-dates claim makes the tool's actual contract ambiguous.

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 date, days, and country are already documented with format examples, establishing a baseline of 3. The description's holiday-skipping note gives useful context for what 'business day' means here, but its 'custom weekend days' claim maps to no parameter and adds confusion instead of semantics.

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

Purpose3/5

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

The first sentence names a verb and resource ('Add business days to a date'), but the second sentence repeats it verbatim and the third claims 'Count working days between two dates' — which is the job of the sibling tool business_days_between. The definition therefore blurs its own scope with a sibling rather than distinguishing itself, leaving the agent unsure whether this tool counts or adds.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus business_days_between, is_public_holiday, or public_holidays, all of which touch the same domain. The only implicit signal is that the tool adds/subtracts, but the description undercuts even that by also claiming the counting use case.

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

airport_distanceDistance between two airportsC
Read-only
Inspect

Distance between two airports. Distance between airports. Airport lookup by IATA or ICAO code, search by name or city, nearest airports to any coordinates and great-circle distance and flight time between two airports. 9,500 airports with coordinates, elevation, country, region and city.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesIATA/ICAO (e.g. JFK)
fromYesIATA/ICAO (e.g. MAD)

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds useful context — a static dataset of ~9,500 airports with coordinates, elevation, country, region and city, and that the output includes flight time in addition to distance — but says nothing about units, formatting, or behavior on invalid codes.

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

Conciseness2/5

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

The first two sentences say the same thing twice, and the rest is a feature dump mixing in capabilities from other tools rather than front-loading what this tool computes. Content that matters (great-circle distance, flight time) is buried mid-sentence.

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

Completeness3/5

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

With no output schema, the description carries the return-value burden — it does state it returns distance and flight time, but omits units, precision, and error behavior. The dataset attributes are filler for a caller who only needs from/to. Adequate but with clear gaps.

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 two required parameters (from/to) are documented as IATA/ICAO codes with examples, so the schema does the work. The description only echoes 'IATA or ICAO code' without adding format, fallback, or ambiguity-resolution guidance.

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

Purpose3/5

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

The description does eventually name a specific computation ('great-circle distance and flight time between two airports'), but it opens with a tautological restatement of the title and then lists capabilities that belong to siblings (airport lookup by IATA/ICAO, search by name or city, nearest airports). It never distinguishes itself from airport_info, airport_search, or distance_between_places, so an agent could easily mis-route.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no exclusions. The listed 'lookup/search/nearest' capabilities actively suggest the tool covers jobs handled by airport_info and airport_search, with no statement of which one to pick.

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

airport_infoAirport by IATA/ICAO codeC
Read-only
Inspect

Airport by IATA/ICAO code. Airport by code. Airport lookup by IATA or ICAO code, search by name or city, nearest airports to any coordinates and great-circle distance and flight time between two airports. 9,500 airports with coordinates, elevation, country, region and city.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesIATA (MAD) or ICAO (LEMD) (e.g. MAD)

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds useful data-scope context (9,500 airports, includes coordinates, elevation, country, region, city), but it also implies behaviors the single 'code' parameter cannot support. No output schema exists, yet the description gives only a partial picture of what is returned.

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

Conciseness2/5

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

The opening is a near-verbatim triple restatement ('Airport by IATA/ICAO code. Airport by code. Airport lookup by IATA or ICAO code...'), which is pure padding. The front-loaded clause is fine, but the redundancy and feature-list sprawl waste the reader's attention.

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

Completeness2/5

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

For a single-parameter lookup tool this should be simple, but the description advertises search-by-name, nearest-airport and distance/flight-time features that the schema cannot deliver with only a 'code' argument. With no output schema, the description should clarify return shape; instead it leaves the agent with an inflated and partly unachievable capability picture.

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 sole 'code' parameter is fully documented with IATA/ICAO examples, so the schema carries the burden; baseline 3 applies. The description adds no syntax or format detail beyond the schema, and its claims about name/city search and coordinates are not backed by any parameter.

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

Purpose3/5

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

The core purpose is stated ('Airport by IATA/ICAO code'), which is a specific verb+resource. However, the description then bolts on capabilities that belong to siblings ('search by name or city', 'nearest airports to any coordinates', 'distance and flight time between two airports'), muddying what this tool actually does versus airport_search and airport_distance. The result is a vague, over-broad purpose rather than a crisp one.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of the obvious alternatives among siblings (airport_search, airport_distance, distance_between_places). By claiming to also do search-by-name and airport-to-airport distance, it actively competes with those siblings without telling the agent which to pick.

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

business_days_betweenBusiness days between two datesC
Read-only
Inspect

Business days between two dates. Business days between dates. Count working days between two dates and add/subtract business days, skipping weekends and the public holidays of 100+ countries and regions. Custom weekend days.

ParametersJSON Schema
NameRequiredDescriptionDefault
endYesYYYY-MM-DD (e.g. 2026-12-31)
startYesYYYY-MM-DD (e.g. 2026-12-01)
stateNoRegion (optional)
countryNoISO country (optional) (e.g. ES)
weekendNoWeekend days 0=Sun..6=Sat (e.g. 6,0)

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description does add real context by disclosing that weekends and public holidays for 100+ countries/regions are skipped and that custom weekend days are supported, but says nothing about return shape or how the holiday database is selected.

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

Conciseness2/5

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

The first two sentences are redundant restatements of the tool name/title, consuming prime front-loaded space without adding information. The useful content (holiday coverage, custom weekends) only appears in the trailing sentence.

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 five-parameter, read-only, no-output-schema tool, the description covers the key domain behavior (weekend/holiday skipping, 100+ country coverage, custom weekends). It is reasonably complete; the main omission is any statement of what the call returns or how the count relates to the add/subtract sibling.

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 five parameters (start, end, country, state, weekend) are already documented in the schema. The description only echoes 'custom weekend days' and country coverage, adding no syntax or format detail beyond the schema, so baseline 3 applies.

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

Purpose3/5

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

The core verb+resource ('count working days between two dates') is clear, but the description opens with two near-identical restatements of the title and then adds 'and add/subtract business days,' which blurs its purpose with the sibling add_business_days. An agent gets the gist but the scope statement undercuts itself.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of the obvious alternatives (add_business_days, is_public_holiday, public_holidays) that appear in the sibling list. The claim that it can 'add/subtract business days' actively muddles routing rather than clarifying it.

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

check_url_statusHTTP status and redirect chain of a URLA
Read-only
Inspect

HTTP status and redirect chain of a URL. Check URL. HTTP status, full redirect chain (301/302/307/308), final URL, server and response time for any link. Detects loops. POST up to 20 URLs per call. Find broken links fast.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to check (e.g. http://github.com)
maxRedirectsNoMax redirects to follow (default 10) (e.g. 10)

TDQS

A3.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, but the description adds real behavioral context: it lists the redirect codes followed (301/302/307/308), notes loop detection, describes returned fields (final URL, server, response time), and gives a batch limit. That is meaningful disclosure beyond the structured fields.

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

Conciseness3/5

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

Front-loaded and short, but the telegraphic fragments repeat the same idea ('HTTP status and redirect chain of a URL... Check URL. HTTP status...') without earning their place. Functional, but not tight or well-structured.

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 carries the return-value burden and does so by naming status, redirect chain, final URL, server, and response time. It is nearly complete for a single-param read tool; only the batch-vs-single-URL ambiguity leaves a small gap.

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 the schema already documents url and maxRedirects, making 3 the baseline. The description adds a batching note ('up to 20 URLs per call') that is not reflected in the single-`url` schema, which is mildly confusing rather than clarifying.

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+resource (check a URL's HTTP status and redirect chain) and enumerates what it returns. It is distinguishable from link_preview or expand_short_url in intent, but it never explicitly contrasts itself with those siblings, 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?

'Find broken links fast' implies a use case, and 'POST up to 20 URLs per call' hints at batch sweeps. However, there is no explicit when-to-use/when-not guidance and no named alternative, so usage is only implied.

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

convert_calendar_dateConvert a date to Islamic, Hebrew, Chinese… calendarsA
Read-only
Inspect

Convert a date to Islamic, Hebrew, Chinese… calendars. Gregorian date in all calendars. Convert dates between 13 calendars (Gregorian, Islamic Umm al-Qura and tabular, Hebrew, Persian, Chinese, Korean, Japanese, Buddhist, Indian, Coptic, Ethiopian, Minguo) and get the dates of Islamic, Jewish, Chinese and Persian holidays for any year 1900-2100.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoGregorian date YYYY-MM-DD (default: today) (e.g. 2026-10-12)
calendarsNoOptional comma list of calendar ids (e.g. hebrew,islamic-umalqura,persian)

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and destructiveHint=false, so safety is covered. The description adds genuinely useful behavioral context beyond that: the exact set of 13 supported calendars and the operational 1900-2100 year boundary, which is a real constraint an agent must respect.

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

Conciseness3/5

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

Three sentences, but the first duplicates the title verbatim and the fragment 'Gregorian date in all calendars' is ambiguous and low-value. The new information (calendar list, 1900-2100 range) is buried at the end rather than front-loaded.

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

Completeness3/5

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

With no output schema, the description carries the burden of explaining what comes back, yet it never describes the return shape – whether all 13 calendars are returned or only the requested ones, or how the holiday results are structured. It is adequate on inputs and scope but incomplete on outputs for a two-optional-parameter conversion 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% – both parameters (date default today, calendars comma list) are fully documented in the schema. The description's enumeration of calendar ids loosely parallels the calendars parameter but adds no syntax, delimiter, or default guidance beyond what the schema already provides, so the baseline 3 applies.

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 (convert) and resource (calendar date) and enumerates the target calendar systems, which clearly separates it from siblings like convert_time_zone or convert_units. An agent can identify this tool 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 Guidelines3/5

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

The description implies its use cases (date conversion across 13 calendars, plus holiday dates for Islamic/Jewish/Chinese/Persian) and implicitly scopes them to 1900-2100. However, it never states when to prefer it over alternatives such as public_holidays or is_public_holiday, nor any exclusions, so usage is only implied rather than directed.

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

convert_currencyConvert currency (ECB rates)B
Read-only
Inspect

Convert currency (ECB rates). Convert amount. Daily euro foreign exchange reference rates for 30+ currencies, any base currency, conversion and history of the last 90 days. Source: ECB statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesTo currency (e.g. USD)
dateNoOptional date YYYY-MM-DD
fromYesFrom currency (e.g. EUR)
amountNoAmount (e.g. 100)

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, non-destructive, openWorld), so the description earns credit for adding real context: ECB as the source, daily reference-rate cadence, the 30+ currency coverage, arbitrary base currency, and a 90-day history window. It does not disclose what happens for unsupported currencies or unsupported dates, keeping it short of a 5.

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

Conciseness3/5

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

It opens with the title text restated and then a fragment ("Convert amount."), which is redundant padding, while the genuinely informative facts (rate source, cadence, history window) are buried in the trailing fragment. It is short but not well front-loaded or edited.

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

Completeness3/5

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

With no output schema, the description must carry the interaction burden, and it does cover source, currency coverage, and history window. It omits how a conversion result is presented and how the date parameter behaves relative to the 90-day window, which leaves gaps for a calculation tool whose result shape matters.

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 four parameters are already documented in the schema and the baseline is 3. The description adds mild meaning ("any base currency", "history of the last 90 days" implying the date parameter selects historical lookups) but no format or constraint detail beyond that.

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 gives a specific verb and resource ("Convert amount" with ECB reference rates) and scopes it with "30+ currencies, any base currency". It is clear what the tool does, but it never distinguishes itself from the sibling tool exchange_rates, leaving the agent to guess which one to pick for raw rates vs. conversion.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no named alternative, despite exchange_rates being an obvious overlapping sibling. Usage is only implied by the word "Convert", so an agent has no stated rule for choosing between this tool and exchange_rates.

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

convert_time_zoneTime zone converter / world clockB
Read-only
Inspect

Time zone converter / world clock. Time in zones. Current time or any date in any IANA time zone, UTC offset, weekday and Unix time, and convert one moment to many time zones at once.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoComma-separated time zones to convert to (e.g. America/New_York,Asia/Tokyo)
tzNoIANA time zone (e.g. Europe/Madrid)
datetimeNoISO 8601 date-time (empty = now)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuine behavioral detail beyond that: it accepts 'now' or an arbitrary date and returns UTC offset, weekday and Unix time, plus batch fan-out to many zones. It says nothing about invalid-zone handling or rate limits, so it is useful but not rich.

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

Conciseness3/5

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

The opening sentence restates the title verbatim and the fragment 'Time in zones.' carries no information, so roughly the first half is waste. The remaining sentence is dense and informative but is not front-loaded as the lead.

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 partially compensates by naming the return fields (offset, weekday, Unix time), which is the key thing an agent needs. All three optional parameters are schema-documented, so little is missing for a tool of this complexity.

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 tz, to and datetime fully, and the baseline is 3. The description only implies the batch fan-out ('many time zones at once') and the empty-equals-now default, both of which the schema text already carries.

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/resource (convert a moment across IANA time zones) and the outputs produced (UTC offset, weekday, Unix time), which is concrete enough to distinguish it from sibling lookups like timezone_by_coordinates or sunrise_sunset. It never names a sibling explicitly, so an agent must infer the boundary itself.

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

Usage Guidelines2/5

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

The description implies its use case (current time or any date, one-to-many conversion) but gives no explicit when-to-use, when-not, or alternative tooling. An agent choosing between this and timezone_by_coordinates or convert_calendar_date gets no routing help.

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

convert_unitsConvert units of measureA
Read-only
Inspect

Convert units of measure. Convert units. Convert between 300+ units (length, weight, volume, temperature, speed, data, energy, time..) and evaluate math expressions safely (functions, constants, units, matrices).

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesUnit to (e.g. mile)
fromYesUnit from (e.g. km)
valueYesNumber (e.g. 10)

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds real capability context beyond that: the breadth of unit categories supported and the fact that arbitrary math expressions, constants, and matrices can be evaluated safely rather than just scalar conversions.

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

Conciseness3/5

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

The opening 'Convert units of measure. Convert units.' repeats the title and name with zero added information, which is wasted space. The remaining sentence is dense and informative, but the duplication weakens the front-loading.

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

Completeness3/5

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

There is no output schema, so the description should ideally indicate the return shape (e.g., converted value with unit) and behavior on invalid or mismatched units. It covers input scope well but leaves the return value and failure behavior unstated for a tool whose whole job is producing a converted result.

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 each parameter is already documented in the schema, and the baseline is 3. The description hints that the 'value' parameter accepts expressions, but never states this mapping explicitly, so it adds little semantic value beyond 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?

States a specific verb+resource (converting units of measure) and enumerates categories and capabilities (300+ units, expression evaluation with functions/constants/matrices). However it does not distinguish itself from close siblings such as convert_currency, convert_calendar_date, or convert_time_zone, leaving ambiguity about scope boundaries.

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 is implied by the tool's nature, but there is no explicit when-to-use guidance and no named alternative. In particular, an agent cannot tell from the description whether currency conversion belongs here or in convert_currency, which is a meaningful routing gap given the sibling list.

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

country_infoCountry data (capital, currency, languages…)C
Read-only
Inspect

Country data (capital, currency, languages…). Country by code. All countries with ISO codes, names in any language, native name, capital, continent, calling codes, currencies, languages and emoji flag. Filter by continent, currency, language or search.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesISO 3166-1 alpha-2 (e.g. ES)
langNoLanguage for localized name (e.g. es)

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description usefully enumerates what is returned (native name, capital, continent, calling codes, currencies, languages, emoji flag) in the absence of an output schema, but it also advertises filter capabilities that the schema does not support, which undercuts trust.

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

Conciseness3/5

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

Three sentences with the first duplicating the title and the third a long comma-separated field list. The 'Country by code' sentence is front-loaded and useful, but the opening is wasted space and the field enumeration is dense and unstructured.

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

Completeness3/5

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

For a tool with no output schema, describing the returned fields is the right instinct and largely done. The gap is that the advertised filter surface does not match the two-parameter schema, leaving the agent with an inaccurate picture of how to actually constrain results.

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

Parameters2/5

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

Schema description coverage is 100% for both parameters (code, lang), so the baseline would be 3. However, the description promises filtering by continent, currency, language and search, none of which exist as parameters in the schema, giving the agent a misleading impression of the callable interface that could lead to failed invocations.

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 the resource (country data) and the lookup key ('Country by code'), and enumerates the fields returned, so an agent can tell it is a country lookup rather than, say, a city or geocoding tool. It loses a point for opening with a verbatim restatement of the title, which adds no distinguishing information.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives such as city_search, reverse_geocode or airport_info, and no exclusions or prerequisites. 'Filter by continent, currency, language or search' hints at modes but gives no selection logic between them.

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

decode_vinDecode a vehicle VINA
Read-only
Inspect

Decode a vehicle VIN. Decode VIN. Decode any 17-character VIN: make, model, model year, trim, body, engine, fuel, transmission, drive type and plant, plus check digit validation, region and country of manufacture. Always answers, even when the upstream registry is slow.

ParametersJSON Schema
NameRequiredDescriptionDefault
vinYes17-character Vehicle Identification Number (e.g. 1HGCM82633A004352)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety and external-dependency context is covered. The description adds a genuine behavioral trait beyond that – 'Always answers, even when the upstream registry is slow' – signaling latency/fallback behavior. It does not cover rate limits, error cases, or output format.

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

Conciseness3/5

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

The opening is padded with redundancy: 'Decode a vehicle VIN. Decode VIN.' says the same thing twice before any new information. The remainder is a dense, useful field list, but the front-loaded duplication costs efficiency.

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 carries the return-value burden and does so well by enumerating decoded fields plus check-digit validation and origin data. It is complete for a one-parameter lookup tool, missing only edge-case behavior (invalid VIN handling).

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 'vin' parameter is fully documented in the schema with an example. The description repeats the 17-character constraint but adds no syntax or format detail beyond what is already structured. Baseline 3 applies.

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 ('Decode') and resource ('vehicle VIN'), then enumerates the exact fields returned (make, model, model year, trim, body, engine, fuel, transmission, drive type, plant). No sibling tool overlaps with VIN decoding, so no disambiguation is needed. An agent can confidently tell what this does.

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 is only implied by the tool's single purpose – there is no explicit 'use when' or 'do not use when', though with only one VIN-related sibling absent from the list, there is little to route between. The 17-character constraint hints at applicability but is not framed as guidance.

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

detect_languageLanguage of a textB
Read-only
Inspect

Language of a text. Detect language. Detect the language of any text: ISO 639-3 code, English name, confidence, reliability flag and top 5 candidates. Fast, no AI costs, works offline.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText (or POST it) (e.g. Ceci est une phrase en français.)

TDQS

B3/5.0
Behavior1/5

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

The description contradicts the openWorldHint=true annotation by claiming 'works offline', which implies no external-world interaction. Although it adds useful return-field and performance context, the contradiction forces a score of 1 under the rule.

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

Conciseness3/5

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

The first two sentences ('Language of a text. Detect language.') are redundant with the title and name, while the third and fourth sentences carry all the useful information. The content is short but not optimally front-loaded because of the repeated framing.

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 one-parameter tool with no output schema, the description does well by listing return values and noting performance characteristics. It omits input length limits or handling of ambiguous text, but it is otherwise sufficient for correct invocation.

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 single 'text' parameter is already fully documented. The description adds no additional parameter syntax, constraints, or examples beyond what the schema provides; baseline 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 names a specific verb and resource ('Detect the language of any text') and lists concrete output fields (ISO 639-3 code, English name, confidence, reliability flag, top 5 candidates). No sibling tool competes for language detection, so it is immediately distinguishable from the unrelated utilities.

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

Usage Guidelines2/5

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

The description gives no explicit when-to-use or when-not-to-use guidance. It states the tool works on 'any text' but does not name alternatives, prerequisites, or exclusions. This is comparable to a minimal definition with no routing advice.

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

dictionary_defineEnglish definitions of a wordB
Read-only
Inspect

English definitions of a word. Word definitions. English dictionary with 147,000 words: definitions by part of speech, usage examples, synonyms, antonyms, broader terms, IPA and ARPAbet pronunciation, syllable count, rhymes and prefix autocomplete. Inflected forms (running, cities) resolve automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
posNoOptional filter: noun, verb, adjective, adverb
wordYesEnglish word (e.g. happy)
limitNoMax meanings 1-50 (e.g. 20)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful context: the 147,000-word corpus size and automatic inflection resolution. It does not say what happens on a miss (unknown word, error vs empty result), so it is solid but not rich.

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

Conciseness3/5

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

The first two sentences overlap ('English definitions of a word. Word definitions.'), with the second carrying no information. The third is a dense but load-bearing feature list, so the text is front-loaded but contains one wasted sentence.

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 return-value burden, and it largely does: definitions partitioned by part of speech, usage examples, synonyms/antonyms, broader terms, IPA/ARPAbet, syllable count, rhymes and prefix autocomplete. Missing only error/empty-result behavior for words outside the corpus.

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 word, pos and limit are already documented in the schema; baseline 3 applies. The phrase 'definitions by part of speech' loosely hints at the pos filter but adds no format, default, or interaction detail beyond 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?

States a specific verb+resource ('English definitions of a word') and enumerates the exact payload the agent gets back, so the function is unmistakable. However, the second sentence 'Word definitions' is pure tautology, and the description never acknowledges the sibling tools rhymes and synonyms even though it claims to return those same data types, leaving routing ambiguity.

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

Usage Guidelines2/5

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

No when-to-use guidance and no exclusions are given. The only contextual note is that inflected forms (running, cities) resolve automatically, which is useful but is a capability statement, not usage direction. An agent has no help deciding between this, rhymes, synonyms, or spell_check.

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

distance_between_placesDistance between two places or coordinatesB
Read-only
Inspect

Distance between two places or coordinates. Distance between two places. Distance between any two places: coordinates, cities ("Paris, FR") or airport codes (MAD, JFK). Ellipsoidal (Vincenty) km, miles and nautical miles, bearing, compass, midpoint, flight time estimate and distance matrices.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesSame formats as from (e.g. JFK)
fromYesCoordinates (40.4168,-3.7038), city (Madrid, ES) or airport code (MAD) (e.g. MAD)

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld safety, but the description adds real value by disclosing the computation method (Vincenty ellipsoidal) and the rich result set: km/miles/nautical miles, bearing, compass, midpoint, flight time, and distance matrices. This tells the agent what it gets back beyond the safety profile.

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

Conciseness3/5

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

The first two sentences redundantly restate the title/name ('Distance between two places or coordinates. Distance between two places.'), wasting prime front-loaded space. The later sentences do carry useful content, but the definition is padded.

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 responsibly enumerates the return fields and input formats, which is what an agent needs to call and interpret the tool. It stops short of any usage routing against sibling tools, which is the main remaining gap.

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 both parameters are documented with examples (coordinates, city, airport code). The description restates the accepted formats but adds no syntax or constraint detail beyond what the schema already provides, 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?

The description names a specific computation (distance) between two named inputs and enumerates accepted input formats. However, it never distinguishes itself from the close sibling airport_distance, so an agent cannot tell which one to pick without opening both.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no alternative tool is named, despite airport_distance being an obvious overlapping sibling. The only implied guidance is the general capability itself.

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

dns_lookupDNS records of a domainB
Read-only
Inspect

DNS records of a domain. DNS records. Look up DNS records of any domain in one call: A, AAAA, MX, NS, TXT, CNAME, SOA, CAA, SRV. Also tells you if the domain has mail servers and its SPF record. Fast, uses public resolvers.

ParametersJSON Schema
NameRequiredDescriptionDefault
typesNoComma-separated record types (e.g. A,AAAA,MX,NS,TXT,CNAME)
domainYesDomain name (e.g. github.com)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint/openWorldHint/destructiveHint, so the safety profile is covered. The description adds genuine context beyond them: public resolvers (implying cached/non-authoritative results) and derived outputs like mail-server presence and SPF. It says nothing about rate limits, caching, or output shape.

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

Conciseness3/5

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

The opening 'DNS records of a domain. DNS records.' is pure repetition of the tool name and title and burns the most prominent position. The remainder is dense and useful, but the front-loading is wasted.

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 two-parameter read-only lookup with no output schema, the description tells the agent what it returns (record set plus mail-server/SPF signals) and how it resolves. Sufficient, though it could note result caching/authoritative differences.

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 both parameters are already documented, making 3 the baseline. The description's type list (A, AAAA, MX, NS, TXT, CNAME, SOA, CAA, SRV) is slightly richer than the schema's example for `types`, but adds no format guidance beyond what the schema gives.

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 names a specific verb+resource ("Look up DNS records of any domain") and enumerates the record types it returns, so the agent knows exactly what it gets. It does not differentiate itself from the very close sibling dns_propagation (or domain_whois), which is the main gap.

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

Usage Guidelines2/5

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

"in one call" implies a batching benefit but there is no explicit when-to-use, no when-not-to-use, and no alternative named. With dns_propagation and domain_whois in the sibling list, the absence of any routing guidance is a real gap.

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

dns_propagationDNS propagation across global resolversA
Read-only
Inspect

DNS propagation across global resolvers. Check propagation. Check if a DNS change has propagated: queries Cloudflare, Google, AdGuard, NextDNS, AliDNS and DNS.SB at once and reports agreement, consensus answer and response times.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoA, AAAA, CNAME, MX, NS, TXT, CAA, SOA (e.g. A)
domainYesDomain (e.g. github.com)

TDQS

A3.6/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, so the bar is lower. The description adds useful context beyond that: the exact six resolvers queried and the fact that results include agreement, a consensus answer, and response times, which tells the agent what a multi-resolver fan-out returns.

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

Conciseness3/5

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

The first clause establishes the scope and the last sentence carries the real payload, so it is front-loaded. But 'Check propagation.' duplicates the first sentence and the opening of the third, a wasted sentence that should have been cut.

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 part of the return-value work by naming agreement, consensus answer, and response times. Combined with annotations covering safety and 100% schema coverage, it is nearly complete, though resolver list, no auth/rate-limit notes, and return shape details keep it short of 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% with only two parameters (domain, type), so the schema already carries the parameter meaning. The description adds no format or constraint detail beyond it — 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?

The description states a specific verb and resource — checking whether a DNS change has propagated by querying six named resolvers at once. That scope implicitly separates it from the sibling dns_lookup, but no sibling is named, so the differentiation is inferred rather than explicit.

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?

It gives one implied scenario ('Check if a DNS change has propagated'), which is a usable context. However it never states when to prefer this over dns_lookup or any other alternative, nor any exclusions or prerequisites, so guidance remains implied.

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

domain_availabilityIs a domain name available?B
Read-only
Inspect

Is a domain name available? Check availability. Check if domain names are available across many extensions in one call, using each registry's official RDAP data (with DNS fallback). Creation and expiry dates, registrar and .com name suggestions.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName without extension to check across tlds (e.g. tidydata)
tldsNoExtensions for name= (default com,net,org,io,co,ai,app,dev) (e.g. com,net,io,ai)
domainNoOne domain (example.com) or a comma-separated list in domains= (e.g. tidydata.ai)
domainsNoComma-separated domains (max 20)
suggestNotrue to add available .com alternatives (getname.com, namehq.com...) (e.g. false)

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, destructiveHint=false, openWorldHint), so the bar is lower. The description adds genuine context beyond that: the official RDAP data source with DNS fallback, and that it returns creation/expiry dates and registrar info. It omits rate limits or auth needs, keeping it out of 5 territory.

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

Conciseness3/5

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

The opening 'Is a domain name available? Check availability' restates the title and is redundant, wasting the front-loaded position. The remaining sentences are dense and useful, but the tautological lead-in drags the structure down.

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 carries the burden of explaining returns, and it partially does so (creation/expiry dates, registrar, suggestions). Given the multiple input modes (name+tlds, domain, domains) it is reasonably complete, though the exact return shape remains only loosely sketched.

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 five parameters fully, setting the baseline at 3. The description adds marginal meaning by echoing RDAP/DNS sourcing and the '.com suggestions' concept (the suggest param) but does not add syntax beyond 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 states a specific verb and resource (check domain name availability) and adds scope differentiation: bulk availability across many extensions using RDAP data. This is clear, but it never distinguishes itself from close siblings like domain_whois or dns_lookup, which touch the same underlying data.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not guidance and no named alternatives, despite the presence of highly similar siblings (domain_whois, dns_lookup). The 'across many extensions in one call' phrasing hints at bulk checking but falls short of routing the agent between tools.

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

domain_whoisDomain registration info (WHOIS/RDAP)A
Read-only
Inspect

Domain registration info (WHOIS/RDAP). Domain info. Is a domain registered? Who is the registrar, when was it created, when does it expire, how old is it, its status and nameservers. Uses the official RDAP registry data (the modern WHOIS). No personal contact data.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name (e.g. apify.com)

TDQS

A3.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 genuinely new context beyond the annotations: the data comes from the official RDAP registry rather than scraped WHOIS, and it explicitly returns 'No personal contact data', which sets expectations about result contents and privacy.

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

Conciseness3/5

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

The front-loading is good, but the second sentence 'Domain info.' is pure redundancy after the title and first sentence, and the parenthetical '(WHOIS/RDAP)' is repeated from the title. The remaining content is dense and earns its place, but those wasted fragments drag the structure down.

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 usefully enumerates the returned fields (registrar, created, expiry, age, status, nameservers) and the data source, which is what an agent needs to know it is the right tool. It omits what happens for an unregistered or invalid domain (error vs. empty result), the one behavioral gap for a lookup 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?

There is a single parameter with 100% schema description coverage (type plus an example, 'apify.com'), so the schema already carries the semantics. The description adds no extra guidance on accepted formats (subdomains, IDN, trailing dots), so the 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?

It names a specific resource and enumerates exactly what it retrieves (registrar, creation date, expiry, age, status, nameservers) and the underlying data source (RDAP). However, the opening line 'Is a domain registered?' overlaps with the sibling domain_availability, and the description never draws that boundary, so an agent could pick the wrong tool for a pure availability check.

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 list of questions ('Who is the registrar, when was it created, when does it expire') implies the use case clearly enough to invoke it, but there is no explicit when-to-use versus domain_availability or dns_lookup, and no stated exclusions or prerequisites.

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

exchange_ratesLatest exchange ratesB
Read-only
Inspect

Latest exchange rates. Latest rates. Daily euro foreign exchange reference rates for 30+ currencies, any base currency, conversion and history of the last 90 days. Source: ECB statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseNoBase currency (default EUR) (e.g. USD)
dateNoOptional date YYYY-MM-DD (last 90 days)
symbolsNoComma-separated currencies to return (e.g. EUR,GBP,JPY)

TDQS

B3.2/5.0
Behavior3/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 without the description. The description adds the data source (ECB), currency breadth, and the 90-day lookback constraint, but the 90-day window is also stated in the date parameter schema, so the net new behavioral context is modest. No return format or rate-limit behavior is disclosed.

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

Conciseness3/5

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

The opening two sentences ('Latest exchange rates. Latest rates.') are a redundant restatement of the title and waste prime front-loaded space. The remaining sentence is dense and informative, but the description is not free of 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?

With no output schema and zero required parameters, the description carries the burden of scope-setting, and it does deliver source, coverage, base-currency flexibility, and the historical window. It stops short of explaining the response shape or resolving overlap with convert_currency, which is the main remaining hole.

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?

With schema description coverage at 100%, all three parameters (base, date, symbols) are already documented, including the EUR default and the 90-day date range. The description reinforces 'any base currency' but adds no format, syntax, or edge-case detail beyond the schema, so the 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?

The description names the resource (ECB daily euro reference rates), the coverage (30+ currencies, any base), and the scope (conversion plus 90-day history), so an agent knows this is a rates/history lookup rather than a generic utility. However, it never distinguishes itself from the sibling convert_currency, leaving real ambiguity about which tool handles a conversion request.

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

Usage Guidelines2/5

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

There is no when-to-use statement, no prerequisites, and no alternative named. Given the near-identical sibling convert_currency, the absence of routing guidance is a meaningful gap rather than a minor omission.

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

expand_short_urlExpand a shortened linkA
Read-only
Inspect

Expand a shortened link. Expand short URL. Expand short links (bit.ly, t.co, tinyurl and any redirect) to their final destination, with every hop of the redirect chain. Check where a link really goes before clicking it.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesShort URL (e.g. https://bit.ly/3Xx)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral value by disclosing that it follows 'every hop of the redirect chain' to the final destination, which tells the agent what output semantics to expect.

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

Conciseness3/5

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

Front-loaded and appropriately short, but the opening three fragments ('Expand a shortened link. Expand short URL. Expand short links...') restate the same idea redundantly before reaching the informative content about redirect chains.

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 single-parameter read-only tool with no output schema, the description covers what it does, the range of inputs accepted, and the redirect-chain behavior. It could say more about the return shape (final URL plus hop list), but an agent has enough to invoke it correctly.

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?

Only one parameter (url) with 100% schema description coverage, so the schema already documents it. The description's shortener examples add mild context but no syntax or format detail beyond the schema's own example. Baseline 3 applies.

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 (expand a shortened link) and goes further by naming example shorteners (bit.ly, t.co, tinyurl) and clarifying it handles 'any redirect'. This distinguishes it from siblings like link_preview or check_url_status, which an agent might otherwise confuse it with.

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 closing line 'Check where a link really goes before clicking it' implies the use case, but no sibling is named and there are no explicit when-not conditions (e.g., when to prefer check_url_status or link_preview). Usage is implied rather than specified.

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

extract_html_tablesTables of a web page as JSONB
Read-only
Inspect

Tables of a web page as JSON. Extract tables. Turn the HTML tables of any web page into clean JSON (rows or objects with headers) or download a table as CSV.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPage URL (e.g. https://en.wikipedia.org/wiki/Euro)
indexNoTable number (0 = first) (e.g. 0)
formatNojson or csv (e.g. json)
objectsNotrue = rows as objects keyed by header (e.g. true)

TDQS

B3.1/5.0
Behavior3/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 output-shape context (rows, or objects keyed by headers, or CSV download), which is useful, but says nothing about failure modes such as pages with no tables or JS-rendered tables.

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

Conciseness3/5

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

The first two fragments ('Tables of a web page as JSON. Extract tables.') restate the title and name redundantly before the one sentence that earns its place. The informative clause is not front-loaded, so there is noticeable waste.

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

Completeness3/5

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

With no output schema, the description must carry return-value information, and it partially does by naming JSON row/object and CSV outputs. However, for a 4-parameter tool it omits index behavior, empty-table handling, and any pagination or size limits.

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 four parameters are already documented, giving a baseline of 3. The description adds a small amount of connective meaning by mapping 'rows or objects with headers' to the objects flag and 'CSV' to the format flag, but no syntax or default details beyond 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 states a specific verb (extract/turn into) and resource (HTML tables of a web page) and even names the output shapes (JSON rows/objects, or CSV). It is distinct from sibling extractors like extract_links and extract_keywords, though it never explicitly contrasts itself with them.

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

Usage Guidelines2/5

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

There is no when-to-use guidance: nothing tells the agent when to prefer this over extract_links or extract_keywords, nor how to choose JSON vs CSV output. The only implied usage is 'for a page that has tables'.

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

extract_keywordsKeywords of a text (58 languages)B
Read-only
Inspect

Keywords of a text (58 languages). Extract keywords. Extract the key phrases and most frequent words of any text in 50+ languages (RAKE algorithm with language stopwords). Auto language detection, scores and counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoISO 639-1 language code or auto (default) (e.g. auto)
textYesText to analyze (max 100,000 characters) (e.g. Cloudflare Workers let developers deploy serverless code to a global edge network with low latency and automatic scaling.)
limitNoMax keyphrases and words (1-50, default 10) (e.g. 10)
max_wordsNoMax words per keyphrase (1-5, default 3) (e.g. 3)

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/destructiveHint=false, so the safety profile is covered; the description earns credit by adding method (RAKE algorithm with per-language stopwords), automatic language detection, and the fact that the result includes scores and counts. It does not disclose rate limits or output structure in detail, but it adds real behavioral 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.

Conciseness3/5

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

The first two sentences ('Keywords of a text (58 languages). Extract keywords.') merely restate the title and name with no added information, so nearly half the text is filler before the one informative sentence about the algorithm and output. The real content is front-loaded only after the redundancy.

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

Completeness3/5

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

With no output schema, the description should characterize the return value; 'scores and counts' is a hint but not a clear picture of the response shape, so an agent must guess at the result format. Parameter and safety needs are otherwise covered, and the minor 58-vs-50+ languages inconsistency is a small blemish.

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 lang, text, limit, and max_words are already fully documented in the schema with ranges and defaults. The description's mention of auto language detection marginally reinforces the 'lang' parameter but adds no syntax or semantics beyond the schema, making the baseline 3 correct.

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+resource ('Extract keywords', 'key phrases and most frequent words') and names the mechanism (RAKE with language stopwords), which is enough to distinguish it from siblings like summarize or dictionary_define. It stops short of explicitly contrasting with those siblings, so it lands at 4 rather than 5.

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

Usage Guidelines2/5

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

The description says it works on 'any text in 50+ languages' but gives no when-to-use guidance, no prerequisites, and never names an alternative (e.g. summarize when you need prose rather than keyword lists). Usage is only inferable from the verb.

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

generate_passwordSecure random passwordsC
Read-only
Inspect

Secure random passwords. Passwords. Cryptographically secure random passwords (length, symbols, numbers, uppercase, entropy) and UUID v4, in bulk.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo1-100 (e.g. 5)
lengthNo6-128 (e.g. 16)
numbersNotrue/false (e.g. true)
symbolsNotrue/false (e.g. true)
uppercaseNotrue/false (e.g. true)

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered without description help. The description contributes the useful behavioral claim that generation is cryptographically secure and can be done in bulk, which is real added context beyond the annotations. It stops there — no mention of default lengths, entropy values, or what a bulk response looks like.

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

Conciseness2/5

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

The opening three fragments ('Secure random passwords. Passwords. Cryptographically secure random passwords') restate the same idea three times before reaching any new information. Only the parenthetical field list and the bulk/UUID clause earn their place, so the definition is padded rather than front-loaded.

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

Completeness3/5

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

With no output schema and no return-value documentation, the description's 'in bulk' and UUID v4 hints carry some weight, but it never explains the response shape or whether UUID output is a separate mode the caller must request. All five parameters are optional, yet no defaults are stated anywhere. Adequate but with clear gaps for a generator with several optional knobs.

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 count, length, numbers, symbols, and uppercase with ranges and examples; baseline 3 applies. The description names four of those fields (length, symbols, numbers, uppercase) but also cites 'entropy' and 'UUID v4', neither of which exists as a parameter, which risks misleading an agent into looking for an entropy or UUID option.

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

Purpose3/5

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

The description identifies the resource (cryptographically secure random passwords) and adds scope beyond the name by mentioning bulk generation and UUID v4 output. However, it never states an explicit verb, and the repetition ('Secure random passwords. Passwords. Cryptographically secure random passwords') muddies rather than sharpens the purpose. An agent can guess what it does, but the framing is noun-phrase fragments rather than a clear statement.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool, when not to, or what alternatives exist. The sibling list contains no other password/UUID generator, so a routing conflict is unlikely, but the description still offers nothing about context, defaults, or constraints on invocation.

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

hash_textMD5 / SHA hashes of a textC
Read-only
Inspect

MD5 / SHA hashes of a text. Hash text. Hash any text with MD5, SHA-1, SHA-256, SHA-384, SHA-512 and CRC32 in one call, sign messages with HMAC, and identify which algorithm produced a given hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to hash (or POST it as the body) (e.g. hello)
algorithmsNoComma list: md5,sha1,sha256,sha384,sha512,crc32 (e.g. md5,sha256)

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description adds no behavioral context of its own — no output format, no note on defaults, no statement about performance or limits, and no clarification of how the HMAC/identification capabilities are triggered.

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

Conciseness3/5

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

The description is short and front-loads the core purpose, which is good. However, the first two clauses ('MD5 / SHA hashes of a text. Hash text.') are pure restatements of the title and name and consume space without adding information, leaving a three-clause capability list with no structure or priority.

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

Completeness3/5

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

With no output schema, the description should ideally indicate the shape of the result (e.g. a map of algorithm to hex digest), which it omits. The advertised HMAC and algorithm-identification behaviors are plausible extensions of a single text input but are never tied to parameters or return values, leaving the agent to guess how to invoke them.

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 both parameters are documented in the schema, including the comma-list format and examples. The description's algorithm enumeration duplicates the schema's enum-like list rather than adding syntax, defaults, or edge-case behavior. Baseline 3 is appropriate when the schema already carries the parameter documentation.

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 (hashing text) and enumerates the supported algorithms, so an agent knows exactly what the tool computes. It does not need to differentiate from siblings since none of the other utilities overlap. The opening 'MD5 / SHA hashes of a text' plus 'Hash text.' is a restatement of the title and name, which slightly dilutes the clarity.

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

Usage Guidelines2/5

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

The description lists capabilities (multi-algorithm hashing, HMAC signing, algorithm identification) but gives no guidance on when to choose this tool, what the defaults are if 'algorithms' is omitted, or any prerequisites. Worse, HMAC signing conventionally requires a secret key and no such parameter exists, so the agent is nudged toward a capability it cannot configure.

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

ip_lookupOwner, network and country of an IP addressB
Read-only
Inspect

Owner, network and country of an IP address. IP info. Who owns an IP address: network name, range, CIDR, organization, country and registration date from the Regional Internet Registries (RDAP). Without 'ip', returns the caller's IP, country, city and ASN.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipNoIPv4 or IPv6 (empty = your own IP) (e.g. 8.8.8.8)

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and destructiveHint, so the safety profile is covered. The description adds behavioral context by disclosing the RDAP data source and the default behavior when 'ip' is omitted (caller's IP, country, city, ASN). It does not cover rate limits or error handling, but that is beyond the bar set by 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.

Conciseness3/5

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

The description front-loads the purpose but includes redundancy: 'IP info.' repeats the opening, and 'Owner, network and country of an IP address' is restated as 'Who owns an IP address.' The sentences are short, but not 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, read-only, one-parameter lookup with no output schema, the description is fairly complete: it names the data source, lists the returned fields, and explains the default when the parameter is omitted. It could mention limitations or rate limits, but it covers the essential context an agent needs to call it correctly.

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 the schema already defines 'ip' as IPv4/IPv6 with empty meaning the caller's own IP. The description adds only that omitting it returns the caller's IP, country, city, and ASN, which is mostly output information rather than additional parameter semantics. 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 the resource (IP address) and the specific data returned (network name, range, CIDR, organization, country, registration date) via RDAP. This is clear enough to tell it apart from generic DNS or domain tools, though it does not name sibling tools explicitly. A 4 rather than 5 because sibling differentiation is implicit rather than stated.

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

Usage Guidelines2/5

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

No explicit when-to-use guidance or alternatives are given. The description explains what the tool returns and the default when 'ip' is omitted, but it never says when to choose this over dns_lookup, domain_whois, or country_info. This is minimal guidance.

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

is_public_holidayIs this date a public holiday?C
Read-only
Inspect

Is this date a public holiday? Is it a holiday? Public and bank holidays for 100+ countries and their states/regions, any year, localized names, plus 'is this date a holiday?' check. Data: date-holidays (CC BY 3.0).

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoYYYY-MM-DD (e.g. 2026-12-25)
stateNoState/region
countryYesISO country code (e.g. US)

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so safety is covered. The description adds useful context (data source date-holidays CC BY 3.0, coverage breadth, localized names), but never states what the tool actually returns (a boolean, a holiday name, a list?) which is the key behavioral fact for a 'check' tool with no output schema.

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

Conciseness2/5

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

The description asks 'Is this date a public holiday?', then 'Is it a holiday?', then again "plus 'is this date a holiday?' check" — three near-duplicate restatements of the same question before any new information. The redundancy wastes the most valuable front-loaded space.

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

Completeness2/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 carries the burden of explaining the return shape, and it never does. It also fails to differentiate from the sibling 'public_holidays', so an agent cannot reliably pick this tool or predict what it hands back.

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 country (ISO code), state, and date (YYYY-MM-DD). The description adds only the incidental detail of 'any year' and 'localized names', which maps loosely to country/state but provides no syntax or format beyond the schema. 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?

The description makes the operation clear: a yes/no check of whether a date is a public/bank holiday, with stated scope (100+ countries, states/regions, any year). However, it never distinguishes itself from the sibling tool 'public_holidays', leaving the agent to guess which one produces a boolean check versus a holiday list.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of alternatives, despite the near-identical sibling 'public_holidays' sitting right next to it. An agent has no stated rule for choosing between the two.

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

loan_calculatorLoan / mortgage payments and scheduleB
Read-only
Inspect

Loan / mortgage payments and schedule. Calculate loan or mortgage. Monthly payment, total interest and full amortization schedule for loans and mortgages. Down payment, extra payments, weekly/biweekly/monthly frequency and yearly summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
rateYesAnnual interest rate in % (e.g. 4.5) (e.g. 4.5)
priceNoProperty price (mortgages)
yearsNoTerm in years (or months) (e.g. 30)
amountNoLoan amount (or use price + down_payment) (e.g. 200000)
monthsNoTerm in months (instead of years)
scheduleNosummary (default), yearly or full (e.g. yearly)
frequencyNomonthly (default), biweekly, weekly, quarterly or annually (e.g. monthly)
down_paymentNoDown payment (with price)
extra_paymentNoExtra principal paid every period (e.g. 0)
monthly_costsNoOptional monthly insurance/taxes added to the payment

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description usefully adds the output shape (payment, interest, full schedule) and supported options (down payment, extra payments, frequencies), but says nothing about error conditions or input constraints.

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

Conciseness3/5

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

The four sentences are front-loaded with the core purpose, but 'Loan / mortgage payments and schedule,' 'Calculate loan or mortgage,' and 'for loans and mortgages' restate the same subject three times, making the opening redundant rather than tight.

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

Completeness3/5

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

For a 10-parameter calculator with no output schema, the description conveys the main results and several input options, which is adequate. Still, it does not explain the schedule/return structure or how the many term/amount parameters interact, leaving room for ambiguity.

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 the schema already documents all 10 parameters with examples. The description references some of them (down payment, extra payments, frequency, yearly summaries) but adds no syntax or constraint detail beyond the schema, 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?

The description states a clear verb ('Calculate') and resource ('loan or mortgage') and enumerates the concrete outputs (monthly payment, total interest, amortization schedule). It is easily distinguishable from the diverse set of sibling utility tools, though it does not name any sibling explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. Since the tool is single-purpose this is less damaging, but the description gives no usage context beyond what it computes.

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

moon_phaseMoon phase and illuminationB
Read-only
Inspect

Moon phase and illumination. Moon phase and times. Sunrise, sunset, solar noon, day length, civil/nautical/astronomical twilight and golden hour for any coordinates and date, plus moon phase, illumination, moonrise/moonset and next full and new moon. Times are returned in the local time zone, detected automatically from the coordinates.

ParametersJSON Schema
NameRequiredDescriptionDefault
tzNoIANA time zone for the returned times, or 'auto' (detected from coordinates) (e.g. auto)
latYesLatitude (e.g. 40.4168)
lonYesLongitude (e.g. -3.7038)
dateNoDate YYYY-MM-DD (default: today) (e.g. 2026-06-21)

TDQS

B3.2/5.0
Behavior3/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 usefully adds that times are returned in the local time zone auto-detected from coordinates, but says nothing about accuracy, edge cases (polar day/night), or failure modes beyond that.

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

Conciseness3/5

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

The opening 'Moon phase and illumination. Moon phase and times.' duplicates the title and name without adding information, and 'Moon phase' is repeated later. The long enumerations are front-loaded reasonably but the redundant opening sentences do not earn their 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 usefully enumerates the returned values (sunrise/sunset, twilight stages, golden hour, illumination, moonrise/moonset, next full/new moon), which compensates for the missing return documentation. It is nearly complete, though it omits edge-case 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?

Schema coverage is 100%, so lat/lon/date/tz are already documented in the schema. The description restates the tz auto-detection behavior that the schema already specifies, adding no syntax or format detail beyond it. 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 specific resources (sun/moon astronomical data) and scope (any coordinates and date), so an agent knows this is an astronomy computation tool. However, the opening two sentences ('Moon phase and illumination. Moon phase and times.') are redundant and it never distinguishes itself from the sibling sunrise_sunset tool, despite heavy overlap.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of alternatives. The overlap with the sibling sunrise_sunset is left unresolved, so an agent cannot tell which tool to prefer for solar-only queries.

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

nutrition_calculateCalories and macros of a list of ingredientsA
Read-only
Inspect

Calories and macros of a list of ingredients. Recipe / meal totals. Search 7,793 generic foods and get calories, protein, fat, carbohydrates, fiber, sugars, vitamins and minerals (36 nutrients) per 100 g or for any amount, with common portion sizes (cup, slice, piece). Calculate totals for a whole recipe or meal in one request.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesfood:grams pairs separated by ; (or POST JSON {"items":[{"query":"banana","grams":120}]}) (e.g. eggs:100;oats:50;whole milk:200)

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, destructiveHint=false, openWorldHint), so the description correctly focuses on scope: a 7,793-food database, 36 nutrients returned, per-100g or arbitrary amounts, and portion-size units. It stops short of explaining behavior for unmatched foods or partial failures, which would be the remaining valuable detail.

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

Conciseness3/5

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

The first sentence duplicates the title verbatim and the fragment 'Recipe / meal totals.' restates the sentence that follows it, so two of the four sentences are largely redundant. The genuinely informative content (coverage, nutrients, units) is present but not front-loaded.

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 one-parameter, read-only aggregation tool with no output schema, the description adequately conveys what comes back (list of nutrients, totals) and the input units. Only edge-case behavior and any limits on item count are 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?

There is a single parameter and schema description coverage is 100%, with the schema already spelling out the 'food:grams' syntax and JSON alternative. The description adds only indirect context ('per 100 g or for any amount, with common portion sizes'), so the baseline 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?

The description gives a specific resource (calories and macros for a list of ingredients) and states the operation is aggregation into recipe/meal totals. It is distinguishable from nutrition_search by focusing on summing multiple items rather than lookup, though it never names that sibling, so the differentiation requires 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 is implied rather than stated: 'Calculate totals for a whole recipe or meal in one request' tells the agent the intended scenario. It does not say when to prefer this over nutrition_search, nor any prerequisites or exclusions.

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

postal_code_lookupPlace of a postal / ZIP codeB
Read-only
Inspect

Place of a postal / ZIP code. Look up a postal code. Postal code lookup for 121 countries and 1.8 million codes: place name, region, province, coordinates; distance between two postal codes; and postal code validation. Accepts codes with or without spaces and dashes.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesPostal/ZIP code (e.g. 90210)
countryYesISO country code (e.g. US)

TDQS

B3.2/5.0
Behavior3/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 genuine behavioral value by disclosing coverage breadth and input tolerance for spaces/dashes, but it also advertises a two-code distance capability the single-code schema cannot support, which muddies rather than clarifies behavior.

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

Conciseness3/5

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

The first three clauses ('Place of a postal / ZIP code', 'Look up a postal code', 'Postal code lookup...') restate the same idea before any distinguishing detail arrives. The useful content (coverage, returned fields, input tolerance) is back-loaded, so the opening is not front-loaded with value.

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

Completeness3/5

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

With only two required parameters, no output schema, and read-only annotations, the description does enough to convey return fields (place name, region, province, coordinates). However, the unsupported 'distance between two postal codes' and 'validation' claims leave the agent unsure whether those are real modes of this tool or separate siblings.

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 format tolerance ('accepts codes with or without spaces and dashes') beyond the schema's terse examples for 'code'. It adds nothing about the 'country' parameter's ISO format, but the schema already handles that.

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 gives a concrete verb+resource (look up a postal/ZIP code) and enumerates the returned fields plus coverage (121 countries, 1.8M codes), so the agent knows exactly what this tool produces. It does not, however, differentiate itself from plausible siblings such as reverse_geocode, city_search, or distance_between_places, and its mention of 'distance between two postal codes' blurs that boundary further.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no named alternative among the ~45 siblings. The claim that it computes 'distance between two postal codes' actually invites confusion, since the schema accepts only a single code and country, so an agent gets no signal about when to prefer this tool over distance_between_places.

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

public_holidaysPublic holidays of a countryB
Read-only
Inspect

Public holidays of a country. Holidays of a year. Public and bank holidays for 100+ countries and their states/regions, any year, localized names, plus 'is this date a holiday?' check. Data: date-holidays (CC BY 3.0).

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoLanguage of names (e.g. en)
yearNoYear (e.g. 2026)
stateNoState/region code (e.g. MD)
typesNopublic, bank, optional, school, observance or all (e.g. public)
countryYesISO country code (e.g. ES)

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely new context: the coverage footprint (100+ countries, states/regions, any year), localized naming, and the upstream data source with license. It omits return shape and rate/limit behavior, but for a read-only lookup this is solid.

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

Conciseness3/5

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

"Public holidays of a country. Holidays of a year." is largely a restatement of the title and wastes the front position. The third sentence is dense and useful, and the data-source line is a quiet but legitimate attribution, so the result is adequate rather than tight.

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

Completeness3/5

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

Read-only annotations plus a fully described 5-parameter schema and no output schema mean the description need not carry much. The gap is the advertised 'is this date a holiday?' check: no date parameter exists in the schema, so an agent following that claim has no way to invoke it and no explanation of where the check lives.

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 the schema already documents lang, year, state, types and country. The description lightly echoes these concepts (localized names, any year, states/regions, public and bank holidays) but adds no syntax or format detail beyond the schema's own examples, so the 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 concrete resource and scope: public and bank holidays for 100+ countries and their states/regions, any year. However, it claims to include an "'is this date a holiday?' check" that overlaps with the dedicated sibling is_public_holiday without routing the agent, so the boundary between the two tools is blurred rather than clarified.

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

Usage Guidelines2/5

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

No when-to-use guidance and no explicit alternative is named, even though is_public_holiday in the sibling list is the obvious competing choice for single-date checks. The description actually muddies this by advertising the same check here, so the agent gets no tie-breaker.

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

reverse_geocodeNearest city to a latitude/longitudeB
Read-only
Inspect

Nearest city to a latitude/longitude. Reverse geocode coordinates. Fast city-level geocoding for 171,000 places worldwide: reverse geocoding (coordinates to nearest town, region, country and time zone), place search by name and nearby places within a radius. No rate-limited upstream.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYesLatitude (e.g. 40.4168)
lonYesLongitude (e.g. -3.7038)
minPopulationNoOnly places with at least this population (e.g. 0)

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and destructiveHint=false. Beyond those, the description adds genuinely useful behavioral context: 'Fast city-level geocoding for 171,000 places worldwide' and 'No rate-limited upstream,' which tells the agent about latency and throttling expectations. It also implies the return content (town, region, country, time zone), partially compensating for the missing output schema.

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

Conciseness3/5

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

The first two sentences restate the title and name ('Nearest city to a latitude/longitude' / 'Reverse geocode coordinates'), which is redundant front-loading. The middle sentence then lists capabilities that arguably belong to other tools, diluting the message rather than tightening it.

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

Completeness3/5

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

With no output schema, the description wisely hints at returned fields (nearest town, region, country, time zone), which is helpful. But it omits parameter behavior details and conflates this tool with place-search functionality, leaving an agent uncertain about the exact return shape and scope.

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 lat, lon, and minPopulation are already documented with examples. The description adds no syntax or format detail beyond the schema, so the baseline 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+resource: converting coordinates (lat/lon) to the nearest city. However, it then muddies its own scope by claiming 'place search by name and nearby places within a radius,' which overlaps sibling capabilities like city_search. The core operation is clear but the added capabilities blur boundaries.

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

Usage Guidelines2/5

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

No explicit when-to-use or when-not-to-use guidance, and no alternatives are named despite obvious candidates (city_search for name lookups, timezone_by_coordinates for time zone by location). Usage must be inferred entirely from the tool name and the stated inputs.

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

rhymesRhymes of an English wordB
Read-only
Inspect

Rhymes of an English word. Rhyming words. Rhymes, syllable counts and pronunciation for English words, plus syllable counting for whole texts (per word and per line, with haiku detection). Perfect for songwriting, poetry and readability tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
allNotrue to include rare words and proper names (e.g. false)
wordYesEnglish word (e.g. love)
limitNo1-200 (default 50) (e.g. 50)
syllablesNoOnly rhymes with this number of syllables

TDQS

B3.4/5.0
Behavior3/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 scope context by revealing it also processes whole texts (per word and per line, haiku detection), but says nothing about result count, pagination, or error behavior beyond what the schema covers.

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

Conciseness3/5

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

The first two sentences are redundant with the title and each other ('Rhymes of an English word. Rhyming words.'), wasting the prime front-loaded position. The core capability sentence is dense but packed with tangentially related features rather than the primary rhyming function.

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 lookup tool with full schema coverage and no output schema, the description covers the functional scope well, including text-level syllable counting not obvious from the params. Return format and result structure are unstated, but annotations and schema carry much of the load.

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 every parameter (word, all, limit, syllables) is already documented in the schema. The description mentions syllable counts, loosely connecting to the syllables param, but adds no syntax or format details beyond the schema. 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?

The description names a concrete resource (rhymes, syllable counts, pronunciation) and adds distinctive capabilities like whole-text syllable counting and haiku detection. However, the opening two sentences ('Rhymes of an English word. Rhyming words.') largely restate the name/title, and it never distinguishes itself from neighbors like synonyms or dictionary_define.

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?

It offers use-case context ('perfect for songwriting, poetry and readability tools') but gives no when-to-use vs when-not guidance and never names an alternative like synonyms or dictionary_define. Usage is only implied.

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

robots_txt_checkIs a URL allowed by robots.txt?A
Read-only
Inspect

Is a URL allowed by robots.txt? Check URL. Check whether a URL may be crawled according to the site's robots.txt for any user agent, with the matching rule, sitemaps and crawl-delay.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to check (e.g. https://www.google.com/search?q=test)
agentNoUser agent (e.g. Googlebot)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint and destructiveHint=false, so safety is covered. The description goes beyond them by disclosing the shape of the result: the matching rule, sitemaps, and crawl-delay, which matters because no output schema exists. It omits any note on network failures or robots.txt fetch errors.

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

Conciseness3/5

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

The leading title restatement plus the bare fragment 'Check URL.' are redundant and waste space. The final sentence is dense and front-loads the useful information, but the redundant middle sentence dilutes it.

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 two-parameter read-only tool with no output schema, the description supplies the key return contents (matching rule, sitemaps, crawl-delay) and the crawl-permission framing. Only error/edge behavior and the role of the agent parameter are left unspecified.

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%, with both parameters documented and exemplified, so the baseline is 3. The phrase 'for any user agent' adds a little framing but is mildly ambiguous given the optional agent parameter, and no default/omission behavior for agent is explained.

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 names a specific verb and resource: checking whether a URL is crawlable per the site's robots.txt. The added detail (matching rule, sitemaps, crawl-delay) clearly separates it from near siblings like check_url_status, sitemap_urls, and seo_audit.

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 is implied by the tool's narrow purpose (robots.txt compliance checks), but there is no explicit when-to-use, when-not-to-use, or named alternative such as check_url_status for reachability versus crawl permission. An agent must infer the boundary itself.

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

security_headers_checkSecurity headers grade of a websiteB
Read-only
Inspect

Security headers grade of a website. Check security headers. Check the HTTP security headers of any website (HSTS, CSP, X-Frame-Options, Referrer-Policy, Permissions-Policy..) with a score, a grade and fixes to apply.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebsite URL (e.g. https://github.com)

TDQS

B3.1/5.0
Behavior3/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 that results include 'a score, a grade and fixes to apply', which is genuinely useful output context, but it says nothing about rate limits, network failures, or fetch behavior for an open-world tool.

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

Conciseness2/5

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

Three sentences, two of which are near-verbatim restatements: the first duplicates the title and the second ('Check security headers') is subsumed by the third. Only the final sentence carries new information, so the text is repetitive rather than concise.

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 convey what comes back, and it does: a score, a grade, and fixes to apply. For a one-parameter read-only tool this covers the essentials, though it omits failure modes for an open-world fetch.

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?

There is a single parameter with 100% schema description coverage (the schema gives the URL type and an example), so the baseline is 3. The description does not add any format or constraint detail beyond 'any website'.

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 names a specific verb and resource ('Check the HTTP security headers of any website') and enumerates the concrete artifacts checked (HSTS, CSP, X-Frame-Options, Referrer-Policy, Permissions-Policy), which separates it from generic siblings like check_url_status or website_technologies. It stops short of explicitly contrasting itself with those siblings, so it falls just 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 Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as check_url_status or seo_audit, which an agent could easily confuse with this tool. The phrase 'of any website' is the only usage signal, which is weak.

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

seo_auditOn-page SEO audit of a URLA
Read-only
Inspect

On-page SEO audit of a URL. Audit page. On-page SEO audit of any URL in one call: score 0-100 and a clear list of issues (title, meta description, H1, canonical, noindex, alt texts, lang, viewport, Open Graph, thin content, speed, HTTPS).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPage URL (e.g. https://example.com)

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), and the description adds that the whole audit happens 'in one call' and returns a 0-100 score plus an issue list. That output shape is meaningful since there is no output schema, though nothing is said about auth, rate limits, or failure behavior for unreachable URLs.

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

Conciseness3/5

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

The core sentence is front-loaded and information-dense, but 'On-page SEO audit of a URL' is repeated from the title and again in the body, and the fragment 'Audit page.' adds nothing. Roughly a third of the text is redundant restatement.

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 usefully states what comes back (score 0-100, list of issues) and enumerates the checks, which is sufficient for a single-parameter read-only tool. It stops short of describing scoring methodology or issue severity, but nothing essential to invocation 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?

One parameter with 100% schema description coverage, so the schema already documents the url input including an example. The description adds no format, scheme, or edge-case guidance beyond that, which is the expected baseline when the schema does the heavy lifting.

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?

Specific verb+resource ('On-page SEO audit of a URL') plus an enumeration of the exact checks performed (title, meta, H1, canonical, noindex, alt text, lang, viewport, OG, thin content, speed, HTTPS). This clearly separates it from generic siblings like check_url_status or website_technologies, though it never names those alternatives directly.

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 is implied by the checklist of checks, so an agent can infer this is the comprehensive page-level SEO pass rather than a single-signal probe. However, there is no explicit when-to-use, when-not-to-use, or routing to siblings such as security_headers_check or check_url_status.

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

sitemap_urlsURLs listed in a website's sitemapA
Read-only
Inspect

URLs listed in a website's sitemap. Extract sitemap URLs. Get all URLs of a website from its sitemaps (found via robots.txt), following sitemap indexes and .gz files, with lastmod, priority and changefreq. Filter by text.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebsite or sitemap URL (e.g. https://apify.com)
limitNoMax URLs (1-5000) (e.g. 1000)
containsNoOnly URLs containing this text

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=true, destructiveHint=false), and the description adds real behavioral context beyond them: it follows sitemap indexes and .gz files, and surfaces lastmod, priority and changefreq. It stops short of describing pagination or failure behavior for sites without a sitemap.

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

Conciseness3/5

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

The first two sentences restate the title and the tool name ('URLs listed in a website's sitemap. Extract sitemap URLs.') before reaching the useful content, so roughly a third of the text is redundant, though the remaining content is front-loaded and dense.

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 usefully names the returned fields (lastmod, priority, changefreq) and the sitemap-traversal behavior. Missing only edge-case guidance (no sitemap present, gzip failure) for a fully complete picture of a simple three-parameter 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 the schema already documents url, limit and contains with examples. The description only gestures at 'Filter by text' (contains) and mentions lastmod/priority/changefreq, which are return fields rather than parameters, so it adds little beyond the schema.

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

Purpose5/5

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

States a specific verb+resource ('Extract sitemap URLs... Get all URLs of a website from its sitemaps') and adds mechanics (found via robots.txt, follows sitemap indexes and .gz files) that clearly separate it from siblings like extract_links, robots_txt_check, or seo_audit.

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 is implied by the resource ('from its sitemaps, found via robots.txt'), so an agent can infer this is the sitemap-discovery tool, but there is no explicit when-to-use/when-not statement or named alternative for related needs such as crawling links or auditing SEO.

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

spell_checkEnglish spell check with suggestionsA
Read-only
Inspect

English spell check with suggestions. Check spelling. Fast English spell checker (US and UK): flags misspellings with ranked suggestions, offsets and an auto-corrected text. Drop-in replacement for the retired Bing Spell Check API (format=bing).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoproof (default: spelling + repeated words) or spell (spelling only) (e.g. proof)
textYesText to check (max 20,000 characters) (e.g. I recieve alot of emails abuot the the project.)
wordsNoComma-separated custom words to accept (brand names, jargon) (e.g. TidyData,Kubernetes)
formatNoLeave empty for the full response, or bing for the Bing Spell Check v7 response shape
languageNoen-US (default), en-GB or en (any English). Also accepts mkt=en-US like Bing (e.g. en-US)
max_suggestionsNo1-10 suggestions per error (default 4) (e.g. 4)
ignore_uppercaseNoSkip ALL-CAPS words like acronyms (true/false, default true) (e.g. true)

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive, openWorld). The description adds genuine value beyond them: it discloses the return shape (ranked suggestions, offsets, auto-corrected text) and the format=bing compatibility mode, which matters since there is no output schema.

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

Conciseness4/5

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

Front-loaded with the core purpose and kept to a few sentences. There is mild redundancy between the title, 'Check spelling', and the opening phrase, but nothing is bloated.

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 text-processing tool with a fully documented schema but no output schema, the description supplies the missing return-value context (suggestions, offsets, corrected text) and language/format scope. A brief note on limits or error behavior would make it fully complete.

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 seven parameters are already documented with examples in the schema. The description only echoes the format=bing behavior and adds no syntax or default details beyond what the schema already provides, 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 ('English spell check', 'flags misspellings') and conveys scope (US/UK English, ranked suggestions). It is clearly distinguishable from siblings like dictionary_define or detect_language, though it never names those alternatives explicitly.

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 is implied by the purpose (check spelling of text) and the Bing-compatibility note hints at a migration use case, but there is no explicit when-to-use versus dictionary_define/detect_language guidance and no stated prerequisites or exclusions.

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

summarizeSummarize a text or web pageB
Read-only
Inspect

Summarize a text or web page. Summarize a text or URL. Summarize any text or article URL in 50+ languages: picks the most important sentences (TextRank), with keywords and reading-time saved. No AI costs and no invented content.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOr an article URL to fetch and summarize (e.g. https://en.wikipedia.org/wiki/Spell_checker)
langNoISO 639-1 language or auto (default) (e.g. auto)
textNoText to summarize (up to 100,000 characters)
ratioNoOr a fraction of the sentences, 0.05-0.6
sentencesNoNumber of sentences in the summary (default: about 20%, 3-5) (e.g. 3)

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, openWorld, non-destructive), and the description adds genuinely useful behavioral context: extractive TextRank, 50+ language support, and the explicit claim of no AI cost and no invented content. It does not cover rate limits or fetch failures on URLs, but adds real value beyond annotations.

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

Conciseness3/5

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

The opening two sentences ('Summarize a text or web page. Summarize a text or URL.') are near-duplicates that consume space without adding meaning. The rest is efficient, but the redundancy is real waste.

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

Completeness3/5

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

For a 5-parameter tool with no required fields and no output schema, the description should clarify that the caller must supply text OR url; it merely implies this. It does cover output-side traits (keywords, reading time), which partly compensates.

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 the schema already documents all five parameters. The description corroborates the URL and language aspects but adds no syntax or interplay detail (e.g., how ratio and sentences interact). 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?

The description names a specific verb+resource (summarize text/URL) and adds the mechanism (TextRank) and outputs (keywords, reading-time). It is distinguishable from siblings like extract_keywords or link_preview, though it never explicitly names them.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no named alternatives, despite a crowded sibling set (extract_keywords, link_preview, spell_check). Usage is only implied by the verb.

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

sunrise_sunsetSunrise, sunset, twilight and golden hourA
Read-only
Inspect

Sunrise, sunset, twilight and golden hour. Sun times. Sunrise, sunset, solar noon, day length, civil/nautical/astronomical twilight and golden hour for any coordinates and date, plus moon phase, illumination, moonrise/moonset and next full and new moon. Times are returned in the local time zone, detected automatically from the coordinates.

ParametersJSON Schema
NameRequiredDescriptionDefault
tzNoIANA time zone for the returned times, or 'auto' (detected from coordinates) (e.g. auto)
latYesLatitude (e.g. 40.4168)
lonYesLongitude (e.g. -3.7038)
dateNoDate YYYY-MM-DD (default: today) (e.g. 2026-06-21)

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful behavior beyond that: times are emitted in a local time zone auto-detected from the coordinates. It still says nothing about accuracy caveats, polar day/night edge cases, or date-range limits, which for an astronomical calculator would be worth stating.

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

Conciseness3/5

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

The core sentence is dense and front-loads the returned data well, but the opening two fragments ('Sunrise, sunset, twilight and golden hour.' and 'Sun times.') are redundant restatements of the title and consume the most prominent position without adding information. Trimming them would sharpen the entry point.

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 correctly carries the burden of enumerating return values, and it does so thoroughly (all sun events, twilight bands, golden hour, moon data). It is slightly thin on output formatting (e.g. how day length is expressed) and edge-case behavior, but an agent has enough to call and interpret the 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 four parameters (lat, lon, tz, date) are already documented with examples and defaults in the schema. The description's time-zone statement merely restates the schema's tz 'auto' semantics and adds no format, range, or edge-case detail beyond it, 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?

The description names a concrete resource and enumerates exactly what is computed: sunrise, sunset, solar noon, day length, three twilight bands, golden hour, plus moon phase/illumination/rise/set. That is far more specific than the title alone. It does not, however, distinguish itself from the sibling 'moon_phase' tool even though it duplicates that capability, so sibling differentiation is incomplete.

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 is implied by the stated inputs ('for any coordinates and date'), which tells an agent this is the coordinate-based sun/moon calculator. There is no explicit when-to-use versus alternatives, and no mention of the overlapping 'moon_phase' or 'timezone_by_coordinates' siblings, nor any prerequisite (e.g. valid coordinates, date range limits).

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

synonymsSynonyms of an English wordB
Read-only
Inspect

Synonyms of an English word. Synonyms and antonyms. English thesaurus: synonyms, antonyms and related words for 147,000 words, ranked and grouped by meaning with part of speech and definitions. Handles inflected forms (running → run).

ParametersJSON Schema
NameRequiredDescriptionDefault
posNoFilter by part of speech: noun, verb, adjective or adverb
wordYesEnglish word or phrase (e.g. happy)
limitNoMax words per list, 1-200 (default 30) (e.g. 30)

TDQS

B3.4/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 genuine behavioral value beyond that: result coverage (147,000 words), that results are ranked and grouped by meaning, include part of speech and definitions, and that inflected forms are normalized (running → run).

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

Conciseness3/5

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

Front-loaded with the core purpose, but the body redundantly restates 'synonyms and antonyms' three times across consecutive sentences. The word-count/coverage figure earns its place; the repetition does not.

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 usefully characterizes the return payload (ranked, grouped by meaning, POS-tagged, definitions included), which is what an agent needs to consume results. It omits result volume/limit behavior, a minor gap given the schema documents the limit parameter.

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

Parameters3/5

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

Schema coverage is 100% and all three parameters are self-documented, so the baseline is 3. The description mentions 'part of speech' and definitions but adds no syntax, default, or filtering semantics beyond what the schema already states.

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 resource (synonyms/antonyms for an English word) with concrete scope (147,000 words, inflected forms). It does not, however, distinguish itself from close siblings like dictionary_define or rhymes, which an agent could plausibly confuse it with.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance. Nothing tells the agent to prefer this over dictionary_define for definitions or rhymes for sound-alikes, so the routing decision is left entirely to inference from the name.

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

timezone_by_coordinatesTime zone of a latitude/longitudeA
Read-only
Inspect

Time zone of a latitude/longitude. Time zone for coordinates. Get the IANA time zone for any latitude/longitude, with the current local time, UTC offset, abbreviation and whether daylight saving time is active. Optionally pass a datetime to get the offset at that moment.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYesLatitude (e.g. 40.4168)
lonYesLongitude (e.g. -3.7038)
datetimeNoISO 8601 instant to evaluate (default: now) (e.g. 2026-07-01T12:00:00Z)

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, openWorld, non-destructive), so the bar is lower. The description still adds real behavioral value by enumerating the return payload (IANA zone, current local time, UTC offset, abbreviation, DST flag), which matters since there is no output schema.

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

Conciseness3/5

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

The substantive content is front-loaded well, but the opening two fragments ("Time zone of a latitude/longitude. Time zone for coordinates.") restate the title and each other, wasting the most valuable position in the description.

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 3-parameter read-only lookup with no output schema, the description covers inputs and enumerates outputs adequately. Only the sibling distinction against convert_time_zone is left implicit.

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

Parameters3/5

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

Schema coverage is 100% and each parameter is documented in the schema, so the baseline is 3. The description only lightly reinforces datetime semantics ("offset at that moment") and adds nothing about accepted coordinate formats beyond the schema examples.

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 the IANA time zone for any latitude/longitude." An agent can immediately tell this is a coordinate-to-timezone lookup, though it never names the sibling convert_time_zone to draw the boundary explicitly.

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 is implied by the coordinate-based framing, and the optional datetime clause hints at the when-to-pass case. However, there is no explicit when-to-use vs convert_time_zone guidance and no exclusions or prerequisites stated.

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

validate_ibanValidate and parse an IBANA
Read-only
Inspect

Validate and parse an IBAN. Validate IBAN. Validate any IBAN (checksum, length, country format, national check digits) and split it into bank code, branch code and account number. Formatted and electronic forms, SEPA flag. Offline algorithm, no account lookups.

ParametersJSON Schema
NameRequiredDescriptionDefault
ibanYesIBAN (spaces allowed) (e.g. ES91 2100 0418 4502 0005 1332)

TDQS

A3.5/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), so the bar is lower; the description still adds real value by disclosing that validation is an offline algorithmic check with no account lookup or network dependency, and by listing what it checks and extracts. It does not describe the response shape for invalid input, but the behavioral disclosure is well 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.

Conciseness2/5

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

The opening three fragments ('Validate and parse an IBAN. Validate IBAN. Validate any IBAN...') are near-duplicate restatements that consume the front-loaded position without adding information. The remaining content is dense and useful, but two of the first sentences do not earn their 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 one-parameter tool with no output schema, the description covers what is verified, what is returned (bank code, branch code, account number, SEPA flag), and the offline nature of the check. The only gap is behavior on invalid input, which is minor given the tool's 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?

There is a single parameter with 100% schema description coverage, which includes the format hint ('spaces allowed') and an example, so the baseline is 3. The description only loosely reinforces this by mentioning 'formatted and electronic forms' and adds no syntax beyond 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 names a specific verb (validate/parse) and resource (IBAN), and enumerates exactly what is validated: checksum, length, country format, national check digits. No sibling tool in the list is close enough to require explicit differentiation, but the first three fragments ('Validate and parse an IBAN. Validate IBAN. Validate any IBAN...') restate the same idea without adding precision.

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?

There is no explicit when-to-use vs. when-not guidance, but the closing note 'Offline algorithm, no account lookups' implicitly scopes the tool: use it for structural validity, not for confirming that an account exists. With no competing sibling to route against, this is adequate but inferred rather than stated.

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

website_technologiesTechnologies used by a websiteA
Read-only
Inspect

Technologies used by a website. Detect technologies. Detect 130+ technologies a website uses: CMS (WordPress, Shopify, Wix, Webflow), frameworks (React, Next.js, Vue), analytics and pixels, chat, CDN and hosting. Great for lead generation and competitor research.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebsite URL (e.g. https://wordpress.org)

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety basics are covered. The description adds useful scope detail ('130+ technologies', category coverage) that partially substitutes for the absent output schema, though it says nothing about rate limits, auth needs or failure behavior.

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

Conciseness3/5

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

The first and second sentences restate the title ('Technologies used by a website. Detect technologies.'), which is pure redundancy. The category enumeration is front-loaded and informative, but the opening wastes space before delivering the actual value.

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 one-parameter, read-only detection tool, the description is largely complete: it tells the agent what class of technologies is returned, which compensates for the missing output schema. It could still note the return shape (e.g. category-to-technology mapping) more explicitly.

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?

There is a single parameter and schema description coverage is 100%, with the schema itself supplying the URL format example. The description adds no extra semantics about the url argument. Baseline 3 applies when the schema does all the work.

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 ('Detect') and resource ('technologies a website uses'), then enumerates the covered categories (CMS, frameworks, analytics, chat, CDN/hosting) and scope ('130+ technologies'). This implicitly distinguishes it from near-neighbors like seo_audit, security_headers_check and dns_lookup, though no sibling is named explicitly.

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?

'Great for lead generation and competitor research' gives intent-level context but never states when to call this versus alternatives such as seo_audit or check_url_status. Usage is implied by the use-case framing rather than spelled out.

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. 49 tool updates
    • First observedadd_business_days
    • First observedairport_distance
    • First observedairport_info
    • First observedairport_search
    • First observedbusiness_days_between
    • First observedcheck_url_status
    • First observedcity_search
    • First observedconvert_calendar_date
    • First observedconvert_currency
    • First observedconvert_time_zone
    • First observedconvert_units
    • First observedcountry_info
    • First observeddecode_vin
    • First observeddetect_language
    • First observeddictionary_define
    • First observeddistance_between_places
    • First observeddns_lookup
    • First observeddns_propagation
    • First observeddomain_availability
    • First observeddomain_whois
    • First observedexchange_rates
    • First observedexpand_short_url
    • First observedextract_html_tables
    • First observedextract_keywords
    • First observedextract_links
    • First observedgenerate_password
    • First observedhash_text
    • First observedip_lookup
    • First observedis_public_holiday
    • First observedlink_preview
    • First observedloan_calculator
    • First observedmoon_phase
    • First observednutrition_calculate
    • First observednutrition_search
    • First observedpostal_code_lookup
    • First observedpublic_holidays
    • First observedreverse_geocode
    • First observedrhymes
    • First observedrobots_txt_check
    • First observedsecurity_headers_check
    • First observedseo_audit
    • First observedsitemap_urls
    • First observedspell_check
    • First observedsummarize
    • First observedsunrise_sunset
    • First observedsynonyms
    • First observedtimezone_by_coordinates
    • First observedvalidate_iban
    • First observedwebsite_technologies

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Provides accurate time zone conversions, DST-safe scheduling, holidays for 200+ countries, business day calculations, and cross-zone meeting slot suggestions.
    5
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    23 developer & data API tools for AI agents - IP/DNS/WHOIS/SSL lookups, web scraping & screenshots, text AI (summarize, translate, sentiment, grammar, redact), and dev utilities (hash, UUID, QR, JWT, cron, IBAN/VAT/email validation, breach check).
    23
    39 PyPI
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.