SiteCheck Trade & Energy
Server Details
112 pay-per-call agent tools: logistics, shipping, trade and energy data tools. x402
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 112 tools
The set contains many near-neighbour families: three European day-ahead power price tools, several US grid/ISO monitors, multiple carbon registries, and overlapping customs/tariff lookups. Descriptions are detailed, but at 112 tools an agent can easily choose the wrong source, region, or data vintage.
All names are snake_case and broadly follow a domain_subject_source pattern with energy_ and logistics_ prefixes. Minor issues remain: some legacy route names imply the wrong source (CME, ICE, LME, RISI), and energy_ is applied to non-energy items such as SDRs and food prices.
112 tools far exceeds a well-scoped set and combines two very broad domains. Even if each tool covers a distinct data source, the surface is too large for reliable tool selection without additional grouping or routing.
Coverage is broad across energy markets, carbon registries, commodities, freight, customs, and ports, but it is uneven. Live coverage is limited, some markets and regions are missing, and many tools are read-only snapshots rather than end-to-end workflow support.
Available Tools
112 toolsenergy_adb_procurement_noticesEnergy Adb Procurement NoticesARead-onlyInspect
Asian Development Bank procurement notices (the newest 12 tenders, optionally filtered by keyword and country): notice title with project number, notice type (e.g. Invitation for Bids), status, bid deadline, country/economy, sector, posting date, loan/grant approval numbers and the notice document link. From adb.org/projects/tenders via a rendering residential proxy. Price: $0.02 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Optional keyword matched in title, sector and notice type, e.g. water, road, solar | |
| country | No | Optional country/economy, e.g. Pakistan, Bangladesh |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly and openWorld; the description adds genuinely non-obvious behavior: the result set is capped at the newest 12 tenders, fetching requires a rendering residential proxy, and each successful call costs $0.02 in USDC via x402 on Base/Solana/Arc with failed calls free. The cost and freshness-cap facts materially affect an agent's decision to call it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core identification and scope, followed by a compact field list and a payment-model sentence. Dense but every clause carries information; only the field enumeration brushes against redundancy with the output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-field enumeration is somewhat redundant, but coverage is otherwise complete: source, freshness cap, filters, and billing model are all present. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and both parameters already carry examples in the schema ('water, road, solar'; 'Pakistan, Bangladesh'). The description only restates that keyword and country filtering exist without adding format, matching, or partial-match semantics, so it stays at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: Asian Development Bank procurement notices, with scope (newest 12 tenders) and the returned fields enumerated. The source (adb.org/projects/tenders) implicitly distinguishes it from energy_world_bank_procurement and energy_inter_american_dev_bank, but 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Says the results are 'optionally filtered by keyword and country', which hints at usage, but gives no explicit when-to-use guidance and never mentions the World Bank or IDB procurement siblings an agent might reasonably confuse it with. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_american_carbon_registryEnergy American Carbon RegistryARead-onlyInspect
American Carbon Registry (ACR) projects from its public registry on ICE GreenTrace: search by text or project type (forest carbon, landfill gas, refrigerants, orphaned wells, CCS …); per project the ACR ID, name, status, type, methodology, developer, crediting program, country, credits issued, last status change and registry links, plus the total number of matching projects. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search text (name, ID, developer …) | |
| page | No | Result page, 1 to 100 (default 1) | |
| type | No | Project type code: ALM, CCS, CMM, EE, FC, FSW, IGS, IPE, LGCC, LWM, ORW, ODS, REF, REN, TFE, WWT, WR | |
| limit | No | Projects per page, 1 to 100 (default 20) |
Output Schema
| Name | Required | Description |
|---|---|---|
| q | No | |
| page | No | |
| type | No | |
| total | No | |
| source | No | |
| results | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely non-obvious behavior: a paid x402 call at $0.002 USDC with settlement on Base, Solana or Arc, and that failed calls are not charged — material cost information an agent must know before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Content is front-loaded with identity and search capability, then the return payload, then pricing. It is a single dense block rather than scannable sentences, but every clause carries information; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, spelling out return fields is mild redundancy, but the description supplies the pieces structured data cannot: billing model, payment rails, and failure-charge policy. What is missing is sibling routing against the other carbon registries in this toolset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description earns above baseline by decoding the type-code parameter conceptually (forest carbon, landfill gas, refrigerants, orphaned wells, CCS), which the schema only exposes as bare abbreviations like FC, LGCC, REF and ORW.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: searching ACR project records on ICE GreenTrace by text or project type, and enumerates the returned fields. It is clearly distinct from siblings by registry identity (ACR), though it never names the adjacent registries (Verra, Gold Standard, Climate Action Reserve) that an agent might 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'search by text or project type' plus example project types tells the agent how to call it, but there is no guidance on when to choose this registry versus the sibling carbon-registry tools, nor any statement of exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_ammonia_fertilizer_spotEnergy Ammonia Fertilizer SpotARead-onlyInspect
Monthly US producer price indexes for ammonia and nitrogen fertilizer from the Bureau of Labor Statistics (via FRED): the commodity index for ammonia, nitric acid, ammonium compounds and urea, and the nitrogenous fertilizer manufacturing industry index. Index values, not USD spot prices; US Gulf/Tampa spot quotes are not included. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | Months of history, 1 to 60 (default 12) |
Output Schema
| Name | Required | Description |
|---|---|---|
| unit | No | |
| source | No | |
| ammonia | No | |
| checkedAt | No | |
| nitrogenFertilizerIndustry | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and openWorld annotations, the description discloses the data source, update frequency, and crucial limitations: the values are indexes rather than spot prices and exclude Gulf/Tampa quotes. It also adds important billing behavior, including the per-call cost and the fact that failed calls are not charged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core data identity, followed by the most important caveat and then pricing. Every sentence adds distinct value, and there is no redundant or filler language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter data retrieval tool with an output schema and safety annotations, the description supplies the remaining context an agent needs: the source, the nature of the values, exclusions, and cost. Nothing essential for correct selection or invocation appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, months, is fully documented in the schema with its range and default. The description does not add any parameter-specific semantics, so the schema carries the meaning and the baseline score of 3 is appropriate for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and scope: monthly US producer price indexes for ammonia and nitrogen fertilizer from BLS via FRED. It also distinguishes the data from spot prices by explicitly saying these are index values, not USD spot quotes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly signals when not to use the tool by excluding USD spot prices and US Gulf/Tampa spot quotes, which helps route the agent away from spot-price use cases. However, it does not explicitly name alternative tools or spell out the exact conditions under which this tool should be selected over other energy data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_battery_energy_storage_bessEnergy Battery Energy Storage BessARead-onlyInspect
Battery storage arbitrage margin for a day on the German-Luxembourg day-ahead market (EPEX SPOT DE-LU hourly prices): for a 1, 2 or 4 hour battery, the cheapest charging hours and the most expensive discharging hours, the daily price spread and the gross margin per MW of power after round-trip losses (default 88%). One full cycle per day, perfect foresight, no grid fees or degradation: an upper-bound screening number, not a trading result. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Delivery day YYYY-MM-DD (default: latest auctioned day) | |
| efficiency | No | Round-trip efficiency 0.5-1.0 (default 0.88) | |
| durationHours | No | Battery duration in hours: 1, 2 or 4 (default 2) |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| market | No | |
| source | No | |
| spread | No | |
| baseload | No | |
| currency | No | |
| checkedAt | No | |
| chargeHours | No | |
| deliveryDay | No | |
| durationHours | No | |
| avgChargePrice | No | |
| dischargeHours | No | |
| avgDischargePrice | No | |
| grossMarginPerMwDay | No | |
| roundTripEfficiency | No | |
| chargeBeforeDischarge | No | |
| grossMarginPerMwhStored | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint and openWorldHint annotations, the description adds substantial behavioral context: perfect foresight, one full cycle per day, no grid fees or degradation, round-trip losses, and gross margin as an upper bound. It also discloses pricing and that failed calls are not charged, which is important operational behavior not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded with the metric and scope, then gives assumptions and pricing in compact sentences. Despite being dense, every sentence adds useful selection or interpretation context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers market, metric definition, assumptions, limitations, parameter options, and payment behavior, while the output schema can carry return-value details. It is complete enough for an agent to decide whether and how to call the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents date, efficiency, and durationHours with defaults and ranges. The description reinforces the 1/2/4-hour options and 88% default efficiency, but adds little beyond the schema and does not add further syntax or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific computed metric and market context: daily battery storage arbitrage margin on EPEX SPOT DE-LU hourly prices, including charging/discharging hours, spread, and gross margin per MW. It clearly distinguishes this derived BESS screening tool from raw power-price siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context by calling the result an upper-bound screening number and explicitly not a trading result. It does not name a specific sibling alternative, such as the raw EPEX spot price tool, so it stops short of full when-to-use/when-not-to-use routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_biofuel_rin_credits_epaEnergy Biofuel Rin Credits EpaARead-onlyInspect
US EPA Renewable Fuel Standard RIN data from EPA's public RFS data app (EMTS): weekly volume-weighted average prices of separated D3, D4, D5 and D6 RINs (USD, by RIN year and QAP verification type), weekly RIN trade volumes, RINs generated per year by D code (gross, error corrections, net) and monthly RIN generation by producer type and fuel category with gallons. Filter by D code and year; EPA refreshes it monthly. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | RIN year, e.g. 2026 | |
| dCode | No | D3, D4, D5, D6 or D7 | |
| limit | No | Rows, 1 to 500 (default 50; newest first) | |
| report | No | prices, trades, generation, generation-monthly (default prices) |
Output Schema
| Name | Required | Description |
|---|---|---|
| report | No | |
| source | No | |
| columns | No | |
| matched | No | |
| results | No | |
| checkedAt | No | |
| totalRowsInEpaTable | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and open-world behavior, and the description adds real context beyond that: monthly refresh cadence, the $0.002 USDC cost per successful call via x402 (Base/Solana/Arc), and that failed calls are not charged. It stops short of describing pagination or row ordering behavior beyond the newest-first hint in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the source and datasets, then closes with filtering, freshness and cost. The opening sentence is dense but every clause carries information; the pricing sentence is compact and purposeful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return shape needn't be described, and read-only/open-world annotations cover safety. The description supplies source, scope, filters, refresh cadence and cost model — enough for correct invocation; only ordering/pagination semantics stay implicit in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description still adds value by mapping the declared report values to actual data families (prices, trades, generation, generation-monthly) and clarifying that D codes span D3-D6 in the data while the schema allows D7.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: pulls US EPA RFS (EMTS) RIN data, and enumerates exactly which datasets (weekly VWAP prices of D3-D6, trade volumes, generation by D code, monthly generation by producer type). This clearly distinguishes it from nearby carbon-credit siblings such as energy_rggi_carbon_allowance or energy_verra_vcs_registry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the dataset enumeration and the 'filter by D code and year' note, plus the freshness cue 'EPA refreshes it monthly'. However there is no explicit when-to-use/when-not framing and no named alternative among the many energy-credit siblings, so selection still requires inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_bis_effective_exchange_rateEnergy Bis Effective Exchange RateARead-onlyInspect
BIS (Bank for International Settlements) nominal broad effective exchange rate for one country: monthly index values (base 2020 = 100 as published), latest months first, from the BIS statistics API. Broad basket of 64 economies; not a bilateral rate. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | How many latest months, 1 to 24 (default 3) | |
| country | Yes | ISO 2-letter country code, e.g. TR (Turkey), US, GB |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | No | |
| months | No | |
| source | No | |
| country | No | |
| checkedAt | No | |
| latestPeriod | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond readOnlyHint/openWorldHint by disclosing the pricing model ($0.002 USDC per successful call, x402 on Base/Solana/Arc) and that failed calls are not charged — a real cost/risk signal for the agent. It also states result ordering (latest months first) and that values are as published.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight clauses: what it is, format/ordering, scope caveat, price. The critical identifying information is front-loaded and nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return structure; it covers source, unit, ordering, coverage caveat and cost. Nothing an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds real meaning beyond the schema: 'for one country' clarifies that country selects a single series, and 'latest months first' explains how the months parameter is applied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the exact resource (BIS nominal broad effective exchange rate), the entity scope (one country), the unit/format (monthly index values, base 2020 = 100) and the source API. It also disambiguates from bilateral rates, so an agent can tell what family of data this is 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'not a bilateral rate' and 'broad basket of 64 economies' notes give context for selection, but there is no explicit when-to-use/when-not or any named alternative among the many sibling tools. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_caiso_california_isoEnergy Caiso California IsoARead-onlyInspect
CAISO (California ISO) grid today, from its Today's Outlook data: latest 5-minute generation by source (solar, wind, geothermal, biomass, biogas, small and large hydro, coal, nuclear, natural gas, batteries, imports, other) in MW with renewable share, current demand with day-ahead and hour-ahead forecasts, net load (demand minus solar and wind — the duck curve) for every 5-minute interval so far, and today's peak solar and minimum net load. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint). The description adds genuinely useful non-obvious context: precise pricing ($0.002 USDC per successful call via x402 on Base/Solana/Arc) and the important fact that failed calls are not charged. Data freshness (5-minute granularity, 'so far') is also disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with what the tool returns and followed by pricing. Every clause carries operational meaning (data sources, granularity, forecast types, cost); nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the enumeration of returned fields in the description is somewhat redundant, but pricing and freshness fill the real gaps. For a zero-parameter, read-only, output-schema-backed tool, the agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There is nothing for the description to clarify about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'CAISO grid today, from its Today's Outlook data', then enumerates exactly which data streams are returned (5-minute generation by source, demand with forecasts, net load, peaks). This is clearly distinguishable from grid siblings like energy_ercot_texas_grid_status or energy_miso_midcontinent_iso.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'today' and '5-minute intervals so far', so an agent can infer this is a current-day snapshot tool. However, no alternative is named for historical CAISO data or for other ISOs, and no when-not condition is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_climate_action_reserveEnergy Climate Action ReserveARead-onlyInspect
Carbon offset projects registered with the Climate Action Reserve (CAR, the North American voluntary and California compliance registry) from its public APX project report: project ID, name, developer/owner, verifier, project type, status, compliance (ARB/WA ECO) status, location, offset credits registered, listed and registered dates, SDG tags. Filter by type, status, state, country or text; sorted by credits. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Project type contains, e.g. Forest, Landfill, Livestock, Nitric Acid, Ozone Depleting | |
| limit | No | Projects to return, 1 to 200 (default 50) | |
| query | No | Text in project ID, name, developer or owner | |
| state | No | Project site state, e.g. CALIFORNIA | |
| offset | No | Skip this many (paging) | |
| status | No | Status, e.g. Registered, Listed, Completed, Transitioned | |
| country | No | Project site country code, e.g. US, MX |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | No | |
| offset | No | |
| source | No | |
| projects | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, it discloses the paid-call model ($0.002 USDC per successful call via x402 on Base, Solana or Arc) and that failed calls are not charged — genuinely decision-relevant for an agent. It stays consistent with readOnlyHint. It does not add rate limits or result-shape caveats, but the cost disclosure is a real value add over 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the registry and source before the field list and filters, then a separate sentence for pricing. The field enumeration is long but each item is substantive; slightly denser than necessary but no filler sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, annotations cover the read-only/open-world profile, and the schema documents every parameter, so the description need only supply sourcing, cost and sort semantics — which it does. The one missing piece is explicit sibling disambiguation between CAR and the other carbon registries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents all seven parameters including examples. The description only restates the filter dimensions (type, status, state, country, text) and adds one fact not in the schema — results are sorted by credits. Baseline 3 is appropriate when the schema carries the parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('Carbon offset projects registered with the Climate Action Reserve') plus the upstream source (public APX project report) and an enumeration of returned fields. The explicit naming of CAR as the North American voluntary and California compliance registry implicitly separates it from energy_american_carbon_registry, energy_verra_vcs_registry and energy_gold_standard_credits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the usage context clear — browse/filter CAR project records by type, status, state, country or text, sorted by credits. It does not explicitly state when to prefer this over the sibling registries (ACR/Verra/Gold Standard), so there is clear context but no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_cme_agri_spot_futuresEnergy Cme Agri Spot FuturesARead-onlyInspect
Monthly world reference prices for corn, wheat and soybeans from FRED (World Bank series, USD). These are not CME futures quotes; the name is kept for the owner's route. Latest value plus up to 24 months of history. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | Months of history, 1 to 24 (default 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| soy | No | |
| corn | No | |
| wheat | No | |
| source | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and open-world behavior, yet the description still adds real value: a paid-call model ($0.002 USDC per successful call via x402 on Base, Solana or Arc) and the explicit guarantee that failed calls are not charged. It also discloses source and monthly cadence, though it omits refresh latency or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the actual data identity before the pricing note and the name-disambiguation caveat. The 'name is kept for the owner's route' clause is slightly inside-baseball but earns its place as a naming warning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-param read with an output schema, this covers identity, units, source, cadence, history depth and the payment model. Only minor gaps remain, such as refresh frequency and whether values are nominal USD.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'months' parameter is fully documented there, including the 1–24 range and default of 3. The description only echoes the 24-month ceiling, adding no new meaning; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific resource (monthly world reference prices for corn, wheat, soybeans), the source (FRED / World Bank series, USD) and the payload shape (latest value plus up to 24 months of history). It also explicitly negates the misleading tool name by stating these are not CME futures quotes, so an agent can distinguish it from futures-style siblings at a glance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'not CME futures quotes' line implicitly steers an agent away from futures tools, and the data-source disclosure implies when this is the right choice (World Bank reference prices). But there is no explicit when-to-use/when-not-to-use against alternatives such as energy_usda_wasde_crop_reports or energy_ice_coffee_sugar_cocoa, and no prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_crude_oil_brent_wtiEnergy Crude Oil Brent WtiARead-onlyInspect
Daily spot crude oil prices, WTI (Cushing) and Brent, in USD per barrel, from FRED (EIA series). Latest value plus up to 60 trading days of history. Cushing storage levels are not included. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Days of history, 1 to 60 (default 5) |
Output Schema
| Name | Required | Description |
|---|---|---|
| wti | No | |
| brent | No | |
| source | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and openWorldHint annotations, the description discloses source provenance (FRED/EIA), scope limits (up to 60 trading days, Cushing storage excluded), and pricing behavior ($0.002 USDC per successful call via x402, failed calls not charged). This is unusually complete behavioral context for invocation and cost awareness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences with no wasted words. The resource and units are front-loaded, followed by history scope, an exclusion, and payment terms, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with an output schema and annotations already covering safety and openness, the description supplies all remaining essentials: source, units, scope, exclusion, and cost. Nothing material is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single 'days' parameter with range and default, giving 100% schema description coverage. The description adds useful nuance by specifying 'trading days' and 'latest value plus up to 60 trading days of history', but it does not add further syntax or edge-case guidance beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource (daily spot crude oil prices), the two benchmarks (WTI Cushing and Brent), units (USD per barrel), and source (FRED/EIA series). This clearly distinguishes it from sibling tools covering natural gas, weekly petroleum, OPEC monthly reports, and refined fuel bunkers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for using the tool: daily spot crude prices, latest value plus up to 60 trading days of history. It also includes an exclusion (Cushing storage levels are not included), which helps prevent misuse, but it does not explicitly name alternative sibling tools for related oil-market data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_drought_monitor_us_cropEnergy Drought Monitor Us CropARead-onlyInspect
US Drought Monitor county statistics for one US county (5-digit FIPS) and one weekly map date: percent of the county's area in no drought and in drought categories D0 (abnormally dry) to D4 (exceptional), from the USDM public API. County level only; crop-specific indices are not included. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | USDM map date YYYY-MM-DD (a Tuesday); default: the most recent Tuesday | |
| fips | Yes | 5-digit US county FIPS code, e.g. 48201 (Harris County, TX) |
Output Schema
| Name | Required | Description |
|---|---|---|
| fips | No | |
| state | No | |
| county | No | |
| source | No | |
| mapDate | No | |
| checkedAt | No | |
| percentOfAreaPct | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld annotations by disclosing the upstream source (USDM public API), the exact charge ($0.002 USDC per successful call), the payment rails (x402 on Base, Solana, Arc), and that failed calls are free — critical for an agent deciding whether to call. No behavior is contradicted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and scope, followed by exclusions and pricing; every clause carries information. Slightly dense in a single long sentence, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation; annotations cover safety. The description supplies what those fields cannot — data source, geographic granularity limits, and cost model — so an agent can call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented, including the Tuesday/YYYY-MM-DD format and the FIPS example. The description restates '5-digit FIPS' and 'weekly map date' but adds no format 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (US Drought Monitor county statistics) with exact scope: one county by 5-digit FIPS, one weekly map date, returning percent area in no-drought plus D0–D4 categories. It also explicitly bounds itself ('County level only; crop-specific indices are not included'), which separates it from crop-report siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Context is clear: county-level drought percentages for a single FIPS/date, with the default date behavior implied. It excludes crop-specific indices, steering the agent away from misuse, though it never names the sibling tools an agent should pick instead for crop or non-US data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_eia_weekly_petroleumEnergy Eia Weekly PetroleumARead-onlyInspect
US EIA Weekly Petroleum Status Report data from the official EIA Open Data API: commercial crude, SPR, Cushing, gasoline, distillate, jet fuel and propane stocks, crude production, imports, exports, total and gasoline product supplied (demand) and refinery utilization. Latest week, week-over-week change and recent history per series; units as published (thousand barrels, thousand b/d, %). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| weeks | No | Weeks of history per series, 1-52 (default 4) | |
| series | No | Comma list of crudeStocks, sprStocks, gasolineStocks, distillateStocks, jetFuelStocks, propaneStocks, crudeProduction, crudeImports, crudeExports, productSupplied, gasolineSupplied, refineryUtilization, cushingStocks (default: all), or raw EIA series ids like WCESTUS1 |
Output Schema
| Name | Required | Description |
|---|---|---|
| series | No | |
| source | No | |
| keyUsed | No | |
| checkedAt | No | |
| weekEnding | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds material behavior the annotations cannot: per-call cost ($0.002 USDC), the x402 payment rails (Base, Solana, Arc), and the crucial billing rule that failed calls are not charged. It also states the units as published (thousand barrels, thousand b/d, %), which prevents misinterpretation of returned magnitudes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the source and content inventory, then the temporal/unit contract, then pricing. The long series enumeration is dense but each item earns its place as a coverage claim; only the parenthetical list could be compressed further.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return shape need not be explained, and the description still covers source authority, series scope, temporal views, units, and payment mechanics. Remaining minor gaps are publication cadence/lag and whether history weeks are release weeks, but nothing prevents a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — 'weeks' 1-52 with default 4 and the full 'series' list with default-all and raw EIA id support (e.g. WCESTUS1) are already documented in the schema. The description does not add parameter-level guidance (e.g. cost or truncation tradeoffs for large week counts), so it only meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact dataset (EIA Weekly Petroleum Status Report) and enumerates the covered series — crude/SPR/Cushing/gasoline/distillate/jet/propane stocks, production, imports, exports, product supplied, refinery utilization — plus the derived views (latest week, WoW change, history). That is far more specific than a sibling like energy_opec_monthly_oil_market or energy_crude_oil_brent_wti, though no sibling is named explicitly to sharpen the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Use is implied by the data inventory (weekly US petroleum balances and demand) and by 'latest week, week-over-week change and recent history', but there is no explicit when-to-use statement, no exclusions, and no pointer to alternatives such as the Brent/WTI spot tool or the OPEC monthly tool. An agent must infer selection from content overlap alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_entsoe_transparency_euEnergy Entsoe Transparency EuARead-onlyInspect
European electricity market: day-ahead spot prices (EUR/MWh, 15-minute or hourly) for a bidding zone such as DE-LU, FR, NL, BE, AT, PL, DK1, NO2, SE3, IT-North, with min/max/average for the day, and optionally the cross-border physical flows (GW, positive = import) between a country and each neighbour. Data from ENTSO-E/SMARD as republished by Fraunhofer ISE's Energy-Charts API; licence string returned with each answer. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Delivery day YYYY-MM-DD (default: today) | |
| zone | No | Bidding zone, e.g. DE-LU, FR, NL, BE, AT, CH, CZ, PL, HU, DK1, DK2, NO1-NO5, SE1-SE4, IT-North, ES, PT (default DE-LU) | |
| flows | No | Optional 2-letter country (de, fr, nl, at, pl…) for cross-border physical flows |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint/openWorldHint annotations: discloses data provenance (ENTSO-E/SMARD via Fraunhofer ISE Energy-Charts), that a licence string accompanies each answer, and the cost model — $0.002 USDC per successful call via x402 across Base/Solana/Arc, with failed calls uncharged. The billing behavior is exactly the kind of non-obvious trait an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph, front-loaded with what the tool returns before provenance and payment terms. Every sentence carries information, though the pricing clause is a long compound sentence that could be trimmed slightly given it repeats no schema field.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return shapes, and it still covers units, defaults, data lineage, licensing and cost. For a zero-required-parameter read tool, an agent has everything needed to select and call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3; the description still adds value by specifying flow units and sign convention (GW, positive = import) and the per-neighbour expansion, neither of which appears in the schema. Zone examples in the description are a subset of the schema's list, so that part is redundant.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: day-ahead spot prices in EUR/MWh for named European bidding zones, with optional cross-border physical flows. Scope and units are unambiguous. It does not, however, distinguish itself from overlapping siblings such as energy_epex_spot_power_europe or energy_nord_pool_power_elspot, so an agent must infer the difference from the data-source sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through defaults (date=today, zone=DE-LU) and the optional flows flag, which tells the agent how to call it minimally. There is no explicit statement of when to prefer this over the EPEX or Nord Pool siblings, and no when-not guidance. Adequate but leaves the routing decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_epa_echo_enforcementEnergy Epa Echo EnforcementARead-onlyInspect
EPA ECHO (Enforcement and Compliance History Online) summary for one US state: counts of active facilities, inspections, formal enforcement actions and total penalties, from the ECHO REST service. Facility-level violation lists are not included. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state, 2-letter code, e.g. TX |
Output Schema
| Name | Required | Description |
|---|---|---|
| state | No | |
| source | No | |
| checkedAt | No | |
| echoVersion | No | |
| enforcement | No | |
| inspections | No | |
| cleanAirRecords | No | |
| activeFacilities | No | |
| cleanWaterRecords | No | |
| totalPenaltiesUsd | No | |
| toxicReleaseRecords | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and open-world behavior, but the description adds genuinely non-obvious traits: the upstream source (ECHO REST service) and the billing model ($0.002 USDC per successful call via x402 on Base/Solana/Arc, failures not charged). That cost disclosure is material for an agent deciding whether to call. It does not cover rate limits or latency, which keeps it off 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, purpose and scope front-loaded, exclusion before the commercial note. The pricing sentence is long and slightly tacked on, but it carries useful decision information rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value detail is unnecessary, and the description supplies everything else an agent needs: data source, what granularity is and isn't available, single-state constraint, and full cost terms. Nothing essential to correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is fully documented as a 2-letter US state code with an example. The description reinforces the single-state scope but adds no format or validation detail beyond the schema, so this is baseline territory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific resource (EPA ECHO enforcement/compliance summary), the scope (one US state), and enumerates exactly what is returned: counts of active facilities, inspections, formal enforcement actions and total penalties. It also states the boundary — facility-level violation lists are not included — which separates it from a detail-level tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope constraint ('for one US state') and the explicit exclusion ('Facility-level violation lists are not included') tell the agent when this tool is the wrong choice. It stops short of naming a sibling alternative for facility-level data, so routing for that case is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_epa_flight_emissionsEnergy Epa Flight EmissionsARead-onlyInspect
EPA Greenhouse Gas Reporting Program (GHGRP) reported emissions for one facility by year, from EPA Envirofacts (CO2e summed across gases per year, as published). Uses the GHGRP facility id (e.g. 1000001). Facility search and sector breakdowns are not included. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| facilityId | Yes | GHGRP facility id, digits only, e.g. 1000001 |
Output Schema
| Name | Required | Description |
|---|---|---|
| years | No | |
| source | No | |
| rowCount | No | |
| checkedAt | No | |
| facilityId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, but the description adds genuinely non-structured context: pricing ($0.002 USDC per successful call, paid via x402 on Base/Solana/Arc) and that failed calls are not charged. That billing model is exactly the kind of behavioral trait annotations cannot convey. It stops short of describing response shape or coverage/rate limits, hence not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and data source are front-loaded in the first clause, followed by scope limits and cost. Dense and largely waste-free, though the payment details are packed into one long semicolon-heavy sentence that could be split for faster scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with an output schema, the description covers source, aggregation semantics, scope exclusions, and cost. The only meaningful omission is guidance on obtaining a facility id when the caller doesn't have one, which matters because facility search is explicitly out of scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, fully described in the schema ('GHGRP facility id, digits only, e.g. 1000001'). The description restates the id and example but adds no new constraint 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+scope: EPA GHGRP reported emissions for one facility by year, sourced from EPA Envirofacts. The aggregation basis (CO2e summed across gases per year, as published) is stated, which distinguishes it from sector-level or registry-wide siblings like energy_epa_echo_enforcement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives scope exclusions ('Facility search and sector breakdowns are not included') and the required id form (GHGRP facility id, e.g. 1000001), which implies when it applies. But it never names what to use for facility lookup or sector breakdowns, so the agent must infer alternatives from the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_epex_spot_power_europeEnergy Epex Spot Power EuropeARead-onlyInspect
EPEX SPOT day-ahead electricity auction results for the Germany-Luxembourg bidding zone (DE-LU, Europe's largest power market) and a delivery day: baseload and peakload prices (EUR/MWh), and for every hour and every 15-minute period the price, buy volume, sell volume and traded volume (MWh). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | Bidding zone: DE-LU (the only zone the public page serves) | |
| date | No | Delivery day YYYY-MM-DD (default tomorrow after the noon auction, else today) | |
| resolution | No | hour (default) or quarter for 15-minute periods too |
Output Schema
| Name | Required | Description |
|---|---|---|
| area | No | |
| unit | No | |
| hours | No | |
| source | No | |
| auction | No | |
| baseload | No | |
| currency | No | |
| peakload | No | |
| checkedAt | No | |
| deliveryDate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the $0.002 USDC per successful call cost, the x402 payment rails (Base, Solana, Arc), and that failed calls are not charged — a detail an agent needs before deciding to pay.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences: the data scope is front-loaded, and the billing/payment facts follow. Every clause (zone, resolution granularity, volume fields, currency, price, payment rails, failure policy) carries information an agent would otherwise have to guess.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full annotation coverage, the description need not describe return structure, and it correctly focuses on scope, granularity and payment terms. It is essentially complete; only edge behaviors (e.g., what is returned before the noon auction publishes, or data latency) are left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented with defaults and formats. The description reinforces what the parameters produce (baseload/peakload vs. hourly vs. quarter-hour periods, EUR/MWh vs. MWh) but adds no new syntax or constraint beyond the schema, which is exactly the baseline-3 situation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'EPEX SPOT day-ahead electricity auction results' for the DE-LU bidding zone, and enumerates the exact content returned (baseload/peakload prices, plus per-hour and per-15-minute price, buy, sell and traded volumes). This clearly separates it from power-market siblings such as nord_pool_power_elspot, entsoe_transparency_eu or caiso_california_iso, which cover different markets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It establishes when this tool applies: Germany-Luxembourg day-ahead auction results for a delivery day, with the DE-LU-only restriction and the default delivery-day behavior made explicit. It does not, however, explicitly route the agent to a sibling when a different zone or market is needed, so the choice among the many energy_* tools is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_ercot_texas_grid_statusEnergy Ercot Texas Grid StatusARead-onlyInspect
Live Texas (ERCOT) grid status from ERCOT's public dashboards: frequency, demand, net load, capacity and reserve margin (MW and %), wind, solar and inertia; the latest generation mix by fuel with shares; real-time and day-ahead prices for ERCOT hubs and load zones (USD/MWh); and ERCOT's demand and capacity forecast for the coming hours. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| forecastHours | No | Forecast points to include, 0 to 48 (default 12) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and openWorldHint=true, so the safety profile is partly covered. The description adds valuable behavioral context beyond annotations: it is live data from public dashboards, costs $0.002 in USDC per successful call via x402, and failed calls are not charged, which is important for invocation decisions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then lists supported data domains and pricing. It is dense but each piece is relevant to an agent deciding whether to call it; the metric list is long but justified for a multi-metric dashboards tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the description covers source, region, data domains, and payment behavior, while an output schema exists to explain return values. It is largely complete, with only minor missing guidance about how it compares to sibling grid/ISO tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single forecastHours parameter is fully documented in the schema. The description mentions forecast data generally but does not add syntax, default, or usage details for the parameter beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: live Texas (ERCOT) grid status from ERCOT public dashboards. It enumerates the exact data domains covered, including frequency, demand, load, capacity, reserves, generation mix, prices, and forecasts, so it is clearly distinguishable from other grid-status siblings by region and source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it by specifying ERCOT/Texas grid status and listing the metrics available. However, it does not explicitly name alternatives such as energy_us_electric_grid_monitor or other ISO tools, nor does it state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_eu_csrd_taxonomy_alignedEnergy Eu Csrd Taxonomy AlignedARead-onlyInspect
EU Taxonomy (Regulation 2020/852, used in CSRD reporting) lookup from the European Commission's Taxonomy Compass API: taxonomy-eligible activities by NACE code or keyword, with sector, NACE codes and environmental objectives; for one activity its substantial-contribution and do-no-significant-harm criteria as text. Activity rules only, not company disclosures. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Keyword in the activity name, e.g. solar, cement, hydrogen | |
| lang | No | Language code, default en (24 EU languages) | |
| nace | No | NACE Rev.2 code or prefix, e.g. D35.11, C23.51, F41 | |
| objective | No | Filter by objective: mitigation, adaptation, water, circular, pollution, biodiversity | |
| activityId | No | Compass activity id (from a list result) to get its screening criteria |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| query | No | |
| source | No | |
| checkedAt | No | |
| activities | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, the description discloses what annotations cannot: the upstream source, the $0.002 USDC cost per successful call, the x402 payment rails (Base, Solana, Arc), and the charge policy that failed calls are free. It also clarifies that criteria are returned as text, which is behavioral detail an agent needs before committing to a paid call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb, source and regulation before pricing. The first sentence is long and semicolon-stacked, which slightly hurts scannability, but every clause (source, outputs, scope boundary, cost, payment rails, refund policy) carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value detail is unnecessary, and the description covers what remains: authoritative source, regulatory basis, scope limits, both query modes, payment/auth requirements and charge policy. An agent can decide whether to call and how to call it without further context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description still adds value by framing activityId as the second step of a two-call workflow ('from a list result') and by tying NACE/keyword inputs to the returned sector, NACE codes and objectives. It stops short of explaining filter interaction or defaults beyond language.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource — an EU Taxonomy (Regulation 2020/852) activity lookup from the European Commission's Taxonomy Compass API — and enumerates both output modes (eligible activities by NACE code/keyword with sector, NACE codes and objectives; screening criteria for a single activity). It also draws an explicit boundary ('Activity rules only, not company disclosures'), which distinguishes it from disclosure-oriented siblings such as energy_sec_esg_climate_filings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly signals the two usage paths — keyword/NACE lookup for lists versus activityId for substantial-contribution and DNSH criteria — and states an exclusion (company disclosures). What's missing is any guidance on picking among the mutually exclusive filters (q vs nace vs objective) or what happens when none is supplied given zero required parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_ev_charging_station_ocpiEnergy Ev Charging Station OcpiARead-onlyInspect
EV charging locations near a point, returned in the OCPI 2.2 Location → EVSE → Connector shape (connector standard, AC/DC power type, max power in W where known, operator, opening hours, status). US and Canada from the US DOE Alternative Fuel Stations directory (ports per level, connectors, network, pricing text); elsewhere from OpenStreetMap (socket types, outputs, capacity). Static directory data: no live availability. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude -90 to 90 | |
| lon | Yes | Longitude -180 to 180 | |
| limit | No | Max locations, 1 to 50 (default 10) | |
| radius | No | Search radius in metres, 100 to 10000 (default 2000) |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| format | No | |
| source | No | |
| checkedAt | No | |
| locations | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Consistent with readOnlyHint/openWorldHint, and adds context the annotations cannot convey: static vs live data, per-region provenance (US DOE AFDC for US/Canada, OSM elsewhere), and an explicit paid-call model ($0.002 USDC via x402, unsuccessful calls not billed). The cost and billing semantics are exactly the kind of behavior an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and result shape, then source coverage, then cost — every clause carries information. The heavy parenthetical enumerations make the first sentence dense, but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and 100% parameter coverage, the description only needs to add scope, data provenance, freshness limits and billing — and it does all four. An agent has everything required to call this correctly and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so lat/lon ranges, limit (1-50, default 10) and radius (100-10000 m, default 2000) are already fully documented in the schema. The description adds no parameter-level detail such as units for lat/lon strings or how radius interacts with limit, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('EV charging locations near a point') plus the exact return shape (OCPI 2.2 Location → EVSE → Connector with connector standard, power type, max power, operator, hours, status). No sibling tool covers charging infrastructure, so the agent can select it unambiguously.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly signals the use case (proximity search around a coordinate) and the important exclusion that this is static directory data with no live availability. It also says which source applies in which region, which shapes expectations. It stops short of naming an alternative tool for live status, but no such sibling exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_fao_food_price_indexEnergy Fao Food Price IndexARead-onlyInspect
FAO Food Price Index monthly values (2002-2004 = 100) from the FAO CSV: overall index plus meat, dairy, cereals, oils and sugar sub-indices, latest months first. The published file currently ends in March 2018, so the tool reports that date rather than a newer month. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | How many latest months, 1 to 24 (default 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| months | No | |
| source | No | |
| checkedAt | No | |
| latestDate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses the pay-per-call model ($0.002 USDC via x402 on Base, Solana or Arc), that failed calls are not charged, and the hard data cutoff date. These are exactly the operational facts an agent needs before spending money on a call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: what the data is, the staleness caveat, and the payment terms. Front-loaded with the resource identity and no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Trivial input surface (one optional param), an output schema already covers return values, and the description closes the remaining gaps: data currency limit and billing behavior. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'months' parameter (1-24, default 3) is fully documented in the schema. The description only adds the implied ordering ('latest months first') and does not restate the range or default, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the exact resource (FAO Food Price Index monthly values, base 2002-2004=100) and enumerates the returned series (overall plus meat, dairy, cereals, oils, sugar). An agent knows precisely what dataset this returns and the ordering (latest months first). No sibling in the list covers food price indices, so differentiation is implicit but unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage context by warning that the published file ends in March 2018, which prevents an agent from misusing it as a current-price source. It does not, however, state an explicit alternative or a when-not-to-use rule beyond that staleness caveat.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_global_solar_atlas_pvEnergy Global Solar Atlas PvARead-onlyInspect
Global Solar Atlas long-term average solar resource at one latitude and longitude: specific PV output (kWh per kWp per year), GHI, DNI, diffuse irradiation and air temperature, from the World Bank / Solargis public API. Not a yield guarantee for a specific plant. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, -90 to 90 (e.g. 52.5) | |
| lon | Yes | Longitude, -180 to 180 (e.g. 13.4) |
Output Schema
| Name | Required | Description |
|---|---|---|
| lat | No | |
| lon | No | |
| period | No | |
| source | No | |
| airTempC | No | |
| checkedAt | No | |
| elevationM | No | |
| dniKwhPerM2 | No | |
| ghiKwhPerM2 | No | |
| pvOutKwhPerKwp | No | |
| diffuseKwhPerM2 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish read-only and open-world behavior, and the description adds substantive context beyond them: the data source (World Bank / Solargis), a clear limitation ('not a yield guarantee'), and precise payment semantics ($0.002 USDC per successful call via x402, with failed calls not charged). It does not mention rate limits or latency, but covers the key behavioral traits an agent needs before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three dense sentences with no filler: it front-loads what data is returned, then adds the important caveat, then the payment model. Every sentence contributes actionable information for an agent deciding whether and how to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (two fully documented parameters), existing output schema, and annotations covering safety, the description is nearly complete: it covers data source, returned variables, usage caveat, and payment details. The main omission is explicit sibling differentiation, which could matter for selecting between this and energy_pvwatts_solar_simulator.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both lat and lon fully described including ranges and examples, so the structured fields carry the parameter documentation burden. The description adds only that the call is for 'one latitude and longitude,' implying a single-point lookup rather than batch input, which is a marginal addition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Global Solar Atlas long-term average solar data) at a specific spatial unit (one latitude/longitude) and enumerates the returned fields: PV output, GHI, DNI, diffuse irradiation, and air temperature. It clearly distinguishes itself from general energy tools, but does not explicitly name or differentiate from the closest siblings, energy_pvwatts_solar_simulator and energy_global_wind_atlas_data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for long-term solar resource screening and includes a caveat that it is 'not a yield guarantee for a specific plant,' which hints at when not to rely on it for bankable yield estimates. However, it never explicitly says when to use it versus alternatives such as energy_pvwatts_solar_simulator, which offers a more detailed PV simulation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_global_wind_atlas_dataEnergy Global Wind Atlas DataARead-onlyInspect
Wind resource at a coordinate from NASA POWER (MERRA-2 based 25-year climatology, ~0.5° grid): annual and monthly mean wind speed at 10 m and 50 m, prevailing direction at 50 m, the shear exponent between them, an extrapolated mean speed at your hub height and an estimated mean power density (Rayleigh distribution, air density 1.225 kg/m³). Coarse screening data; the Global Wind Atlas 250 m layers have no public point API. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, -90 to 90 | |
| lon | Yes | Longitude, -180 to 180 | |
| hubHeight | No | Hub height in metres for the extrapolated speed, 10 to 250 (default 100) |
Output Schema
| Name | Required | Description |
|---|---|---|
| lat | No | |
| lon | No | |
| note | No | |
| unit | No | |
| period | No | |
| source | No | |
| checkedAt | No | |
| hubHeightM | No | |
| shearExponent | No | |
| monthlyWindSpeed50m | No | |
| annualMeanWindSpeed10m | No | |
| annualMeanWindSpeed50m | No | |
| estimatedMeanSpeedAtHub | No | |
| prevailingDirection50mDeg | No | |
| estimatedPowerDensityAtHubWm2 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Well beyond the readOnlyHint/openWorldHint annotations, it discloses the pricing model ($0.002 USDC per successful call), the payment rails (x402 on Base, Solana, Arc), and the crucial billing rule that failed calls are not charged. It also discloses methodological assumptions (Rayleigh distribution, air density 1.225 kg/m³) and accuracy limits, which materially affect how the result should be trusted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph that front-loads the resource and output list before provenance, caveats, and price. Every clause carries information, though the long parenthetical stacks (provenance, method assumptions, pricing) could be split for faster scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation; what remains — data source, grid resolution, extrapolation method, accuracy caveat, and cost — is all covered. An agent can decide whether to call this and predict the charge without consulting anything else.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each of lat, lon and hubHeight already documented including ranges and the default. The description adds only indirect context — that hubHeight drives the shear-exponent extrapolation and the resulting 50 m reference — which is marginal beyond what the schema states. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A specific verb-and-resource statement: wind resource at a coordinate, with the exact returned quantities (10 m and 50 m mean speeds, direction, shear exponent, hub-height extrapolation, power density). It also names the data source (NASA POWER / MERRA-2, ~0.5° grid), which distinguishes it from the sibling energy_global_solar_atlas_pv and from the GWA layers it explicitly rules out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'coarse screening data' plus the note that Global Wind Atlas 250 m layers have no public point API tells the agent when this tool is appropriate and why the obvious alternative is unavailable. It stops short of stating exclusions directly (e.g., 'not for bankable energy yield assessment' or 'use the solar atlas for PV'), leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_gold_standard_creditsEnergy Gold Standard CreditsARead-onlyInspect
Gold Standard carbon registry search. view=credits: credit batches with serial number, credits, vintage, monitoring period, certified date, status, CORSIA eligibility and project, plus total batches and credits. view=projects: GS ID, name, status, type, size, country, developer, methodology, annual credits, crediting period, SDGs and document link. Free-text search over names. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number from 1 (default 1) | |
| view | No | credits (default) or projects | |
| limit | No | Rows per page, 1 to 50 (default 20) | |
| query | No | Optional free-text search, e.g. cookstove, wind, Kenya |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | No | |
| view | No | |
| count | No | |
| query | No | |
| total | No | |
| source | No | |
| batches | No | |
| checkedAt | No | |
| totalCredits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and openWorldHint annotations, the description discloses pricing ($0.002 USDC per successful call), payment rails (x402 on Base, Solana, or Arc), and that failed calls are not charged. That is meaningful behavioral context for a paid data lookup, though it does not cover rate limits or authentication beyond payment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's purpose, then efficiently packs the two view definitions, search behavior, and payment terms into a compact paragraph. Every sentence carries useful information, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema and full parameter-schema coverage, the description is largely complete: it covers purpose, view modes, search, and payment. Minor gaps remain, such as whether free-text search applies equally to credit batches and projects, but they do not prevent correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents page, view, limit, and query. The description adds real semantic value by enumerating the returned fields for view=credits versus view=projects and by clarifying that the query is a free-text search over names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Gold Standard carbon registry search.' It then spells out the two view modes and the exact fields each returns, which clearly distinguishes this registry-specific tool from sibling registry tools such as Verra VCS, ACR, or CAR.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains how to choose between view=credits and view=projects by listing what each returns, and clarifies that query is a free-text search over names. It does not explicitly say when to use this tool over sibling carbon-registry tools, but the registry-specific scope makes the context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_hydrogen_spot_productionEnergy Hydrogen Spot ProductionARead-onlyInspect
Green hydrogen levelized production cost (LCOH, per kg) from an electrolyser: capital cost annuity, fixed O&M, electricity and water, from your inputs or defaults (system 55 kWh/kg, 1,000 €/kW installed, 8% WACC, 20 years, 4,000 full-load hours, 3% O&M). Without an electricity price it uses the latest EPEX SPOT Germany-Luxembourg day-ahead baseload price. A transparent calculator, not a traded hydrogen price. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| waccPct | No | Discount rate % (default 8) | |
| kwhPerKg | No | System electricity use, kWh per kg H2 (default 55) | |
| capexPerKw | No | Installed electrolyser system cost, €/kW (default 1000) | |
| omPctOfCapex | No | Fixed O&M, % of capex per year (default 3) | |
| lifetimeYears | No | Economic life, years (default 20) | |
| electricityPrice | No | €/MWh (default: latest EPEX DE-LU day-ahead baseload) | |
| capacityFactorHours | No | Full-load hours per year, 500-8760 (default 4000) |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| source | No | |
| omPerKg | No | |
| currency | No | |
| checkedAt | No | |
| lcohPerKg | No | |
| capexPerKg | No | |
| waterPerKg | No | |
| assumptions | No | |
| electricityPerKg | No | |
| capitalRecoveryFactor | No | |
| electricityPricePerMwh | No | |
| electricityPriceSource | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds real value beyond them by disclosing the external dependency (live EPEX DE-LU spot substitution) and the commercial terms — $0.002 USDC per successful call via x402 on Base/Solana/Arc, with failed calls not charged. That payment/auth detail is exactly the kind of behavior an agent needs before invoking. It doesn't cover latency, rate limits, or precision of the returned number.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core definition, then the default/fallback mechanics, then pricing terms — a sensible order. Three dense sentences with only modest duplication of the defaults that appear again in the schema; nothing is padded or vague.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 optional parameters with full schema coverage, an output schema, and read-only/open-world annotations, the description covers everything an agent needs: what is computed, what units, what defaults apply, where the one external input comes from, and what it costs. No material gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description restates the same default values the schema already documents (55 kWh/kg, 1000 €/kW, 8% WACC, 20 years, 4000 hours, 3% O&M), adding only the fallback behavior for electricityPrice, which the schema also states. Little semantic value beyond the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+unit: levelized production cost (LCOH) of green hydrogen per kg from an electrolyser, with the cost components enumerated (capex annuity, fixed O&M, electricity, water). The closing line 'A transparent calculator, not a traded hydrogen price' explicitly separates it from the spot/price-feed siblings in the energy_* family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context for invocation: works 'from your inputs or defaults', and the all-important conditional is spelled out — omit the electricity price and the latest EPEX DE-LU day-ahead baseload is substituted. It gives no explicit name-based routing to alternatives (e.g. energy_epex_spot_power_europe for the raw price, energy_ammonia_fertilizer_spot for a traded benchmark), so it stops just short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_ice_coffee_sugar_cocoaEnergy Ice Coffee Sugar CocoaARead-onlyInspect
Monthly world reference prices for coffee, sugar and cocoa from FRED (World Bank series, USD). These are not ICE futures settlements; the name is kept for the route. Latest value plus up to 24 months of history. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | Months of history, 1 to 24 (default 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| cocoa | No | |
| sugar | No | |
| coffee | No | |
| source | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds substantial context beyond that: a per-call price of $0.002 in USDC via x402, accepted chains (Base, Solana, Arc), and the crucial fact that failed calls are not charged. It also discloses the data range (latest value plus up to 24 months). This is exactly the extra behavioral detail annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and each sentence carries information (source, disambiguation, range, cost). The payment detail is correctly placed last, though the disambiguation clause could be folded tighter to avoid slight redundancy with the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read with an output schema and covered annotations, the description is nearly complete: source, units, history window, cost, and a name caveat are all present. The only missing piece is explicit routing versus sibling agri-price tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single 'months' parameter and its 1–24 range/default are already fully documented. The description only echoes 'up to 24 months of history', adding marginal confirmation rather than new meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific resource (coffee, sugar, cocoa), the exact nature of the data (monthly world reference prices from FRED / World Bank, USD), and explicitly disambiguates the misleading 'ice' name by stating these are not ICE futures settlements. An agent can tell this apart from related agri tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear negative: 'not ICE futures settlements', which steers the agent away from a wrong expectation. However, it never names or contrasts the obvious alternatives in the sibling list (energy_cme_agri_spot_futures, energy_fao_food_price_index), so the positive when-to-use condition is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_iea_energy_statistics_apiEnergy Iea Energy Statistics ApiARead-onlyInspect
IEA (International Energy Agency) energy statistics for one country and one indicator (default CO2BySource: CO2 emissions by fuel and product, MtCO2), from the public IEA stats API. Returns the latest year(s) in the source. Indicator list is the IEA catalogue; not every indicator has data for every country. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| years | No | How many latest years to return, 1 to 5 (default 1) | |
| country | No | IEA country code (3 letters), e.g. USA | |
| indicator | No | IEA indicator id, e.g. CO2BySource (default) |
Output Schema
| Name | Required | Description |
|---|---|---|
| years | No | |
| source | No | |
| country | No | |
| records | No | |
| checkedAt | No | |
| indicator | No | |
| latestYear | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds context beyond the readOnly/openWorld annotations: price per successful call, payment rails, the fact that failed calls are free, and that results are the latest year(s) in the source. It does not cover rate limits, auth flow details, or data staleness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A tight paragraph with the resource, default, caveat, and pricing front-loaded. No wasted sentences, though the payment clause sits mid-paragraph rather than trailing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers defaults, source limitations, and the paid-call model; an output schema exists so return-shape explanation is unnecessary. Missing only explicit sibling routing and error behavior, which are minor for a read-only stats tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaning for the default indicator (CO2 emissions by fuel and product, MtCO2) and echoes the latest-years behavior, but doesn't add syntax or constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: IEA energy statistics for one country and one indicator, with the default indicator spelled out. It distinguishes itself from other energy data siblings by naming the source (IEA stats API), but doesn't explicitly route against them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The one-country/one-indicator scope and the 'not every indicator has data for every country' caveat imply when the tool applies. There is no explicit when-to-use or when-to-prefer-a-sibling guidance, even though roughly 50 energy siblings exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_inter_american_dev_bankEnergy Inter American Dev BankARead-onlyInspect
IDB (Inter-American Development Bank) project procurement contract awards from the IDB open-data datastore: contract id, project, country, executing agency, awarded firm, year. Awards only; open tender notices are not in this source. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many awards, 1 to 20 (default 5) | |
| country | No | ISO 2-letter country code of the operation, e.g. UR (Uruguay) |
Output Schema
| Name | Required | Description |
|---|---|---|
| awards | No | |
| source | No | |
| country | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds crucial behavioral context beyond annotations: the cost model ($0.002 per successful call via x402 on Base/Solana/Arc) and that failed calls are not charged. It does not discuss data freshness or rate limits, but the pricing detail is significant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with clear front-loading: purpose first, scope second, pricing third. No wasted words; each sentence adds distinct value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description needs only to convey purpose, scope, and key behavioral traits. It does so well, though it could mention data update frequency or temporal coverage. Overall complete for a filtered data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters (limit and country). The description adds no parameter-specific guidance beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'IDB project procurement contract awards from the IDB open-data datastore', enumerates returned fields, and clarifies 'Awards only; open tender notices are not in this source', differentiating from notice-oriented siblings like energy_adb_procurement_notices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear usage boundary: awards only, no open tender notices. However, it does not name alternative tools for those notices or for other development bank procurement data (e.g., energy_world_bank_procurement), leaving the agent to infer alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_irena_renewable_cost_dbEnergy Irena Renewable Cost DbARead-onlyInspect
IRENA renewable energy statistics for one country: installed electrical capacity (MW) and electricity generation (GWh) by technology (total renewable, solar PV, onshore and offshore wind, hydropower, bioenergy, geothermal and more) for recent years, from IRENA's public IRENASTAT database. Levelised generation costs (LCOE) are not in this API and are not included. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| years | No | Most recent years to return, 1 to 10 (default 3) | |
| country | Yes | ISO 3166 alpha-3 country code, e.g. TUR, DEU, USA (required) | |
| technology | No | Optional words to match technologies, comma separated, e.g. solar,wind (default: total renewable, solar PV, onshore wind, renewable hydropower) |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| country | No | |
| citation | No | |
| checkedAt | No | |
| countryName | No | |
| technologies | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, and the description adds genuinely useful non-schema context: the $0.002 USDC x402 payment model (Base, Solana, Arc) with failed calls not charged, plus the LCOE exclusion. It does not disclose update cadence, pagination, or rate limits, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and units are front-loaded, followed by the LCOE exclusion and pricing in two additional compact clauses. The long parenthetical technology list is informative but slightly heavy for a single sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description covers scope (single country), units, technology coverage, and explicit exclusions. Data freshness/update lag and whether years are annual are the only notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaning by enumerating the technology categories (solar PV, onshore/offshore wind, hydropower, bioenergy, geothermal) and framing years as 'recent years', giving the agent a better mental model of the filters than the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (IRENA renewable energy statistics: installed capacity in MW and generation in GWh) scoped to one country, and enumerates the technology breakdown. It also explicitly excludes LCOE, which separates it from cost-benchmark siblings like energy_nrel_atb_cost_benchmarks or energy_iea_energy_statistics_api.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'for one country' and 'from IRENA's public IRENASTAT database' give a clear usage context, and the LCOE exclusion implicitly routes cost queries elsewhere. However, no sibling is named and there is no explicit when-to-use/when-not statement against comparable statistics tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_iron_ore_62_percent_feEnergy Iron Ore 62 Percent FeARead-onlyInspect
Monthly iron ore reference price in USD per dry metric ton (World Bank series PIORECRUSDM, via FRED). Not the Platts 62% Fe CFR Qingdao spot benchmark; the route name is kept for the owner. Latest value plus up to 24 months of history. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | Months of history, 1 to 24 (default 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| unit | No | |
| latest | No | |
| source | No | |
| history | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only and open-world behavior, while the description adds meaningful operational context: the exact data source, the fact that the route name is retained for the owner, and x402 payment terms including charges only for successful calls. It does not describe return formatting, but an output schema exists, so the added behavioral value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then adds the benchmark caveat, history scope, and payment terms. Every part is relevant, though the owner-route-name note is slightly less essential than the rest.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only reference-price tool, the description supplies source, frequency, unit, historical range, benchmark caveat, and payment model. With annotations and an output schema also present, an agent has enough context to call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single months parameter is already documented as 1 to 24 with default 3. The description's mention of latest value plus up to 24 months of history reinforces but does not materially extend the schema semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource, frequency, unit, currency, and source series: monthly iron ore reference price in USD per dry metric ton from World Bank PIORECRUSDM via FRED. It also explicitly distinguishes this from the Platts 62% Fe CFR Qingdao spot benchmark, so an agent can tell what data it actually returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clarifies that this is a World Bank monthly reference series rather than the Platts spot benchmark, which is useful selection guidance. However, it does not explicitly state when an agent should choose this tool over related commodity or steel tools, so the usage guidance is strong but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_lme_metal_cash_settledEnergy Lme Metal Cash SettledARead-onlyInspect
Monthly world reference prices for copper, aluminium and zinc from FRED (World Bank series, USD). These are not LME cash-settlement prices; the name is kept for the route. Latest value plus up to 24 months of history. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | Months of history, 1 to 24 (default 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| zinc | No | |
| copper | No | |
| source | No | |
| aluminium | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint/openWorldHint annotations: it names the upstream source (FRED, World Bank), the currency (USD), the cadence (monthly), the history ceiling (24 months), and the billing model ($0.002 USDC per successful call via x402 on Base, Solana or Arc, failures not charged). The payment disclosure is exactly the kind of behavioral fact an agent must know before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with what the data is, followed by the naming caveat, the coverage window, and the price. Every sentence carries information an agent needs; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Return values are covered by the output schema and the billing/source context is thorough. The one residual gap is the schema's odd string typing for months, which the description does not flag, leaving a minor risk of a wrong argument type.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the months parameter (1–24, default 3) is already documented. The description only corroborates it with 'Latest value plus up to 24 months of history', adding the small nuance that the latest point is always returned regardless of window; that is marginal value over the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: monthly copper, aluminium and zinc reference prices from FRED/World Bank in USD. It also explicitly distinguishes itself from LME cash-settlement pricing and from the route name, so an agent can tell it apart from siblings such as energy_nickel_class1_cash_settle or energy_precious_metals_spot_fix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear usage context: World Bank reference series rather than LME settlement, monthly frequency, latest value plus up to 24 months of history. It does not name a specific alternative for LME-style settlement data or state exclusions, so it stops short of explicit when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_miso_midcontinent_isoEnergy Miso Midcontinent IsoARead-onlyInspect
MISO (Midcontinent Independent System Operator, 15 US states and Manitoba) real-time generation fuel mix: MW and share for coal, natural gas, nuclear, wind, solar, battery storage, other and imports, total MW and the 5-minute interval; plus system load: latest 5-minute total load, today's hourly cleared load and the medium-term hourly load forecast. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds behavior the annotations cannot: paid access at $0.002 USDC per successful call via x402 on Base, Solana or Arc, and that failed calls are not charged — critical for an agent deciding whether to invoke. It does not discuss rate limits or data freshness lag, which keeps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence front-loads the data delivered, then the granularity, then price. Every clause carries information. Slightly long for one sentence and a bulleted split of data vs. billing would read better, but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not required here. The description covers all three data domains (fuel mix, load, forecast), the time granularity, and the cost model — enough for an agent to decide and call. Missing only freshness/cadence expectations for the forecast.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description correctly implies a single no-argument snapshot call rather than hinting at filters that do not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States concretely what the tool returns: MISO real-time generation fuel mix by source, total MW, 5-minute interval, system load, hourly cleared load and medium-term hourly load forecast. The name plus 'MISO (Midcontinent Independent System Operator, 15 US states and Manitoba)' makes the coverage area unambiguous. It does not explicitly contrast itself with the similarly-named ISO siblings (CAISO, ERCOT, NYISO), so sibling differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit statement of when to use this versus energy_caiso_california_iso or energy_ercot_texas_grid_status; the regional scope implicitly selects it. No prerequisites or exclusions are stated. Adequate but the routing is left to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_natural_gas_henry_hubEnergy Natural Gas Henry HubARead-onlyInspect
Daily Henry Hub natural gas spot price in USD per MMBtu, from FRED (EIA series). Latest value plus up to 60 trading days of history. Pipeline storage and LNG netback are not included in this source. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Days of history, 1 to 60 (default 5) |
Output Schema
| Name | Required | Description |
|---|---|---|
| unit | No | |
| latest | No | |
| source | No | |
| history | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld annotations by disclosing the commercial model: $0.002 USDC per successful call via x402 across Base, Solana or Arc, with failed calls not charged. That cost/authorization context is exactly the kind of information an agent needs before invoking a paid tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact clauses, front-loaded with what the data is and its units, followed by scope limits and pricing. No filler sentences; each clause adds a distinct fact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and annotations already exist, so the description needn't explain return structure. It still covers source provenance, units, coverage limits, and payment terms, leaving nothing material an agent needs before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'days' parameter already documents range and default, so the schema carries the load. The description's 'up to 60 trading days' adds mild clarification of the trading-day semantics but is largely redundant with the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (Henry Hub natural gas spot price) with units (USD per MMBtu), source (FRED/EIA series), and returned scope (latest value plus up to 60 trading days). This clearly separates it from siblings such as energy_ttf_european_gas or energy_crude_oil_brent_wti.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states what the source does not cover ('Pipeline storage and LNG netback are not included'), which steers an agent away from misuse. It does not, however, name an alternative tool for those adjacent data needs, so routing is only partially handled.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_nickel_class1_cash_settleEnergy Nickel Class1 Cash SettleARead-onlyInspect
Monthly nickel reference price in USD per metric ton (World Bank series PNICKUSDM, via FRED). Not the LME Class 1 cash settlement or LME warehouse stocks; the route name is kept for the owner. Latest value plus up to 24 months of history. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | Months of history, 1 to 24 (default 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| unit | No | |
| latest | No | |
| source | No | |
| history | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond readOnlyHint/openWorldHint by disclosing the upstream source and series ID, the returned history depth, and a concrete payment model ($0.002 USDC per successful call via x402 on Base/Solana/Arc, failures not charged). Return shape is left to the output schema, which is acceptable here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the price definition, then exclusions, then payload/pricing facts; each sentence carries information. The clause about the route name being kept for the owner is marginally useful context rather than noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter read tool with annotations and an output schema, the description supplies source, units, history depth, cost, and disambiguation – everything 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already documents 'months' with range and default. The description adds only a light clarification ('Latest value plus up to 24 months of history'), so the baseline 3 applies – it does not explain units of history or how the latest value relates to the months count.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb/resource and scope: 'Monthly nickel reference price in USD per metric ton (World Bank series PNICKUSDM, via FRED)'. It also pre-empts the most likely confusion by naming the sibling product (LME Class 1 cash settlement / warehouse stocks) that this is NOT.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly excludes the LME cash-settlement interpretation, which routes the agent to energy_lme_metal_cash_settled for that need. There is no positive 'use this when...' statement, but the exclusion plus source naming gives strong selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_noaa_enso_elnino_la_ninaEnergy Noaa Enso Elnino La NinaARead-onlyInspect
NOAA Climate Prediction Center Oceanic Nino Index (ONI): 3-month running anomaly of sea surface temperature in the Nino 3.4 region, by season, plus a label (El Nino at +0.5 or higher, La Nina at -0.5 or lower, otherwise neutral). Official NOAA CPC threshold; the file is updated monthly. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| seasons | No | How many latest seasons, 1 to 24 (default 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| latest | No | |
| source | No | |
| seasons | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and openWorld, but the description adds genuinely useful behavior: the data refreshes monthly, and each successful call costs $0.002 via x402 on Base, Solana or Arc with failed calls uncharged — payment/auth context the annotations cannot convey. The classification thresholds (+0.5 / -0.5 / neutral) also tell the agent how values are derived.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core definition, then thresholds/freshness, then pricing. No filler; the parenthetical threshold explanation is compact and earns its place. Slightly dense but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-shape detail is unnecessary, and the description covers definition, classification rule, freshness cadence and payment mechanics. Nothing an agent needs to call it correctly is missing, though a hint about typical use (e.g., agricultural/energy demand forecasting) would round it out.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'seasons' parameter is fully documented in the schema with its range and default. The description adds nothing about the parameter, so the baseline 3 applies rather than anything higher.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact dataset (NOAA CPC Oceanic Nino Index), the measurement (3-month running SST anomaly in Nino 3.4) and the derived label logic, which clearly separates it from every sibling tool in the list. It lacks an explicit action verb ('retrieve/fetch'), so the operation is inferred rather than stated, keeping it just below the top mark.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the domain — an agent would call this when it needs ENSO state — but the description never says when to use it versus alternatives, nor any exclusions or prerequisites. The only implicit guidance is the 'updated monthly' note, which hints the data is not real-time.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_nord_pool_power_elspotEnergy Nord Pool Power ElspotARead-onlyInspect
Nord Pool day-ahead (Elspot) electricity prices for one Nordic or Baltic bidding area and one delivery date, in EUR/MWh, 15-minute resolution, from the Nord Pool public data portal. Other markets (intraday, futures) are not included. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | Bidding area: SE1-SE4, DK1, DK2, NO1-NO5, FI, EE, LV, LT (default SE3) | |
| date | No | Delivery date YYYY-MM-DD (default: tomorrow, CET) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly and openWorld; the description adds the material facts an agent needs before invoking: the data source (Nord Pool public portal), the price ($0.002 USDC per successful call), the payment protocol and rails (x402 on Base, Solana or Arc), and that failed calls are not charged. That is exactly the auth/cost context annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with what/where/when, followed by an explicit exclusion and then billing terms. Every clause carries non-redundant information; nothing repeats the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present the description need not explain return structure, and it covers market scope, units, resolution, source and cost. The remaining gap is small but real: it does not say how far back historical dates are supported or how stale/real-time the published prices are, which matters for a date-parameterized time-series tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters already document their formats (area codes, YYYY-MM-DD) and defaults (SE3, tomorrow CET), so the schema carries the parameter burden. The description adds only the constraint of one area plus one date per call, not new syntax or semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (retrieves day-ahead Elspot prices) with a precisely bounded resource: one Nordic/Baltic bidding area, one delivery date, EUR/MWh, 15-minute resolution, from the Nord Pool public portal. It also names what it is not (intraday, futures), which separates it cleanly from the EPEX and ENTSO-E power siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope limits give clear usage context: Nordic or Baltic bidding areas only, day-ahead market only, one area and one date per call. It never names a specific alternative sibling (e.g. energy_epex_spot_power_europe for continental Europe), so an agent must infer the routing rule rather than being told it explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_nrel_atb_cost_benchmarksEnergy Nrel Atb Cost BenchmarksARead-onlyInspect
NREL Annual Technology Baseline (ATB) electricity cost projections from the official open-data release on the OEDI data lake (latest release found automatically): LCOE ($/MWh), CAPEX, overnight capital cost, fixed/variable O&M, capacity factor and more, per technology and resource class, yearly to 2050-2060, for a scenario, financial case, tax-credit setting and cost-recovery period. US-focused, real-dollar values as published by NREL. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| case | No | Financial case as published (ATB 2025: Exp or R&D; older: Market or R&D). Default: Exp, else Market | |
| year | No | Single projection year (e.g. 2030). Omit for the full yearly series | |
| metric | No | One of LCOE, CAPEX, OCC, Fixed O&M, Variable O&M, CF, Fuel, Heat Rate, FCR, WACC Real (default LCOE) | |
| crpYears | No | Cost recovery period in years, 20 or 30 (default 30) | |
| scenario | No | Moderate (default), Advanced or Conservative | |
| allClasses | No | true to return every resource class, default only NREL's representative (default) class | |
| taxCredits | No | true to use the tax-credit case (ITC/PTC), default false | |
| technology | Yes | ATB technology, e.g. UtilityPV, LandbasedWind, OffShoreWind, NaturalGas_FE, Nuclear, Geothermal, Utility-Scale Battery Storage, CommPV, ResPV, Hydropower, CSP, Biopower, Coal_FE |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| rows | No | |
| count | No | |
| metric | No | |
| source | No | |
| crpYears | No | |
| scenario | No | |
| checkedAt | No | |
| atbRelease | No | |
| taxCredits | No | |
| technology | No | |
| financialCase | No | |
| availableCases | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantive behavioral details beyond the read-only and open-world annotations: it states the latest OEDI release is selected automatically, values are US-focused real dollars as published by NREL, and it specifies the pay-per-success model with x402 on Base, Solana or Arc. The explicit note that failed calls are not charged is important operational context for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences with the data source and purpose front-loaded, followed by geographic/value scope and then payment behavior. Every sentence adds useful information for an agent deciding whether and how to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description does not need to explain return formatting. It covers the source, vintage-selection behavior, metric scope, time horizon, geographic/value basis, parameter dimensions, and payment terms, leaving little ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all eight parameters are already documented in the input schema. The description reinforces the metric and scenario dimensions and adds the 2050-2060 horizon, but does not add meaningfully more parameter-level guidance than the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States that the tool returns NREL ATB electricity cost projections from the OEDI data lake, naming specific metrics (LCOE, CAPEX, O&M, capacity factor) and dimensions (technology, resource class, year, scenario). The NREL ATB and US-focused framing clearly distinguish it from broader or sibling cost data tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the data covers but gives no explicit guidance on when to use this tool versus alternatives such as IRENA renewable cost data or EIA statistics. It also includes no exclusions or prerequisites beyond the payment model.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_nuclear_reactor_status_prisEnergy Nuclear Reactor Status PrisARead-onlyInspect
US nuclear power reactor status from the US Nuclear Regulatory Commission's daily Power Reactor Status Report: each unit's power level (% of rated) on the latest report day and the day before, with counts of units at full power, reduced and offline (refueling or outage). US units only (about 94); worldwide IAEA PRIS data is not included. Filter by part of the unit name. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Optional: part of a unit name, e.g. Vogtle or Diablo |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only safety, but the description adds genuinely non-schema behavior: per-call pricing via x402 on Base/Solana/Arc and the fact that failed calls are not charged. It does not describe latency or freshness guarantees beyond 'latest report day', which is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what data is returned, then scope, then filter, then cost — a sensible ordering with minimal waste. The pricing sentence is dense but earns its place for a paid tool; overall length is slightly long for a single-parameter lookup.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description covers source, scope, filter, and cost. What remains thin is the time dimension (whether 'latest report day' means business days and what happens on weekends/holidays), which matters for a daily report tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already says 'Optional: part of a unit name, e.g. Vogtle or Diablo'. The description's 'Filter by part of the unit name' restates that substring-match semantics without adding new information, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (NRC daily Power Reactor Status Report), specific content (each unit's % of rated power on latest and prior day, plus counts of full-power/reduced/offline units), and explicitly excludes worldwide IAEA PRIS data. That distinguishes it from nearby siblings like energy_uranium_u3o8_yellowcake and energy_us_electric_grid_monitor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear scope boundary ('US units only, about 94; worldwide IAEA PRIS data not included') that tells the agent when this tool will not satisfy a request, and explains the one filter. It does not name an alternative tool for the excluded worldwide case, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_nyiso_new_york_gridEnergy Nyiso New York GridARead-onlyInspect
New York ISO real-time zonal electricity prices from NYISO's public MIS files: the latest 5-minute LBMP ($/MWh) for each of the 15 zones and interfaces (CAPITL, N.Y.C., LONGIL, WEST...) with its loss and congestion components, plus the day's average so far per zone. Eastern time stamps; real-time market only (day-ahead not included). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| zone | No | Optional zone name, e.g. N.Y.C., LONGIL, CAPITL, WEST |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover read-only/open-world safety, but the description adds material behavioral context the annotations cannot: the data source (NYISO MIS files), eastern time stamps, real-time-only market, and critically the cost model ($0.002 USDC per successful call via x402, failed calls not charged). The billing disclosure is exactly the kind of behavior an agent must know before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense but front-loaded block: purpose first, then data detail, then market scope, then billing. Nearly every clause carries information, though the zone enumeration and component list make it longer than strictly necessary for a one-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't document return structure, yet it still explains the price components and the per-zone daily average included. Combined with annotations for safety and explicit billing terms, an agent has everything needed to decide and call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — the single optional 'zone' parameter already has examples (N.Y.C., LONGIL, CAPITL, WEST). The description echoes the same zone names and adds the useful fact that there are 15 zones/interfaces, but it does not explain what omitting the parameter returns, so it only marginally exceeds the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource (NYISO real-time zonal electricity LBMP prices) and its exact granularity (latest 5-minute values for 15 zones and interfaces), plus the components returned (loss and congestion). It explicitly excludes the day-ahead market, which cleanly separates it from any day-ahead sibling and from the other ISO tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It establishes clear use context: real-time market only, sourced from NYISO public MIS files, eastern timestamps. The exclusion 'day-ahead not included' functions as a when-not signal, though it does not name an alternative tool to use for day-ahead prices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_precious_metals_spot_fixEnergy Precious Metals Spot FixARead-onlyInspect
Live spot price of gold (XAU) or silver (XAG) in USD per troy ounce from gold-api.com (aggregated free spot feed, no key). This is a spot quote with a timestamp, not the LBMA London AM/PM fixing and not vault holdings; the route name is kept for the owner. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| metal | No | XAU (gold) or XAG (silver); default XAU |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| unit | No | |
| metal | No | |
| source | No | |
| priceUsd | No | |
| checkedAt | No | |
| quoteUpdatedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnly/openWorld; the description adds materially important behavior the agent cannot get elsewhere: a $0.002 USDC charge per successful call via x402 on Base/Solana/Arc, and that failed calls are not charged. Cost and payment-rail disclosure is high-value for an autonomous caller and is not inferable from the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: identity first, disambiguation second, billing third. No filler, and the awkward 'route name is kept for the owner' note is a one-clause caveat rather than a distraction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shape needn't be explained. The description still covers source, currency and unit, timestamp semantics, exclusions versus fixings/holdings, and the full payment model — everything needed to call this correctly and know what the caller is paying.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'metal' parameter already documents 'XAU (gold) or XAG (silver); default XAU'. The description repeats the same XAU/XAG framing without adding syntax or behavior 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource with units and source: 'Live spot price of gold (XAU) or silver (XAG) in USD per troy ounce from gold-api.com.' It also pre-emptively distinguishes itself from LBMA London AM/PM fixing and vault holdings, which is exactly the confusion an agent would have with siblings like energy_lme_metal_cash_settled or energy_nickel_class1_cash_settle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear positive and negative selection criteria: this is a spot quote with a timestamp, not a fixing and not holdings. That tells the agent when this tool is the right one. It stops short of naming the alternative tool to call when a fixing or holdings data is actually wanted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_pulp_paper_risi_indexEnergy Pulp Paper Risi IndexARead-onlyInspect
US producer price index for wood pulp (BLS series WPU0911, via FRED), monthly index value. This is a price index, not the RISI Northern Bleached Softwood Kraft (NBSK) benchmark; the route name is kept for the owner. Latest value plus up to 24 months of history. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | Months of history, 1 to 24 (default 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| unit | No | |
| latest | No | |
| series | No | |
| source | No | |
| history | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations it discloses the exact provenance (BLS series via FRED), the history window cap, the pricing model ($0.002 USDC per successful call), the payment rails (x402 on Base/Solana/Arc), and that failed calls are free. That is substantive operational context the annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the data identity and the key disambiguation, followed by coverage and payment terms. Even the remark about the route name earns its place by explaining a potentially misleading tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value detail is rightly omitted. The description supplies provenance, scope, disambiguation, and cost/payment behavior – everything an agent needs to call it correctly and understand the billing consequence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the month range (1–24, default 3) is already documented in the schema. The description's 'up to 24 months of history' restates that bound rather than adding format or behavioral detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names the exact BLS series (WPU0911), the source (FRED), the frequency (monthly), and explicitly disambiguates from the RISI NBSK benchmark that the route name implies. An agent can tell precisely what data this returns 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The exclusion is explicit – 'not the RISI NBSK benchmark' – so an agent seeking the NBSK price knows to look elsewhere. It stops short of naming an alternative tool for that case, but no sibling in the list covers NBSK, so the guidance is effectively complete for this catalogue.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_pvwatts_solar_simulatorEnergy Pvwatts Solar SimulatorARead-onlyInspect
NLR (formerly NREL) PVWatts v8 estimate for a grid-connected PV system at a latitude and longitude: annual AC energy (kWh), capacity factor, annual solar radiation, and monthly AC energy. Uses the NSRDB typical-year weather file; this is an estimate, not a yield guarantee. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, -90 to 90 | |
| lon | Yes | Longitude, -180 to 180 | |
| tilt | No | Panel tilt in degrees, 0 to 90 (default 20) | |
| azimuth | No | Azimuth in degrees, 0 to 360 (180 = south; default 180) | |
| capacityKw | No | DC system size in kW, 0.05 to 1000 (default 4) |
Output Schema
| Name | Required | Description |
|---|---|---|
| lat | No | |
| lon | No | |
| tilt | No | |
| source | No | |
| azimuth | No | |
| location | No | |
| checkedAt | No | |
| capacityKw | No | |
| acAnnualKwh | No | |
| acMonthlyKwh | No | |
| capacityFactorPct | No | |
| solradAnnualKwhPerM2PerDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds genuinely useful context beyond them — the underlying NSRDB typical-year weather file, an explicit accuracy caveat, and the payment model ($0.002 USDC per successful call via x402 on Base/Solana/Arc, with failed calls not charged). Cost and data-provenance details like this are exactly what annotations cannot express. Rate limits and error behavior are not covered, keeping it from 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with identity and outputs, then a compact clause for data source, caveat, and price. Every clause carries distinct information and nothing is repeated from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values, and it already lists the key outputs anyway. Annotations cover the read-only posture, the schema fully documents all five parameters, and the description supplies the remaining decision-relevant facts: data source, accuracy caveat, and pay-per-call cost. Nothing an agent needs to decide or call correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter (lat, lon, tilt, azimuth, capacityKw) already documents its range and defaults. The description adds only "at a latitude and longitude", which is no more than the required-field statement in the schema. Per the baseline rule, a 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific upstream model and version (NLR/NREL PVWatts v8) applied to a specific resource and scope (grid-connected PV system at a lat/lon), then enumerates the exact outputs: annual AC energy, capacity factor, annual solar radiation, monthly AC energy. That is far more than a restated name. It never distinguishes itself from the closest sibling, energy_global_solar_atlas_pv, which also deals with site-level solar resource, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Grid-connected PV system" and "this is an estimate, not a yield guarantee" implicitly scope the tool to pre-feasibility yield estimation, but there is no explicit when-to-use or when-not language and no routing to the alternative solar tools. An agent must infer the choice from domain knowledge.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_rggi_carbon_allowanceEnergy Rggi Carbon AllowanceARead-onlyInspect
Regional Greenhouse Gas Initiative (RGGI) CO2 allowance auctions: auction number and date, quantity offered, Cost Containment Reserve sold, quantity sold, clearing price (USD per allowance) and total proceeds, latest first, from RGGI's public auction results table. Quarterly auctions only; secondary-market prices are not included. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Auctions to return, 1 to 80 (default 8) |
Output Schema
| Name | Required | Description |
|---|---|---|
| unit | No | |
| count | No | |
| latest | No | |
| source | No | |
| auctions | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnly/openWorld, and the description layers on material context: the upstream source (RGGI's public auction results table), auction cadence (quarterly), recency ordering, and a per-call billing model ($0.002 USDC via x402 across Base/Solana/Arc with failed calls free). That cost/scope disclosure is exactly what an agent needs before invoking a paid endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence for the payload, then two short sentences for scope and pricing. Purpose is front-loaded; every clause (fields, cadence, ordering, source, exclusions, cost) carries unique information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, single-parameter tool with an output schema and full annotations, the description covers scope, source, ordering, and payment terms. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single `limit` parameter already documents its range (1–80) and default (8). The description adds nothing about the parameter, which is acceptable when the schema carries it fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (RGGI CO2 allowance auction results) and enumerates exactly the fields returned: auction number/date, quantity offered, CCR sold, quantity sold, clearing price, total proceeds. The 'Quarterly auctions only; secondary-market prices are not included' clause separates it from the spot-price and registry siblings (energy_american_carbon_registry, energy_verra_vcs_registry).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear exclusion ('secondary-market prices are not included') and implies the primary-auction use case, plus ordering ('latest first'). It does not name a specific alternative tool for secondary-market pricing, so routing is inferred rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_sdr_special_drawing_rightsEnergy Sdr Special Drawing RightsARead-onlyInspect
IMF Special Drawing Rights (SDR) valuation for the latest IMF business day: the five basket currencies (US dollar, euro, Chinese yuan, Japanese yen, UK pound) with the currency amount under Rule O-1, market exchange rate, US-dollar equivalent and % change; plus the SDR value in US dollars (SDR1 = US$) and the US dollar in SDR (US$1 = SDR). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| note | No | |
| basket | No | |
| source | No | |
| dateText | No | |
| sdrInUsd | No | |
| usdInSdr | No | |
| checkedAt | No | |
| usdInSdrChangePct | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds meaningful behavioral context beyond annotations: per-call pricing of $0.002 USDC via x402 on Base, Solana or Arc, and the fact that failed calls are not charged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's purpose and packs relevant valuation and pricing details into two sentences. It is dense but appropriate for a financial-data endpoint; a minor deduction for the long currency-list clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool takes no parameters and has an output schema, the description is complete enough: it identifies the data source, the valuation date convention, the basket composition, the conversion formulas, and the pricing model. Nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero parameters, so the baseline score is 4. There are no parameter semantics to explain, and schema coverage is irrelevant for an empty input object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and scope: IMF Special Drawing Rights valuation for the latest IMF business day, with detailed breakdowns of basket currencies and SDR/USD conversions. It is clearly distinct from the sibling exchange-rate and commodity tools, though it does not explicitly name an alternative for comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool returns but gives no explicit guidance on when to use it versus alternatives such as energy_bis_effective_exchange_rate or other FX-related siblings. Usage context is only implied by the tool's purpose and the 'latest IMF business day' scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_sec_esg_climate_filingsEnergy Sec Esg Climate FilingsARead-onlyInspect
SEC EDGAR full-text search: 10-K annual reports (or another form) whose text contains a phrase such as 'climate risk' or 'scope 1 emissions'. Returns the total hit count and the latest matching filings (company, CIK, form, file date). Shows which companies mention the phrase; it does not extract emission numbers. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Phrase to search for, 2 to 80 characters (default: climate risk) | |
| forms | No | SEC form type, e.g. 10-K (default), 10-Q, 8-K | |
| limit | No | How many filings to return, 1 to 10 (default 5) |
Output Schema
| Name | Required | Description |
|---|---|---|
| forms | No | |
| query | No | |
| source | No | |
| filings | No | |
| checkedAt | No | |
| totalHits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint/openWorldHint annotations by disclosing the paid-access model — $0.002 USDC per successful call via x402 on Base, Solana or Arc, with failed calls uncharged — plus the shape of the response (total hit count, latest filings with company, CIK, form, file date). Cost and payment mechanics are exactly the sort of behavior an agent must know before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads what the tool searches, then the return shape, then the scope caveat, then the price. Four dense sentences, each carrying distinct information, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, paid, open-world search tool the description covers invocation intent, output contents, a scope limitation, and payment/failure semantics. With an output schema present, return values needn't be fully specified, so nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description adds value by giving concrete example phrases ('climate risk', 'scope 1 emissions') that illustrate the intended query granularity and by noting results are the *latest* matches. It doesn't discuss the limit range or character constraints, but those are already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and resource — SEC EDGAR full-text search of 10-K (or other) filings whose text contains a phrase — with example queries. This clearly separates it from adjacent tools like energy_epa_flight_emissions or energy_climate_action_registry, which measure emissions rather than search filing text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear use context (find which companies mention a phrase) and an explicit negative boundary: 'it does not extract emission numbers.' It does not name a specific sibling to use instead when actual emissions data is wanted, so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_steel_rebar_hrc_futuresEnergy Steel Rebar Hrc FuturesARead-onlyInspect
US producer price index for steel mill products (BLS series WPU1017, via FRED), monthly index value. This is a price index, not hot-rolled coil or rebar futures or spot benchmarks; the route name is kept for the owner. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | Months of history, 1 to 24 (default 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| unit | No | |
| latest | No | |
| series | No | |
| source | No | |
| history | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and open-world behavior, and the description adds real value beyond that: the price ($0.002 USDC per successful call), the payment rail (x402 on Base, Solana or Arc) and the fact that failed calls are not charged. That is exactly the kind of billing context annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: identity plus source first, then the disambiguation, then pricing. The clause about the route name being kept for the owner is slightly extraneous but explains why the tool name is misleading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Source, series ID, frequency, unit type, scope exclusion and cost model are all present, and an output schema exists so return values need no explanation. Minor gaps remain on index base/revision behavior, but nothing blocks correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one optional parameter (months) with 100% schema description coverage including the 1-24 range and default of 3. The description adds nothing about the parameter, but the schema fully carries it, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the exact resource (US producer price index for steel mill products, BLS series WPU1017 via FRED) and the frequency/units (monthly index value). It explicitly disclaims being hot-rolled coil or rebar futures or spot benchmarks, which is the main confusion risk against siblings like energy_iron_ore_62_percent_fe or energy_thermal_coal_newcastle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear use/not-use split: use it for the steel mill products PPI, not for HRC/rebar futures or spot benchmarks. It doesn't name a specific sibling to use instead for futures pricing, so the routing is only implied, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_thermal_coal_newcastleEnergy Thermal Coal NewcastleARead-onlyInspect
Monthly Australian thermal coal reference price in USD per metric ton (World Bank series PCOALAUUSDM, via FRED). Not the Newcastle FOB spot index or Richards Bay prices; the route name is kept for the owner. Latest value plus up to 24 months of history. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | Months of history, 1 to 24 (default 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| unit | No | |
| latest | No | |
| source | No | |
| history | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the read-only/open-world profile, and the description adds highly consequential context they cannot: the $0.002 USDC per-successful-call cost, the x402 payment rails (Base, Solana, Arc) and that failed calls are not charged. Cost and payment mechanics are precisely what an agent needs before invoking a paid tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The lead sentence carries the identity and units, and the pricing note is placed last where it belongs. The clause 'the route name is kept for the owner' is minor internal noise that does not help an agent decide anything.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no prose, and the description still supplies series ID, units, cadence, history depth, cost and payment rails. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description reinforces the ceiling ('up to 24 months of history') and clarifies the result shape ('latest value plus up to 24 months'), which adds meaning about what the months parameter actually controls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Australian thermal coal reference price), unit (USD per metric ton), cadence (monthly) and exact source (World Bank PCOALAUUSDM via FRED). It also explicitly disambiguates from the Newcastle FOB spot index and Richards Bay, which is exactly the confusion the route name invites.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The exclusions ('Not the Newcastle FOB spot index or Richards Bay prices') route the agent away from mismatched expectations, but there is no positive statement of when to pick this over adjacent price series. It is a clear context statement rather than a full when/when-not rule set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_timber_lumber_random_lengthEnergy Timber Lumber Random LengthARead-onlyInspect
US producer price index for lumber and wood products (BLS series WPU081, via FRED), monthly index value. This is a price index, not CME Random Length framing lumber futures or spot quotes; the route name is kept for the owner. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | Months of history, 1 to 24 (default 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| unit | No | |
| latest | No | |
| series | No | |
| source | No | |
| history | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld annotations by disclosing the paid-call model: $0.002 USDC per successful call via x402 on Base, Solana or Arc, with failed calls free. That is decision-relevant cost information no annotation carries. It omits publication lag or refresh cadence, which matter for a monthly index.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with what the index is before the disambiguation and the pricing. Every clause carries information, though the payment detail is somewhat dense and could be trimmed without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with an output schema, the description covers the essentials an agent cannot get from structured fields: data source, series ID, unit type, misleading-name warning, and cost. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — the single 'months' parameter already documents its 1–24 range and default of 3. The description adds nothing about the parameter, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the exact resource and provenance: a US producer price index for lumber and wood products, BLS series WPU081, retrieved via FRED, reported as a monthly index value. It also explicitly disambiguates from the CME Random Length futures contract that the tool name falsely suggests.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The negative guidance is strong: 'This is a price index, not CME Random Length framing lumber futures or spot quotes' tells the agent when this tool is the wrong choice. It stops short of naming the positive alternative among siblings (e.g. energy_pulp_paper_risi_index or the CME agri futures tool) for agents who do want a traded price.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_ttf_european_gasEnergy Ttf European GasARead-onlyInspect
Monthly European natural gas reference price in USD per MMBtu (World Bank series PNGASEUUSDM, via FRED). Not the Dutch TTF hub settlement, day-ahead or storage level; the route name is kept for the owner. Latest value plus up to 24 months of history. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | Months of history, 1 to 24 (default 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| unit | No | |
| latest | No | |
| source | No | |
| history | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and openWorldHint, so the safety profile is already covered, yet the description adds genuinely new behavior: the per-call price ($0.002 USDC), the payment rail (x402 on Base, Solana or Arc), and the fact that failed calls are not charged. The billing semantics are exactly the kind of thing an agent cannot infer from annotations and must know before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and source, then the disambiguation, then the return shape and cost. Every sentence carries practical information, though the aside about the route name being retained for the owner is a small detour an agent does not need in order to act.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return formatting need not be explained; annotations cover read-only and open-world traits; the single parameter is documented. The description fills the remaining gaps an agent actually needs: data source, exact return window, and the payment model including non-charging on failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one optional parameter and the schema describes it fully (1 to 24 months, default 3, 100% coverage). The description only restates the 24-month cap in the return summary ('plus up to 24 months of history'), adding no syntax or format detail beyond the schema. Baseline 3 is correct when the schema carries the parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (monthly European natural gas reference price), the exact source series (World Bank PNGASEUUSDM via FRED), and explicitly rules out what an agent might otherwise assume it to be (Dutch TTF hub settlement, day-ahead, storage level). That negative scoping separates it from energy_natural_gas_henry_hub and TTF-style siblings without the agent opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly says what this is not, which steers an agent away from misfiring on hub-settlement or day-ahead use cases, and notes the route name is a legacy label for the owner. It stops short of naming the sibling tool to use instead for TTF settlement or storage data, so the agent has an exclusion but not a redirect.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_uranium_u3o8_yellowcakeEnergy Uranium U3o8 YellowcakeARead-onlyInspect
Monthly uranium reference price in USD per pound U3O8 (World Bank series PURANUSDM, via FRED). Not the UxC or TradeTech spot or long-term quotes; the route name is kept for the owner. Latest value plus up to 24 months of history. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | Months of history, 1 to 24 (default 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| unit | No | |
| latest | No | |
| source | No | |
| history | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only and open-world behavior. The description adds useful non-schema context: source series, update cadence implied by monthly data, history limit, x402 payment cost, and that failed calls are not charged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded with the core resource and source, then adds exclusions, history scope, and payment terms. Most content is useful, though the note about keeping the route name for the owner is somewhat extraneous to an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema and read-only/open-world annotations, the description supplies the remaining essential context: units, source, frequency, exclusions, history range, and payment behavior. Nothing critical for correct invocation appears missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter is fully documented in the schema as months, 1 to 24, default 3. The description reinforces the 24-month history limit but does not add syntax or default details beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource and measured value: monthly uranium reference price in USD per pound U3O8, with the exact World Bank/FRED series. It also distinguishes this reference series from UxC and TradeTech spot or long-term quotes, which prevents mistaken source selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly indicates when this series is appropriate by excluding UxC/TradeTech quote types and stating that it provides the latest value plus up to 24 months of history. It does not explicitly name sibling tools as alternatives, but the source and quote-type exclusions give strong usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_usda_wasde_crop_reportsEnergy Usda Wasde Crop ReportsARead-onlyInspect
USDA WASDE (World Agricultural Supply and Demand Estimates) figures for one commodity and region from the official monthly report-data CSV: attribute (e.g. Production, Ending Stocks), market year, value and unit. Defaults to the latest month available; the CSV is about 1 MB, so each call downloads one month. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| month | No | Report month YYYY-MM (default: this month, falling back to last month) | |
| region | No | Region name as in the CSV, e.g. United States, World (default United States) | |
| commodity | No | Commodity name as in the CSV, e.g. Corn, Wheat, Soybean, Cotton (default Corn) |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | |
| month | No | |
| region | No | |
| source | No | |
| checkedAt | No | |
| commodity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld annotations by disclosing the cost model ($0.002 USDC per successful call), the payment rail (x402 on Base, Solana or Arc), that failed calls are free, and that each call downloads a ~1 MB CSV. These are precisely the operational facts an agent needs before invoking a paid, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads what the tool returns before defaults and pricing; every sentence carries distinct information (scope, defaults, cost, payment rail, size). Slightly dense in a single run-on sentence but no wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full parameter coverage, the description only needs to cover scope, defaults and operational cost — all of which it does. Minor gap: it doesn't clarify whether multiple commodities can be retrieved in one call, though 'one commodity and region' implies not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all three parameters already carry examples and defaults (Corn, United States, YYYY-MM). The description adds the available attribute types (Production, Ending Stocks) but does not elaborate on parameter formats beyond what the schema states, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific source (USDA WASDE, official monthly report CSV) and the exact shape of each record: attribute, market year, value, unit, scoped to one commodity and region. This clearly distinguishes it from spot-price siblings like energy_cme_agri_spot_futures or energy_fao_food_price_index, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Says it defaults to the latest available month and returns one commodity/region slice, which implies usage, but gives no explicit when-to-use versus the many other agricultural and food-price siblings. An agent must infer that this is for monthly supply/demand fundamentals rather than market prices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_us_electric_grid_monitorEnergy Us Electric Grid MonitorARead-onlyInspect
US electric grid monitor from EIA's Hourly Electric Grid Monitor (Form EIA-930, official Open Data API): hourly demand, day-ahead demand forecast, net generation and net interchange for a balancing authority or region (CISO, ERCO, PJM, MISO, NYIS, ISNE, SWPP, US48…), plus the generation mix by fuel (gas, coal, nuclear, wind, solar, hydro…) for the latest reported hour. Times are UTC; values in MWh per hour. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | Hours of history per series, 1-48 (default 6) | |
| respondent | No | EIA-930 respondent code: US48, CISO, ERCO, PJM, MISO, NYIS, ISNE, SWPP, SOCO, TVA, BPAT, FPL… (default US48) |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| units | No | |
| latest | No | |
| series | No | |
| source | No | |
| keyUsed | No | |
| checkedAt | No | |
| respondent | No | |
| generationMix | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, it discloses payment terms ($0.002 USDC per successful call via x402 on Base, Solana, or Arc; failures not charged), time basis (UTC), and units (MWh per hour). Those are operationally important details an agent needs before calling; only rate limits and error behavior remain unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Data content is front-loaded and the pricing/auth note is properly separated at the end. It's dense but every clause carries information; the code list is somewhat long but serves enumeration purposes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, 100% param coverage, and safety annotations already in place, the description fills the remaining gaps: data scope, time basis, units, and the paid-call model. An agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented, making 3 the baseline. The description adds modest value by naming example respondent codes and clarifying that values are per balancing authority or region, but no extra syntax or edge-case guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb set and resource: hourly demand, day-ahead forecast, net generation, net interchange, and fuel-mix generation for EIA-930 balancing authorities, with named codes (CISO, ERCO, PJM...). It is clear what data comes back, but it doesn't distinguish itself from regional siblings like energy_caiso_california_iso, energy_ercot_texas_grid_status, or energy_miso_midcontinent_iso, which cover overlapping territory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when it applies (US grid, hourly granularity, per balancing authority) but gives no explicit when-to-use vs when-not guidance or point to alternatives. An agent must infer that this is the multi-BA national tool rather than the single-ISO siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_verra_vcs_registryEnergy Verra Vcs RegistryARead-onlyInspect
Verified Carbon Standard (VCS) projects from Verra's public registry, by name, country, status, proponent or methodology: VCS ID, name, status, location and coordinates, sectoral scope, methodology, proponents, validation/verification body, estimated annual reductions (tCO2e), size class, project and crediting dates, registration date, description and registry link, plus total count. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Words in the project name | |
| page | No | Result page, 1 to 200 (default 1) | |
| limit | No | Projects per page, 1 to 50 (default 20) | |
| status | No | Status text, e.g. Registered, Under validation, Withdrawn | |
| country | No | Country name, e.g. India, Brazil | |
| proponent | No | Words in the proponent name | |
| methodology | No | Methodology code, e.g. VM0007, ACM0002 |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | No | |
| pages | No | |
| total | No | |
| source | No | |
| results | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds important behavior beyond them: per-call pricing, payment via x402 on specific networks, and no charge for failed calls. It does not cover pagination or rate-limit behavior, so it is strong but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It front-loads the dataset and filters, then enumerates return fields and pricing. The field list is long but relevant, and the structure remains efficient despite the dense enumeration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition is complete enough to invoke: it covers filters, returned data, pricing, and the schema/output schema cover the rest. The main gap is cross-registry selection guidance, which affects usage more than invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameter meaning is already documented. The description maps the main filters (name/country/status/proponent/methodology) but adds no syntax beyond the schema and omits page/limit semantics, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific dataset (Verra VCS public registry projects), the filterable dimensions, and the exact fields returned. It distinguishes itself from generic carbon tools through the VCS/Verra reference, though it does not explicitly name sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage by listing filters but gives no explicit when-to-use/when-not-to-use guidance or comparison to the other carbon registry tools in the sibling list. An agent must infer that this is the right tool for Verra VCS data rather than ACR, CAR, or Gold Standard.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_water_stress_wri_aqueductEnergy Water Stress Wri AqueductARead-onlyInspect
WRI Aqueduct 4.0 country water-risk indicators (default weighting): baseline water stress, baseline water depletion, interannual and seasonal variability and drought risk where published, each with score (0-5), category label and country rank, from the Aqueduct 4.0 country baseline on Resource Watch. Sub-national (basin) values are not included. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | ISO alpha-3 country code, e.g. TUR, IND, USA (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| source | No | |
| country | No | |
| checkedAt | No | |
| weighting | No | |
| indicators | No | |
| attribution | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnly and openWorld, but the description adds material context beyond them: the $0.002 USDC cost per successful call via x402 (Base, Solana, Arc) and that failed calls are not charged. This payment/auth detail is genuinely useful for an agent deciding whether to invoke.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what the tool returns and followed by scope limits and pricing. Dense but every clause carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, and the description still summarizes the return shape (score 0-5, category label, country rank), plus covers source, scope, and pricing. An agent has enough to call it correctly; only an explicit alternative-tool pointer is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'country' parameter is documented as an ISO alpha-3 code in the schema. The description adds no format or syntax 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.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (WRI Aqueduct 4.0 country water-risk indicators) and enumerates the exact metrics returned (baseline water stress, depletion, variability, drought risk). It also scopes the tool explicitly by excluding sub-national/basin values, so an agent can distinguish it from any grid or drought sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear usage boundary ('Sub-national (basin) values are not included') and specifies the default weighting, giving context for when the output applies. It does not name an alternative tool for basin-level needs, but no direct water-stress sibling exists in the list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_world_bank_procurementEnergy World Bank ProcurementARead-onlyInspect
World Bank funded projects by country from the World Bank Projects API: project name, status, total amount (USD), approval year and project page. Project list only; contract-award notices are not in this source. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| rows | No | How many projects, 1 to 20 (default 5) | |
| country | Yes | ISO 2-letter country code, e.g. TR |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | No | |
| source | No | |
| country | No | |
| projects | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnly and open-world; the description adds materially important behavior an agent cannot infer: a $0.002 USDC charge per successful call, x402 payment on Base/Solana/Arc, and that failed calls are free. It also discloses a source-coverage limitation (no contract-award notices), which prevents misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences: what it returns, what it does not cover, and what it costs — all front-loaded with the resource first. The field enumeration could duplicate the output schema, but it is short and aids tool selection rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with an output schema and light annotations, the description covers purpose, source limitation, and the pay-per-call billing requirement — the latter being the highest-risk unknown. Nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (country as ISO 2-letter code, rows 1-20 default 5) are fully documented in the schema. The description adds no format, default, or range information beyond what is already structured, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('World Bank funded projects by country from the World Bank Projects API') and enumerates the returned fields (project name, status, total amount, approval year, project page). The clause 'Project list only; contract-award notices are not in this source' separates it from the procurement-notice siblings without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The exclusion ('project list only, contract-award notices are not in this source') tells the agent when NOT to use it and implicitly routes notice lookups elsewhere. It stops short of naming the alternative sibling (e.g. energy_adb_procurement_notices) or stating the positive trigger condition, so it is clear context but not a full when/when-not/alternatives triad.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energy_world_customs_tariff_witsEnergy World Customs Tariff WitsARead-onlyInspect
Applied import tariffs from the World Bank WITS / UNCTAD TRAINS database for one importing country and one HS 6-digit product: yearly simple-average rate (%), tariff type (MFN or preferential), min and max line rates and number of tariff lines, from WITS's public SDMX API. Partner defaults to the world (MFN). Non-tariff measures are not included. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| years | No | Most recent years to return, 1 to 15 (default 5) | |
| partner | No | Exporting partner, ISO alpha-3 or numeric (default 000 = world) | |
| product | Yes | HS 6-digit product code, e.g. 870323 (required) | |
| reporter | Yes | Importing country, ISO alpha-3 (e.g. TUR, USA) or WITS numeric code (e.g. 792) (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| source | No | |
| partner | No | |
| product | No | |
| tariffs | No | |
| reporter | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and openWorldHint annotations, the description discloses the data source (WITS SDMX API), what the response includes, the default partner behavior, an explicit exclusion (non-tariff measures are not included), and the payment model ($0.002 USDC per successful call, x402 on Base/Solana/Arc, failed calls not charged). This adds substantial behavioral context for a paid, external-data tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and resource, followed by scope exclusions and pricing. Every sentence contributes useful information—source, output fields, partner default, non-tariff exclusion, and cost model—with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description need not explain return values. It covers what an agent needs to know before calling: the data source, the exact scope (one country, one HS6, applied tariffs), the default partner, what is excluded, and the payment mechanism. Annotations already cover safety, so nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all four parameters. The description reinforces required parameters ('one importing country and one HS 6-digit product') and clarifies that the partner default means world/MFN, but it does not add syntax, enum, or format details 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states precisely what data is returned: applied import tariffs from World Bank WITS/UNCTAD TRAINS for one importing country and one HS 6-digit product, including average rate, tariff type, min/max line rates, and line count. This clearly differentiates it from country-specific tariff siblings by naming the source and the exact scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context—applied tariffs only, non-tariff measures excluded, partner defaults to world (MFN)—but does not explicitly name alternative tools (e.g., logistics_uk_trade_tariff) or state when to prefer them. An agent can infer the use case from the source and scope, but the routing guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_air_cargo_uld_specsLogistics Air Cargo Uld SpecsARead-onlyInspect
Air cargo unit load device (ULD) specs: LD and pallet types with their IATA codes (AKE, AKH, PMC base P6P, etc.), internal volume (m³ and ft³), height, depth and base/overall width (mm and inches), nominal width, contour and the aircraft they fit, from the ULD table on Wikipedia (CC BY-SA 4.0). Search by LD name or IATA prefix. Tare weights and maximum gross loads vary by manufacturer and are not included. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Optional: LD name or IATA ULD code, e.g. LD3, AKE, P1P. Empty lists all. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ulds | No | |
| count | No | |
| query | No | |
| source | No | |
| licence | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly/openWorld; the description adds substantive context beyond them: provenance and license (Wikipedia, CC BY-SA 4.0), explicit data exclusions (tare weights and max gross loads not included), and paid-call semantics ($0.002 USDC via x402 on Base/Solana/Arc, failures uncharged). The omission note in particular prevents an agent from assuming weight data exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then a dense but scannable field enumeration, then caveats and pricing; every clause carries information. The field list and licensing parenthetical are long, but they are load-bearing for an agent deciding whether the dataset answers its question.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shape needn't be explained; the description covers scope, lookup modes, data provenance, known limitations, and cost. For a zero-required-parameter reference lookup this is essentially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter already documents the same examples (LD3, AKE, P1P) and empty-lists-all behavior the description repeats. The only marginal addition is the word 'prefix', implying partial-code matching, so the schema is doing the work here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (air cargo ULD specs) with an explicit enumeration of the data it returns (IATA codes, volume, height/depth/width, contour, aircraft fit) and the source table. No sibling in the logistics_* set covers ULD container geometry, so it is clearly distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete invocation guidance: 'Search by LD name or IATA prefix' and 'Empty lists all', which tells the agent both the lookup key and the list-all behavior. It does not name an alternative or state when not to use it, but no sibling overlaps this domain enough to require it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_airport_iata_icaoLogistics Airport Iata IcaoARead-onlyInspect
Airport record by IATA (3-letter) or ICAO (4-letter) code from OurAirports open data: name, type, coordinates, elevation, country, municipality, scheduled-service flag. No runway or frequency data. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | IATA code like HEL or ICAO code like EFHK |
Output Schema
| Name | Required | Description |
|---|---|---|
| iata | No | |
| icao | No | |
| name | No | |
| type | No | |
| ident | No | |
| region | No | |
| source | No | |
| country | No | |
| latitude | No | |
| checkedAt | No | |
| longitude | No | |
| wikipedia | No | |
| elevationFt | No | |
| municipality | No | |
| scheduledService | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the readOnlyHint/openWorldHint annotations by disclosing the commercial model: $0.002 USDC per successful call via x402 (Base, Solana, Arc), with failed calls uncharged. It also flags deliberate data gaps (no runway/frequency) so the agent won't over-trust the record. This is exactly the behavioral context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler: the resource and key formats come first, then scope exclusions and pricing. The field enumeration is dense but each item is decision-relevant for an agent checking coverage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single fully documented required param, an output schema covering the return shape, and safety hints already in annotations, the description closes the remaining gaps (coverage limits, cost/failure billing). Nothing an agent needs before calling is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter already documents "IATA code like HEL or ICAO code like EFHK," so the schema carries the load. The description's "3-letter / 4-letter" restatement adds marginal disambiguation value but no new syntax, format, or validation detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ("Airport record") with the two lookup keys (IATA 3-letter / ICAO 4-letter), the data source (OurAirports), and an explicit field inventory (name, type, coordinates, elevation, country, municipality, scheduled-service flag). An agent can distinguish this from logistics_seaport_unlocode or logistics_air_waybill_awb purely from the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the code-based lookup framing, and there is a useful scope exclusion ("No runway or frequency data"), but the description never names an alternative or states when to prefer a sibling like logistics_seaport_unlocode. The agent must infer routing from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_airspace_notam_feedLogistics Airspace Notam FeedARead-onlyInspect
Active FAA NOTAMs (Notices to Air Missions) for a US airport or facility from the FAA's public NOTAM Search: NOTAM number, type (aerodrome, procedure, obstruction, airspace...), effective from/to times in UTC, permanent or estimated end, ICAO text and plain-language text, plus counts by type. US (FAA) locations only; 30 NOTAMs per page; not for flight planning. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page of 30, 1 to 20 (default 1) | |
| type | No | Optional filter on the NOTAM type, e.g. aerodrome, procedure, obstruction, airspace | |
| location | Yes | ICAO or FAA location id, e.g. KJFK, JFK, KORD, ZNY |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds material context beyond them: an explicit price ($0.002 USDC per successful call), the payment rails (x402 on Base, Solana or Arc), and the failure semantics ('failed calls are not charged'). That payment/failure disclosure is exactly the kind of pre-invocation information an agent needs for a paid endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense paragraph, but it is front-loaded with what the tool returns before moving to scope, pagination and pricing. Every clause carries information (scope, cost, page size, disclaimer), though breaking the payment terms into their own sentence would read more cleanly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and return fields are listed anyway; coverage of scope, pagination depth is bounded by the page param, cost model, and the flight-planning disclaimer leaves nothing an agent needs before calling. Complete for a read-only, paid, paginated data feed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the three parameters (page, type, location) are already documented with examples, including the ICAO/FAA id formats. The description adds only the page-size detail ('30 NOTAMs per page') and example type values, which largely restate the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Active FAA NOTAMs from FAA's public NOTAM Search) and enumerates the returned data: NOTAM number, type, effective/expiry times in UTC, ICAO and plain-language text, plus counts by type. The scope qualifier 'US (FAA) locations only' makes it unmistakable against any sibling tool, none of which cover NOTAMs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage context plus a real exclusion ('not for flight planning') and a geographic restriction ('US (FAA) locations only'). It does not name an alternative tool or describe when a sibling would be better, so it stops short of full 5-level routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_air_waybill_awbLogistics Air Waybill AwbARead-onlyInspect
Air waybill (AWB) check and carrier lookup: validates the 11-digit AWB (3-digit airline prefix + 8-digit serial with the IATA mod-7 check digit), names the issuing airline and its IATA code from the public track-trace.com carrier list, and returns the airline cargo site and a tracking link. It does not read the shipment status itself (airlines publish it only on their own sites). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| awb | Yes | Air waybill number: 11 digits, e.g. 020-12345675 or 02012345675 |
Output Schema
| Name | Required | Description |
|---|---|---|
| awb | No | |
| note | No | |
| prefix | No | |
| serial | No | |
| source | No | |
| carriers | No | |
| checkedAt | No | |
| trackingLink | No | |
| checkDigitValid | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, and the description adds substantive context beyond them: the mod-7 IATA check digit validation logic, the upstream data source (public track-trace.com carrier list), the $0.002 USDC x402 price with payment rails, and the policy that failed calls are not charged. Only finer operational details (error shapes, rate limits) are absent, and an output schema covers return values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense paragraph with purpose front-loaded in the first clause and cost/limitation trailing, with no filler sentences. Slightly run-on, but every sentence carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read lookup with an output schema and read-only annotations, the description covers everything material: input structure and validation, what the response contains (airline name, IATA code, cargo site, tracking link), the boundary of the tool (no live status), and the payment model.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already gives format and an example, so the baseline is 3. The description earns above baseline by decomposing the input (3-digit airline prefix + 8-digit serial) and stating the IATA mod-7 check-digit rule, which explains what validation the parameter undergoes rather than just its shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb set and resource: validates an 11-digit AWB, resolves the issuing airline and IATA code, and returns the cargo site plus tracking link. It is clearly separable from sibling tools like logistics_container_tracking, logistics_postal_upn_tracking, and logistics_vessel_tracker, and it even scopes out shipment status explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives the condition of use (you have an AWB and want carrier identification) and an explicit exclusion: it does not read shipment status because airlines publish that only on their own sites. That exclusion steers the agent away from expecting tracking data, though no sibling is named as an alternative for status lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_alaska_marine_highwayLogistics Alaska Marine HighwayARead-onlyInspect
Alaska Marine Highway System ferry schedules from the State of Alaska's official schedule grids, by month and route or vessel (Cross Gulf, Prince William Sound, SE Mainlines, SE Communities, SW and Aleutian Chain, M/V Columbia, M/V Kennicott …): for each direction the ports in order and every sailing with vessel, sailing ID and, per port, local date and time and whether it is a departure or arrival (ports skipped are left out). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| month | Yes | YYYY-MM (published months only, usually the next ~6) | |
| schedule | Yes | Cross Gulf, Prince William Sound, SE Communities, SE General, SE Mainlines, SE Northern Day Boats, SW and Aleutian Chain, SW and SC, M/V Aurora, M/V Columbia, M/V Hubbard, M/V Kennicott, M/V LeConte, M/V Lituya, M/V Malaspina, M/V Matanuska, M/V Tazlina, M/V Tustumena |
Output Schema
| Name | Required | Description |
|---|---|---|
| grids | No | |
| month | No | |
| source | No | |
| schedule | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint and openWorldHint, and the description adds useful behavioral detail: sailings include vessel, sailing ID, per-port local date/time, departure/arrival status, skipped ports omitted, plus pricing via x402 and no charge for failed calls. It does not describe wallet/auth requirements beyond payment method, but it is substantially informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but front-loaded with the core purpose and dense with relevant details; pricing is placed at the end. It could be split or tightened, but every major sentence carries useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema and annotations, the description is complete enough for correct invocation: it explains what the tool returns, how schedules are selected, which months are valid, and the payment model. No critical agent-facing context appears missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description restates that schedules are selected by month and route or vessel and lists schedule families, but adds little parameter-level detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and action: Alaska Marine Highway System ferry schedules from official schedule grids, filtered by month and route or vessel. It is clearly distinguishable from sibling logistics tools because it names the exact ferry system and schedule families.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: retrieve schedules by month and route or vessel, and only published months are valid. However, it does not explicitly state when not to use this tool or name alternatives among the many logistics siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_carnet_ata_statusLogistics Carnet Ata StatusARead-onlyInspect
ATA Carnet country check from the International Chamber of Commerce: whether a country runs the ATA Carnet system (duty-free temporary admission for samples, professional equipment and exhibition goods) and its national issuing and guaranteeing association with phone and website, as listed on ICC's 'ATA Carnet in your country' page. Individual carnet numbers cannot be verified publicly; the association answers that. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | Country name or two-letter code, e.g. Türkiye, DE, United States |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| phone | No | |
| query | No | |
| source | No | |
| country | No | |
| website | No | |
| checkedAt | No | |
| association | No | |
| countriesListed | No | |
| ataCarnetCountry | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint, but the description adds material context: the authoritative source (ICC 'ATA Carnet in your country' page), the pricing model ($0.002 USDC per successful call via x402 on Base, Solana or Arc), and that failed calls are not charged. That cost-and-failure disclosure is exactly the kind of behavioral detail an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause, followed by source, limitation, and pricing in descending priority. The second sentence is dense (limitation, price, payment rails, failure policy all in one), but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup with an output schema already defining the return shape, the description covers the remaining gaps: data provenance, the public-verification limitation, and payment terms. Nothing an agent needs to decide or pay correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter with 100% schema description coverage, so the schema already documents accepted forms (country name or two-letter code, with examples). The description adds no additional input semantics, which is acceptable at this coverage level but yields only the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource: checking whether a country participates in the ATA Carnet system, and returns its national issuing/guaranteeing association with contact details. The parenthetical defining ATA Carnet (duty-free temporary admission for samples, professional equipment, exhibition goods) and the ICC source make the scope unmistakable and distinguishable from the tariff/customs siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly bounds the tool by stating that individual carnet numbers cannot be verified publicly and that the association answers those queries, which steers agents away from a plausible misuse. It stops short of naming a sibling alternative or stating the positive trigger conditions (e.g., pre-shipment planning) more concretely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_cbp_ace_system_statusLogistics Cbp Ace System StatusARead-onlyInspect
US Customs ACE system status from CBP's Cargo Systems Messaging Service (CSMS): latest messages for ACE/ABI with number, date, title, link and a type (outage, delay, resolved, maintenance window, quota bulletin, HTS update, information), plus whether an unresolved outage or delay appears in the latest messages. Data is CBP's public CSMS feed; CBP does not publish a live uptime meter. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Optional filter: outage, maintenance, resolved, quota, hts, information | |
| limit | No | Messages to return, 1 to 25 (default 10) |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| messages | No | |
| checkedAt | No | |
| openIssues | No | |
| possibleOutageNow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint and openWorldHint, and the description still adds substantial operational context beyond them: the payment model ($0.002 USDC per successful call via x402 on Base, Solana or Arc), the fact that failed calls are not charged, the data source (public CSMS feed), and the limitation that no live uptime meter exists. That is exactly the kind of costing and data-provenance information an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the resource and return shape, then folds the pricing and data-source caveat in at the end. Most sentences earn their place, though the pricing/licensing sentence is dense and slightly inflates length relative to the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not describe return values in full, and it still names the returned fields and the unresolved-outage flag. Combined with 100% schema coverage on the two optional parameters, annotations signalling a read-only open-world call, and the explicit cost model, an agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both optional parameters, making 3 the baseline. The description adds the message categories, but its list (outage, delay, resolved, maintenance window, quota bulletin, HTS update, information) does not exactly match the schema's type options (outage, maintenance, resolved, quota, hts, information), which adds mild ambiguity rather than clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource (US Customs ACE system status from CBP's CSMS feed) and enumerates exactly what comes back: messages with number, date, title, link, type, plus an unresolved outage/delay flag. It is clearly distinguishable from sibling customs tools like customs_cbp_manifest or customs_duty_calc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is clear from context: check ACE/ABI system health, outages, delays, maintenance windows. It also explicitly bounds expectations with 'CBP does not publish a live uptime meter,' which prevents misuse as a real-time uptime monitor. It does not explicitly name alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_china_customs_tariffsLogistics China Customs TariffsARead-onlyInspect
China's applied import tariff for a 6-digit HS code from the World Bank WITS tariff database (UNCTAD TRAINS, as reported by China): MFN simple average, minimum and maximum duty rate across the national tariff lines, number of lines and the year. HS-6 level, not the 8/10-digit China customs line; VAT, consumption tax and retaliatory surcharges are not included. Another reporting country can be chosen with its ISO numeric code. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| hs | Yes | 6-digit HS code, e.g. 731815 (bolts) | |
| reporter | No | Optional ISO numeric country code of the importer (default 156 = China), e.g. 392 Japan, 356 India |
Output Schema
| Name | Required | Description |
|---|---|---|
| hs | No | |
| year | No | |
| source | No | |
| reporter | No | |
| checkedAt | No | |
| maxRatePct | No | |
| minRatePct | No | |
| tariffType | No | |
| tariffLines | No | |
| nomenclature | No | |
| simpleAveragePct | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only and open-world behavior; the description adds important behavioral context beyond them, including the data source, data vintage (year), granularity limits, excluded charges, pricing per successful call, payment networks, and that failed calls are not charged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded: resource and data source first, then returned fields, scope limits, alternative reporter, and pricing. Every sentence carries actionable information for an agent deciding whether and how to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, the description need not explain return formatting. It covers source, fields, granularity, exclusions, reporter flexibility, default behavior, and payment terms, leaving no material gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented in the schema. The description still adds a critical semantic caveat that the HS code must be HS-6 rather than the 8/10-digit China customs line, and it reinforces the optional reporter default semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (China's applied import tariff), granularity (6-digit HS code), and data source (World Bank WITS/UNCTAD TRAINS). It is clearly distinguishable from sibling tools such as logistics_japan_customs_tariff, logistics_uk_trade_tariff, logistics_hs_code_classifier, and logistics_customs_duty_calc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear scope and exclusions: HS-6 level, not 8/10-digit China customs lines, and excludes VAT, consumption tax, and retaliatory surcharges. It also states another reporter can be selected, but does not explicitly route the agent to sibling country-specific tariff tools or duty calculators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_co2_freight_emissionLogistics Co2 Freight EmissionARead-onlyInspect
Freight CO2e emissions for a shipment: tonnes × distance (km) × the UK Government (DESNZ) 2025 greenhouse-gas conversion factor for the chosen mode — van, HGV, refrigerated HGV, air freight (with or without radiative forcing), rail, tankers or cargo ships by vessel type and size. Returns kg CO2e per matching factor. Uses DESNZ factors (aligned with the GHG Protocol), not the GLEC tool itself. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| km | Yes | Distance in km, e.g. 18000 (required) | |
| mode | Yes | Transport mode: van, hgv, hgv-refrigerated, air, rail, sea-tanker, cargo-ship (required) | |
| type | No | Optional words to pick the vehicle/vessel row, e.g. 'articulated average', 'container ship 8000+', 'long-haul with rf' (default: rows marked Average where published) | |
| tonnes | Yes | Cargo weight in tonnes, e.g. 20 (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| km | No | |
| mode | No | |
| count | No | |
| source | No | |
| tonnes | No | |
| results | No | |
| tonneKm | No | |
| factorSet | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds materially more: the output unit (kg CO2e per matching factor), the payment requirement ($0.002 USDC via x402 on Base/Solana/Arc), and that failed calls are not charged. That billing/auth disclosure is exactly the kind of behavior an agent cannot infer from 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the computation and mode list, then the factor-source caveat, then pricing — a sensible order with no filler. The opening sentence is dense (formula, factor provenance, and eight modes in one breath), which slightly hurts scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and annotations cover the safety profile. The description still supplies the remaining essentials: methodology source, unit, mode coverage, and cost model — enough for an agent to call it correctly on the first attempt.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so a 3 is the floor; the description exceeds it by explaining how the parameters combine into the result and by naming the factor families that 'mode' and 'type' select from. It still does not clarify what happens if 'type' matches no published row.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the exact resource (freight CO2e emissions for a shipment) and the computation (tonnes × km × DESNZ 2025 factor), enumerating the supported modes. No sibling computes shipment emissions, and the description preempts confusion by naming the GLEC tool it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when this applies — any shipment whose emissions must be computed with UK DESNZ/GHG Protocol factors — and explicitly distinguishes itself from the GLEC tool. It stops short of naming a sibling alternative or stating exclusions (e.g., non-UK factor regimes).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_container_trackingLogistics Container TrackingARead-onlyInspect
Shipping container number check: validates an ISO 6346 container number (owner code, category, serial, check digit, computed locally), names the owner of the prefix (e.g. MSKU = Maersk) with country and website from the public prefixlist.com register, and returns links to the owner's and track-trace.com's tracking pages. It does not read the container's live milestones (carriers publish them on their own sites). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| container | Yes | Container number: 4 letters + 7 digits, e.g. MSKU1234565 or MSKU 123456-5 |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| owners | No | |
| serial | No | |
| source | No | |
| category | No | |
| checkedAt | No | |
| container | No | |
| ownerCode | No | |
| checkDigit | No | |
| ownerKnown | No | |
| trackingLinks | No | |
| checkDigitValid | No | |
| expectedCheckDigit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations, it discloses that validation and check-digit computation happen locally, that the owner data comes from a named public register (prefixlist.com), and gives precise pricing mechanics ($0.002 USDC per successful call via x402 on Base/Solana/Arc, with failed calls uncharged). That is exactly the kind of cost and side-effect context annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, verb first, then capability scope, then the negative scope, then cost. No filler and no repetition of the title; every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no prose, yet the description still summarizes them at a useful level. With a single 100%-covered parameter, explicit cost terms, and a stated data provenance, an agent has everything needed to decide and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already gives the format and an example, so the baseline is 3. The description adds meaning by decomposing the identifier into owner code, category, serial, and check digit, telling the agent what the input is actually validated against rather than just its shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('validates an ISO 6346 container number'), then enumerates exactly what is returned: owner name, country, website from prefixlist.com, and tracking links. It also explicitly distances itself from live milestone lookup, which separates it from tracking-oriented siblings like logistics_vessel_tracker.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'It does not read the container's live milestones (carriers publish them on their own sites)' tells the agent a clear when-not condition, which is strong guidance for a tool that superficially resembles a tracker. However, it does not name a specific sibling tool to use instead, so the routing is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_cross_border_ecom_vatLogistics Cross Border Ecom VatARead-onlyInspect
EU VAT rates (standard and reduced) for one member state on a given date, from the open ibericode/vat-rates dataset on GitHub, a community compilation (not the official EU TEDB). Does not cover IOSS registration or de minimis rules. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date YYYY-MM-DD (default today) | |
| country | Yes | EU member state, 2-letter code, e.g. FI, DE, ES |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| rates | No | |
| source | No | |
| country | No | |
| checkedAt | No | |
| exceptions | No | |
| effectiveFrom | No | |
| datasetVersion | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the readOnlyHint/openWorldHint annotations: it discloses data provenance and reliability limits (community compilation, not the official EU TEDB), coverage gaps, and a per-call price of $0.002 USDC via x402 on Base/Solana/Arc with failed calls free. The payment/authorization requirement is exactly the kind of context an agent must know before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with what is returned, then limitations, then cost. No padding; the pricing sentence is long but carries non-redundant, decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema handling return values and annotations covering safety and openness, the remaining agent-critical gaps — data trustworthiness and payment mechanics — are both addressed. Nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, and the description adds only that exactly one member state is returned per call and that rates are as of a given date. No format, default, or validity detail 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — EU standard and reduced VAT rates for one member state on a given date — and names the exact underlying dataset (ibericode/vat-rates on GitHub). The scope is bounded by the explicit exclusion of IOSS registration and de minimis rules, which separates it from customs-duty and de-minimis siblings without needing the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear negative boundary (does not cover IOSS or de minimis) but never names the sibling to use instead (e.g. logistics_us_de_minimis_section321) or states a positive use case such as feeding a duty calculation. Usage is implied by the resource itself rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_customs_broker_verifyLogistics Customs Broker VerifyARead-onlyInspect
Check a US customs broker against U.S. Customs and Border Protection's official Permitted Customs Broker Listing: filer code, broker name, city, state, work phone and e-mail where CBP lists them. Search by name, by 3-character filer code, or list a state. A broker missing from the list holds no national permit on CBP's page; individual licence numbers are not published there. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Part of the broker name, or a 3-character filer code such as 92K | |
| limit | No | Rows to return, 1 to 100 (default 25) | |
| state | No | Optional two-letter US state, e.g. TX |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | No | |
| listed | No | |
| source | No | |
| brokers | No | |
| matched | No | |
| checkedAt | No | |
| totalOnList | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered, and the description adds genuinely new context: pricing ($0.002 USDC per successful call via x402), the fact that failed calls are not charged, and the caveat that individual licence numbers are not published. Only the return shape/pagination behavior is left implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and source, then query modes, then the important limitation and cost. Dense but each sentence carries information; the pricing clause is a bit longer than strictly needed but still earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description still covers what data is available, the key data limitation (no licence numbers), the interpretation of a miss, accepted query modes, and payment mechanics. An agent has everything needed to call it and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so q, limit, and state are already fully documented in the schema. The description restates the same facts (name part or filer code, state listing) without adding syntax, matching rules, or default behavior beyond what the schema says, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Check") and resource ("US customs broker") against a named authoritative source, and enumerates the fields returned (filer code, broker name, city, state, phone, e-mail). This clearly separates it from sibling lookups like logistics_customs_cbp_manifest or logistics_us_cbp_cross_rulings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists the three query modes (by name, by 3-character filer code, or list a state), which tells the agent how to drive the tool. It also explains the negative case (a broker absent from the list holds no national permit), but names no alternative sibling tool or when-not-to-use condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_customs_cbp_manifestLogistics Customs Cbp ManifestARead-onlyInspect
US import bills of lading for a company: the most recent sea shipments (date, house and master B/L, shipper, origin country, product description, weight, quantity) and the company's top supplier, main origin country and total shipment count, from ImportYeti's public pages built on US Customs (CBP) vessel manifest records. Sea freight into the US only; recent rows only (about 50). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Rows to return, 1 to 50 (default 20) | |
| company | Yes | US importer name or ImportYeti company slug, e.g. nike usa or nike-usa |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, it discloses the data provenance (ImportYeti public pages built on US CBP vessel manifest records), the coverage ceiling (~50 recent rows), the billing model ($0.002 USDC per successful call via x402 on Base/Solana/Arc) and that failed calls are not charged. Payment/auth cost behavior is exactly the kind of context an agent needs to decide whether to invoke.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and its fields, then constraints and pricing in two short trailing sentences. Every clause carries information, though the first sentence is a long field enumeration that could be tightened slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and annotations already cover return shape and safety, and the description fills the remaining gaps: source of truth, geographic/modal limits, row-count ceiling, and per-call cost. Nothing an agent needs before invoking is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema, including the 'name or ImportYeti slug' convention and the 1–50 limit range. The description adds no further syntax or format guidance, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: US import bills of lading for a company, with an explicit enumeration of returned fields (date, house/master B/L, shipper, origin, product, weight, quantity) plus aggregate stats. It is clearly separable from siblings like logistics_container_tracking or logistics_us_cbp_cross_rulings because it names the exact source (CBP vessel manifest via ImportYeti).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States the operating envelope crisply: 'Sea freight into the US only; recent rows only (about 50)', which tells the agent when this tool is insufficient (air freight, older history, deep archives). It does not explicitly name a sibling as the alternative for those cases, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_customs_duty_calcLogistics Customs Duty CalcARead-onlyInspect
United States import duty lookup from the USITC Harmonized Tariff Schedule: HTS codes matching a code prefix or keyword with general, special and column-2 rates, units, and the duty amount for a customs value in USD when the general rate is ad valorem. US tariff only; no VAT, no other countries. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | HTS code (e.g. 8541.10.00) or keyword (e.g. diodes) | |
| value | No | Optional customs value in USD to compute the general duty |
Output Schema
| Name | Required | Description |
|---|---|---|
| lines | No | |
| query | No | |
| source | No | |
| checkedAt | No | |
| customsValueUsd | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and openWorldHint annotations, the description discloses pricing ($0.002 USDC per successful call), payment mechanisms (x402 on Base, Solana, or Arc), and that failed calls are not charged. It also states important behavioral constraints: US tariff only, no VAT, no other countries, and duty amount only when the general rate is ad valorem.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and keeps only high-value information: scope, output fields, exclusions, and price/payment behavior. Every sentence earns its place without redundant repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description provides enough context to call the tool correctly: query semantics, optional customs value, scope limitations, and payment behavior. No critical information appears missing for this lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics beyond the schema by explaining code-prefix matching, keyword lookup, and the condition that the duty amount is computed only when the general rate is ad valorem.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: United States import duty lookup from the USITC Harmonized Tariff Schedule, with HTS code/keyword matching and duty computation. It also clearly scopes the tool against sibling tariff tools by stating 'US tariff only; no VAT, no other countries,' which distinguishes it from EU, China, Japan, and UK tariff tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states the intended use case and exclusions: US import duty lookup only, no VAT, no other countries. However, it does not explicitly name alternative sibling tools or say when to use those instead, so it stops short of full when-to-use/when-not/alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_dardanelles_bosphorusLogistics Dardanelles BosphorusARead-onlyInspect
Daily vessel transits through the Bosporus Strait chokepoint, counted by ship type with capacity, from IMF PortWatch (ArcGIS, AIS-derived). Covers the Bosporus only, not the Dardanelles, and gives no waiting times. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many most recent days, 1 to 30 (default 7) |
Output Schema
| Name | Required | Description |
|---|---|---|
| days | No | |
| source | No | |
| checkedAt | No | |
| chokepoint | No | |
| latestDate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, but the description adds genuinely new behavioral facts: a metered price of $0.002 USDC per successful call, x402 payment on Base/Solana/Arc, and the guarantee that failed calls are not charged. Data provenance (AIS-derived) and the coverage limitation further reduce surprise; a 5 would need more on freshness or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, all front-loaded: capability first, then scope exclusions, then cost/payment. Pricing is not padding here because a paid call affects whether an agent should invoke it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation. Source, coverage boundary, and payment/cost terms are all covered, which is everything an agent needs before spending $0.002 on a call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one optional parameter and schema coverage is 100%, so the schema already documents the 1–30 day range and default. The description adds only an implicit notion of daily granularity ('Daily vessel transits'), so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (daily vessel transits through the Bosporus, counted by ship type with capacity) plus the upstream source (IMF PortWatch, AIS-derived). It also explicitly carves out what it is not — Bosporus only, not the Dardanelles — which separates it from canal/strait siblings at a glance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear scope boundaries: Bosporus only, excludes the Dardanelles, and does not provide waiting times, so an agent knows what questions it cannot answer here. It stops short of naming a named alternative tool for Dardanelles or waiting-time data, which keeps it from a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_dark_fleet_ais_gapLogistics Dark Fleet Ais GapARead-onlyInspect
Dark-fleet signals from Global Fishing Watch: AIS gap events (a vessel switching its transponder off, with off/on positions, gap hours and distance) or at-sea encounters between two vessels (possible ship-to-ship transfers, with both vessels, duration and median distance), filtered by flag and vessel type over the last 1 to 30 days, newest first. Coverage is GFW's (mostly fishing, carrier, bunker and support vessels). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Look-back window, 1 to 30 days (default 7) | |
| flag | No | Vessel flag as ISO-3 code, e.g. RUS, PAN, CHN (optional) | |
| kind | No | gaps (AIS off, default) or encounters (vessel meetings at sea) | |
| limit | No | Events to return, 1 to 50 (default 20) | |
| vesselType | No | fishing, carrier, bunker, support, cargo, tanker, passenger, other, gear (optional) |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | |
| flag | No | |
| from | No | |
| kind | No | |
| count | No | |
| total | No | |
| events | No | |
| source | No | |
| checkedAt | No | |
| vesselType | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and openWorld, and the description adds substantial behavioral context: GFW coverage limits, newest-first ordering, per-call pricing, payment networks, and that failed calls are not charged. Nothing contradicts 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded: it leads with what the tool returns, then filters and ordering, then coverage and billing. Every sentence carries useful selection or invocation information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema and full parameter documentation, the description supplies the remaining operational context an agent needs: event types, coverage limitations, ordering, and billing behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter. The description reinforces meanings such as gaps versus encounters and the look-back window, but does not add significant syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and behavior: Global Fishing Watch dark-fleet signals covering AIS gap events or at-sea encounters, with the key fields and filters named. It clearly distinguishes the two event kinds an agent can request.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It makes the usage context clear: filter by flag and vessel type over a 1-30 day window, newest first, and choose gaps versus encounters. It does not explicitly say when not to use it or name sibling alternatives such as logistics_vessel_tracker or logistics_sanctioned_vessel_check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_deadweight_tonnage_calcLogistics Deadweight Tonnage CalcARead-onlyInspect
Vessel displacement and deadweight estimate from hull dimensions: volume = length × beam × draught × block coefficient; displacement = volume × water density (sea 1.025, fresh 1.000 t/m³); deadweight = displacement − lightship weight (if given). Also returns the cargo capacity left after fuel, stores and ballast you enter. A design-stage estimate from standard formulas, not a vessel's official DWT; no ship registry lookup. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| beamM | Yes | Moulded breadth in metres (required) | |
| water | No | sea (default, 1.025 t/m³) or fresh (1.000 t/m³) | |
| lengthM | Yes | Length between perpendiculars in metres (required) | |
| draughtM | Yes | Draught in metres (required) | |
| lightshipTonnes | No | Optional lightship weight in tonnes, to get deadweight | |
| blockCoefficient | No | Block coefficient Cb, 0.35-0.90 (default 0.75; tankers/bulkers ~0.8-0.85, container ships ~0.6-0.7) | |
| consumablesTonnes | No | Optional fuel, fresh water, stores and ballast on board, tonnes |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| inputs | No | |
| deadweightTonnes | No | |
| displacementTonnes | No | |
| underwaterVolumeM3 | No | |
| cargoCapacityTonnes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly and openWorld, but the description adds material context beyond them: pricing ($0.002 USDC per successful call via x402 on Base, Solana or Arc) and the fact that failed calls are not charged. It also discloses the key accuracy caveat that results are estimates, not official tonnage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the computed quantities and their formulas, then appends the accuracy caveat and payment terms. Three dense sentences with no filler, though the formula block is information-heavy and slightly crowds the caveat that matters for correct interpretation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the description still covers density defaults, the design-stage limitation, and billing behavior. For a 7-parameter calculation tool this is essentially complete, with only the explicit fallback-to-registry path left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds real meaning by showing how the inputs combine (volume = L × B × T × Cb; displacement = volume × density; deadweight = displacement − lightship) and clarifies what consumablesTonnes produces (remaining cargo capacity). This goes beyond the field-level text in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (vessel displacement and deadweight estimate from hull dimensions) and spells out the exact formulas, so the agent knows precisely what is computed. It also differentiates from siblings by explicitly excluding registry lookups ('not a vessel's official DWT; no ship registry lookup'), separating it from imo_vessel_dossier and vessel_tracker.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly frames the use case as a design-stage estimate from standard formulas rather than an authoritative registry lookup, which tells the agent when this tool is appropriate. It stops short of naming the sibling tool to use when an official DWT is needed, so routing is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_demurrage_detentionLogistics Demurrage DetentionARead-onlyInspect
Container demurrage or detention calculator: from the start date (discharge or gate-out), end date (gate-out or empty return), free days and the carrier's tiered daily rates you supply (e.g. 1-4:75,5-8:150,9+:250), returns chargeable days, the day-by-day tier split and the total per container and for all containers. Counts calendar days, start day included unless you say otherwise. Carrier tariffs are not looked up. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | End date YYYY-MM-DD: gate-out full (demurrage) or empty return (detention) (required) | |
| rates | Yes | Tiers after free time, 'from-to:rate' comma separated, last open-ended with '+', e.g. 1-4:75,5-8:150,9+:250 (required) | |
| start | Yes | Start date YYYY-MM-DD: discharge (demurrage) or gate-out full (detention) (required) | |
| currency | No | Currency label for the output, default USD | |
| freeDays | Yes | Free days granted, 0-60 (required) | |
| containers | No | Number of containers, default 1 | |
| countStartDay | No | true (default) counts the start date as day 1; false starts on the next day |
Output Schema
| Name | Required | Description |
|---|---|---|
| tiers | No | |
| total | No | |
| currency | No | |
| daysUsed | No | |
| freeDays | No | |
| containers | No | |
| freeTimeEnds | No | |
| perContainer | No | |
| chargeableDays | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description goes well beyond them by disclosing the payment model ($0.002 USDC per successful call via x402 on Base/Solana/Arc), that failed calls are free, that tariffs are not fetched, and the day-counting convention (calendar days, start day included unless countStartDay is set). Those are exactly the traits an agent needs before invoking a paid tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the opening clause, followed by inputs, outputs, caveats and pricing in a tight single paragraph with no filler. The one long sentence is dense but every clause carries information; slight readability cost keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values need no explanation, yet the description still summarizes them; combined with the counting rule, the tariff-not-looked-up caveat and the x402 payment terms, an agent has everything needed to call this correctly and predict the cost.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the baseline is 3, but the description adds genuine meaning: it maps start/end onto the demurrage vs detention lifecycle and shows the rate tier string syntax ('1-4:75,5-8:150,9+:250') with an open-ended final tier. Only the currency and containers parameters get no extra narrative.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (container demurrage/detention calculator) and enumerates both the inputs it consumes and the outputs it produces (chargeable days, tier split, totals per container and aggregate). No sibling tool covers demurrage/detention, so it is unambiguously distinguishable from the rest of the logistics/energy set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the mode-dependent semantics of the dates (discharge or gate-out for demurrage vs gate-out or empty return for detention) and explicitly warns 'Carrier tariffs are not looked up', telling the agent it must supply rates itself. It does not name an alternative tool to use for tariff lookups, so it stops short of full when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_dry_port_inland_depotLogistics Dry Port Inland DepotARead-onlyInspect
Inland container depots and dry ports by country from the UN/LOCODE code list: locations flagged as multimodal (function 6) that are not seaports, with their rail and road functions, subdivision, status and coordinates. Optionally include multimodal seaports or filter by name. Data is the UN/LOCODE list as mirrored on DataHub (ODC-PDDL); it marks facilities, it does not report operators or capacity. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Optional: part of the location name | |
| limit | No | Rows to return, 1 to 500 (default 100) | |
| country | Yes | Two-letter country code, e.g. IN, TR, DE | |
| includeSeaports | No | true to also list multimodal locations that are seaports (default false) |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| source | No | |
| country | No | |
| matched | No | |
| checkedAt | No | |
| locations | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations, the description discloses the data source (UN/LOCODE via DataHub, ODC-PDDL), the scope limitation that it marks facilities but does not report operators or capacity, and the pricing/charging behavior including x402 payment and no charge for failed calls. These are meaningful behavioral traits an agent would not infer from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then optional behavior, data limitations, and pricing. Every sentence adds useful information, and there is no redundant restatement of the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, rich annotations, and 100% schema coverage, the description supplies the remaining context an agent needs: what the data represents, what it excludes, how to broaden results, and the cost model. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter meanings are already documented. The description adds some domain context by clarifying that country scoping applies and that includeSeaports broadens results to multimodal seaports, but it does not add syntax or edge-case guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and scope: inland container depots and dry ports by country from UN/LOCODE, specifically multimodal function-6 locations that are not seaports. It also distinguishes the output from a seaport listing and names the fields returned, so the agent can identify the 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the core usage condition clear: use this for inland depots/dry ports, and optionally include multimodal seaports via includeSeaports. It implies the sibling seaport tool is the alternative for seaports, but it does not explicitly name logistics_seaport_unlocode or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_dry_van_capacityLogistics Dry Van CapacityARead-onlyInspect
US truck freight demand and capacity proxies from FRED (monthly): Cass Freight Index shipments and expenditures, the implied freight cost per shipment (expenditures / shipments), and ATA truck tonnage, each with month-over-month and year-over-year change. National, monthly data; it is not a lane-level tender rejection or load-board feed. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | Months of history, 1 to 24 (default 6) |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| history | No | |
| reading | No | |
| checkedAt | No | |
| cassShipmentsIndex | No | |
| ataTruckTonnageIndex | No | |
| cassExpendituresIndex | No | |
| impliedCostPerShipment | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, and the description adds useful context: data comes from FRED, is national and monthly, and has a specific pricing model ($0.002 USDC per successful call via x402, no charge for failures). It does not, however, describe rate limits, update latency, or output structure beyond what the output schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with what the tool returns and the source, then adds the key limitation, then the pricing detail. Every sentence contributes directly to correct tool selection and invocation; there is no redundant or filler text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one optional parameter, full schema coverage, an output schema, and annotations covering safety and openness, the description is complete: it states the data source, metrics, geography, frequency, limitations, and billing model. An agent has enough information to decide when to call it and what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'months' has 100% schema description coverage ('Months of history, 1 to 24 (default 6)'), so the schema already does the explanatory work. The description does not add any further meaning about the parameter, which is the baseline expectation when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (US truck freight demand and capacity proxies), the source (FRED), the frequency (monthly), and the exact metrics returned (Cass shipments/expenditures, implied cost per shipment, ATA tonnage). It also explicitly distinguishes the dataset from lane-level tender rejection and load-board feeds, which separates it from sibling logistics tools like truck_loadboard_rate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly frames the appropriate use case as national, monthly demand/capacity proxies and explicitly warns that it is not lane-level tender rejection or load-board data. However, it does not name a specific sibling alternative or state a positive 'use this when' condition beyond the implied national-vs-lane distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_eu_taric_consultationLogistics Eu Taric ConsultationARead-onlyInspect
EU import measures (TARIC) for a goods code from a given origin country into an EU member state, from the European Commission's Access2Markets tariff service: third-country duty, tariff preferences, anti-dumping/countervailing duties with additional codes, suspensions, supplementary units, conditions and footnotes, with start/end dates and regulation IDs. Customs duties only (no VAT); check TARIC for legally binding detail. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | HS 6-digit or CN/TARIC 8/10-digit goods code, e.g. 090121 or 0901210000 | |
| origin | Yes | ISO 3166 alpha-2 country of origin, e.g. CN, TR, US | |
| destination | No | EU member state alpha-2 code, e.g. DE, FR, NL (default DE) |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | No | |
| note | No | |
| lines | No | |
| origin | No | |
| source | No | |
| codeUsed | No | |
| checkedAt | No | |
| destination | No | |
| preferentialDuty | No | |
| thirdCountryDuty | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and openWorldHint annotations, the description discloses the data source, the exact scope of returned measures, the customs-duties-only limitation, the legal caveat, and precise pricing behavior: $0.002 in USDC per successful call via x402 on Base, Solana, or Arc, with failed calls not charged. These are important behavioral facts an agent cannot infer from 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and covered measures, then adds the customs-duty-only caveat and pricing in compact sentences. Despite being dense, every clause carries useful information for deciding whether and how to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a read-only, open-world tariff lookup with an output schema, so the description need not explain return values. It covers source, scope, exclusions, legal caveat, and payment behavior, leaving no material gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, including format examples and the default destination of DE. The description reinforces that code is a goods code and origin is a country, but it does not add format or edge-case guidance beyond the schema. A baseline 3 is appropriate because the schema already carries the parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: consult EU import measures (TARIC) for a goods code from an origin country into an EU member state. It names the authoritative source (European Commission Access2Markets) and enumerates the measure types covered, which clearly distinguishes it from sibling customs tools such as logistics_china_customs_tariffs or logistics_uk_trade_tariff.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for use: EU import duties, preferences, anti-dumping, suspensions, and conditions, with the explicit scope limitation 'Customs duties only (no VAT).' It also warns to check TARIC for legally binding detail. It does not explicitly name alternative sibling tools such as logistics_customs_duty_calc, so a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_export_license_ear99Logistics Export License Ear99ARead-onlyInspect
Searches the US Export Administration Regulations (15 CFR) text on eCFR for a term such as EAR99 or an ECCN, returning matching sections with a short excerpt, the part and the section. It shows regulatory text hits only; it does not decide the ECCN or licence requirement for a product. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search term, 3 to 80 characters, e.g. EAR99 or 5A992 | |
| limit | No | 1 to 10, default 5 |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | No | |
| query | No | |
| source | No | |
| checkedAt | No | |
| totalHits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, but the description adds genuinely non-structured context: cost of $0.002 USDC per successful call via x402 on Base/Solana/Arc, and that failed calls are not charged. That payment/charging behavior is critical for an agent and appears nowhere in annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a pricing sentence, all front-loaded with the core operation first and the pricing/billing caveat last. No filler, though the pricing clause could be tightened slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and annotations exist, and schema coverage is 100%, so the description does not need to explain return fields; it still summarizes them briefly. Combined with scope limits and payment terms, this is nearly complete, lacking only explicit routing to sibling tools for case determination.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters (q, limit) are already documented with types, ranges and examples (EAR99, 5A992). The description adds only the generic notion of a search term, not syntax guidance or edge cases 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: searching the US EAR (15 CFR) text on eCFR for a term like EAR99 or an ECCN, returning matching sections with excerpt, part and section. The scope-limiting sentence ('shows regulatory text hits only; does not decide the ECCN or licence requirement') further defines the operation. It does not name a sibling tool, so 5 is not warranted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says what the tool will NOT do ('does not decide the ECCN or licence requirement for a product'), which carves it apart from classification tools like hs_code_classifier or us_cbp_cross_rulings without naming them. Clear usage context for a text-lookup use case, but no explicit alternative is named for agents that actually need a determination.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_freight_forwarder_dirLogistics Freight Forwarder DirARead-onlyInspect
FIATA member freight forwarders by country from FIATA's public members directory: national associations and individual member companies with postal address, phone, e-mail, website and named managers. Filter by part of the company name. FIATA membership is not a government licence; it lists members of the international federation only. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Optional: part of a company name | |
| limit | No | Rows to return, 1 to 200 (default 50) | |
| country | Yes | Two-letter country code, e.g. DE, TR, US |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | No | |
| source | No | |
| country | No | |
| matched | No | |
| members | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, but the description goes materially further: it discloses the payment protocol and cost ($0.002 USDC per successful call via x402 on Base, Solana or Arc) plus the important billing nuance that failed calls are not charged. This is exactly the kind of operational context an agent needs before invoking a paid, open-world lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and scope, then field coverage, filter, caveat, and price — four tight clauses with no filler. Minor redundancy in restating the name-filter behavior already present in the schema keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values, and annotations cover the read-only safety profile. The remaining agent-critical unknowns — data source, cost model, and the licence caveat — are all addressed, so nothing important is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (q, limit, country) are already documented in the schema, including the country format example and the 1–200 limit range. The description's only added parameter detail is the name-substring filter, which restates the schema's own wording for q, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (FIATA member freight forwarders by country from FIATA's public members directory) and enumerates the returned fields: postal address, phone, e-mail, website and named managers. This is clearly distinguishable from siblings like logistics_customs_broker_verify or logistics_customs_broker_verify-adjacent licence tools, which a reader can infer from the explicit 'national associations and individual member companies' scoping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Filter by part of the company name' names the narrowing condition, and 'FIATA membership is not a government licence; it lists members of the international federation only' is an explicit when-NOT-to-rely-on-this caveat for compliance workflows. It stops short of naming a specific alternative sibling for licence verification, so it falls just below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_ftz_foreign_trade_zoneLogistics Ftz Foreign Trade ZoneARead-onlyInspect
Pending US Foreign-Trade Zone Board applications with open public comment periods, from the trade.gov FTZ Board page: docket number, zone and applicant, activity, location and comment closing date. This is a snapshot of open dockets only; it is not the full zone directory or subzone privileges. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Optional text to filter by docket, zone, applicant or location (empty returns all) |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| source | No | |
| dockets | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds non-obvious behavioral details: the data source (trade.gov), the exact cost ($0.002 USDC per successful call), payment networks (Base, Solana, Arc), and that failed calls are free. This is valuable context beyond annotations, though it doesn't cover rate limits or authentication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with what the tool does, then scope clarification, then pricing. Every sentence carries actionable information (purpose, boundaries, cost). It could be slightly tighter, but the pricing detail is essential for an agent deciding whether to call.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, read-only list tool with a fully described single parameter and an output schema, the description provides everything needed: exact scope, returned fields, exclusions, data source, and call pricing. Nothing essential is missing; the output schema handles return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the single optional parameter q, including its filtering scope and empty-string behavior. The description adds no further parameter semantics, which is fine given the schema completeness; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Pending') and resource ('US Foreign-Trade Zone Board applications with open public comment periods'), lists returned fields (docket number, zone, applicant, activity, location, comment closing date), and explicitly excludes related but different data ('not the full zone directory or subzone privileges'). An agent can instantly tell what this tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly implies when to use ('snapshot of open dockets only') and when not to use ('not the full zone directory or subzone privileges'). However, it does not name any specific alternative tool among the many logistics siblings, leaving the agent to infer that no direct substitute exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_fuel_bunker_pricesLogistics Fuel Bunker PricesARead-onlyInspect
VLSFO bunker fuel prices (USD per metric ton) by port and regional average from the public Ship & Bunker prices page: price, change, daily high, low and spread. Indicative public assessments, not a firm offer; ex-wharf prices exclude freight and taxes. Only the VLSFO grade is extracted. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | Optional: part of a port or region name, e.g. Singapore or EMEA. Empty returns all rows. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | |
| count | No | |
| grade | No | |
| source | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the readOnlyHint/openWorldHint annotations: states that values are indicative public assessments rather than firm offers, that ex-wharf prices exclude freight and taxes, that only VLSFO is covered, and that billing is $0.002 USDC per successful x402 call with failed calls uncharged. This is exactly the kind of context an agent cannot infer from 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences that front-load the data scope before the caveats and billing note. No wasted clauses, though the payment/pricing sentence is standard boilerplate that could be trimmed for a high-frequency caller.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers scope, data provenance, limitations, and cost, and an output schema exists so return shape needn't be described. Missing only operational detail such as update cadence or data staleness, which matters for a daily-published price page.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single optional 'port' parameter is already documented, including the empty-returns-all behavior and the region example. The description's phrase 'by port and regional average' reinforces that partial region matching is supported but adds little the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (VLSFO bunker fuel prices in USD per metric ton), the source (Ship & Bunker public prices page), and the exact fields returned (price, change, daily high, low, spread). Clearly separable from siblings like energy_crude_oil_brent_wti or logistics_jet_a1_fuel_index.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the scope statement ('Only the VLSFO grade is extracted') and the marine-fuel domain, but there is no explicit when-to-use / when-not-to-use guidance or pointer to an alternative tool for other grades or spot marine fuel.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_hazardous_placard_idLogistics Hazardous Placard IdARead-onlyInspect
Placard / label codes for a hazardous material from the US DOT table (49 CFR 172.101, eCFR), by UN number (e.g. 1203) or name fragment: label codes, hazard class and packing group. Returns the label code numbers as written in the table; it does not give the placard artwork or emergency response guide entries. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 4-digit UN number (1203) or a name fragment of 3 to 60 characters |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| query | No | |
| source | No | |
| matches | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, and the description adds important context: it is a paid x402 tool costing $0.002 USDC per successful call, failed calls are free, and it returns label code numbers as written rather than artwork or ERG entries. It does not disclose rate limits or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three efficient sentences, front-loading the purpose, then clarifying output limits, then stating pricing. No sentence is redundant, and the pricing detail is relevant to invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only lookup with an output schema, annotations covering safety and open-world behavior, and a clear source table, the description supplies enough context: source, input forms, returned fields, exclusions, and cost model.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the single q parameter as a 4-digit UN number or 3–60 character name fragment. The description repeats the example and input forms without adding matching semantics or normalization rules, making 3 the appropriate baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and scope: placard/label codes for a hazardous material from the US DOT table by UN number or name fragment. It also enumerates returned fields (label codes, hazard class, packing group), but it does not explicitly differentiate itself from the most relevant sibling, logistics_un_dangerous_goods.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the input forms and by the exclusion of placard artwork and emergency response guide entries. However, it gives no explicit when-to-use guidance relative to the many sibling tools, especially logistics_un_dangerous_goods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_hs_code_classifierLogistics Hs Code ClassifierARead-onlyInspect
Finds Harmonized System (HS) codes from UN Comtrade's HS reference list by code prefix or description keyword: code, official description, hierarchy level. It lists candidate headings and subheadings; it does not decide the legal tariff code for a shipment. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | HS code digits (e.g. 8703) or a keyword (e.g. motor cars) | |
| limit | No | 1 to 20, default 5 |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| query | No | |
| source | No | |
| matches | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnly and openWorld; the description adds material context they cannot carry: a per-call price ($0.002 USDC), the payment rails (x402 on Base, Solana or Arc), and the billing rule that failed calls are free — critical for an agent deciding whether to retry or batch. It also discloses that output is candidate headings/subheadings rather than an authoritative classification, so the agent knows the result is advisory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the action and returned fields, then the scope limitation, then pricing. Nothing is padded and each sentence carries decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not describe return shape; it still characterizes results qualitatively as candidate headings/subheadings. For a read-only, two-parameter lookup, purpose, scope limit, and cost model are all covered, leaving no gap an agent needs filled before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are already described with examples ('8703', 'motor cars'; '1 to 20, default 5'). The description restates the prefix/keyword duality without adding syntax, format constraints, or matching behavior beyond the schema, so the baseline 3 for schema-driven parameters applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Finds Harmonized System (HS) codes from UN Comtrade's HS reference list') plus the two lookup axes (code prefix, description keyword) and the returned fields (code, official description, hierarchy level). It also draws an explicit boundary — 'it does not decide the legal tariff code for a shipment' — which separates it from duty calculators and tariff-consultation siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool's domain is clearly implied (reference lookup of HS headings/subheadings by prefix or keyword) and the exclusion 'does not decide the legal tariff code for a shipment' tells the agent when this is the wrong tool for a compliance determination. It stops short of naming the sibling to use instead (e.g. customs_duty_calc or eu_taric_consultation), so 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_imo_vessel_dossierLogistics Imo Vessel DossierARead-onlyInspect
Ship particulars by IMO number: name, type, flag, MMSI, call sign, year built, gross tonnage, length and beam, current draught and navigation status from VesselFinder's public page, plus deadweight, builder, engine, owner, manager and class society (when listed) from BalticShipping's public vessel register, with that record's last update date. Owner and class data can be years old. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| imo | Yes | 7-digit IMO ship number, e.g. 9321483 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond readOnlyHint/openWorldHint by naming both upstream sources per field group and warning that owner and class data may be years old — a real data-freshness caveat. It also discloses the commercial model: $0.002 USDC per successful call via x402 on Base/Solana/Arc, with failed calls free, which materially affects an agent's willingness to retry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Leads with the verb and key, then field coverage, then caveats and price — the important constraints are front-loaded and no sentence is filler. The field list is long but functions as scope-setting rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read with full schema coverage, an output schema, and readOnly annotations, the description supplies everything else an agent needs: sourcing per field, staleness risk, and per-call pricing with the failure-charge rule. Nothing material is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter already documents the 7-digit format with an example, so the description adds nothing new beyond 'by IMO number.' Baseline 3 is appropriate; the field enumeration describes outputs, not the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific lookup: ship particulars keyed by IMO number, and enumerates the returned fields plus their two upstream sources. It is clear this is an identity/particulars lookup rather than a position feed, though it never names logistics_vessel_tracker or logistics_sanctioned_vessel_check to sharpen the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the required IMO key and the enumeration of described fields; an agent can infer 'call this when you have an IMO and need registry particulars.' But there is no explicit when-not guidance, no mention of what to do when the IMO is unknown, and no routing to the sibling tools that also accept vessels.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_incoterms_complianceLogistics Incoterms ComplianceARead-onlyInspect
Incoterms 2020 responsibility matrix: for one rule (EXW, FCA, CPT, CIP, DAP, DPU, DDP, FAS, FOB, CFR, CIF) or all 11, the transport modes it fits, where risk passes, and whether seller or buyer handles main carriage, loading, export and import clearance, import duties, unloading and insurance. Optional check flags a sea-only rule used for containers or non-sea transport. A factual summary, not the ICC rule text or legal advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Optional transport for a fit check: sea, container, air, road, rail or multimodal | |
| term | No | Incoterms 2020 rule, e.g. FOB (default: all 11) |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | No | |
| rules | No | |
| source | No | |
| version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, yet the description still adds material context: cost is $0.002 USDC per successful call via x402 across Base, Solana or Arc, and failed calls are not charged. It also caps expectations by framing the output as a factual summary rather than legal advice, which matters for a compliance-adjacent tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and scope are front-loaded in the opening clause, and the trailing sentences on the optional check, disclaimer and pricing each carry unique information. The middle sentence is a long run-on enumerating responsibilities, which is dense but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value shape need not be described; what remains is fully covered — default behavior with no parameters, what the optional check flags, scope disclaimers, and the payment/charge model. An agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds value by spelling out all eleven accepted term values (EXW, FCA, CPT, CIP, DAP, DPU, DDP, FAS, FOB, CFR, CIF) that the schema only illustrates with 'e.g. FOB', and by clarifying that the mode field drives a sea-only fit check rather than a filter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (Incoterms 2020 responsibility matrix) and the exact dimensions returned: transport-mode fit, risk transfer point, and seller/buyer allocation for carriage, loading, clearance, duties, unloading and insurance. The enumerated rule list (EXW through CIF) makes it unmistakable versus siblings like logistics_customs_duty_calc or logistics_hs_code_classifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states when to use the optional check (a sea-only rule applied to containers or non-sea transport) and defines the default behavior (all 11 rules when term is omitted). It also sets a boundary on scope ('not the ICC rule text or legal advice'), though it names no alternative sibling tool for those needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_japan_customs_tariffLogistics Japan Customs TariffARead-onlyInspect
Japan Customs import tariff lines for an HS heading or subheading (e.g. 8703 or 8703.21) from the official chapter table: description, general tariff rate, temporary rate, WTO rate and unit. Only the English chapter page for the 2026-04-01 schedule is used; the chapter table is decoded from Shift_JIS. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| hs | Yes | HS heading (4 digits) or subheading (6 digits, dot optional), e.g. 8703 or 870321 |
Output Schema
| Name | Required | Description |
|---|---|---|
| hs | No | |
| count | No | |
| lines | No | |
| source | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint/openWorldHint annotations: discloses the exact data source (English chapter page only), schedule vintage (2026-04-01), encoding (Shift_JIS decode), and the payment model ($0.002 USDC via x402 on Base/Solana/Arc, failed calls free). Cost and payment/auth requirements are precisely what an agent needs before invoking a paid tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, purpose front-loaded, then source constraints, then pricing. Every sentence carries information; the pricing sentence is long but justifies its length since cost is decisive for a paid call.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema covering return shape and annotations covering read-only safety, the description need only add source, vintage, encoding, and cost — all present. Minor gap: no note on coverage limits (which chapters/headings exist) or behavior when the HS code is not found.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single `hs` parameter is already documented with 4-digit/6-digit, dot-optional semantics and examples. The description's inline examples restate what the schema provides rather than adding new constraint detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: Japan Customs import tariff lines for an HS heading/subheading, with concrete input examples (8703, 8703.21). The Japan/HS-tariff specificity inherently separates it from logistics_china_customs_tariffs, logistics_uk_trade_tariff and energy_world_customs_tariff_wits, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the resource scope (look up a tariff line by HS code), but there is no explicit when-to-use or when-not guidance, and no pointer to alternatives such as the HS classifier or duty calculator. An agent must infer the routing itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_jet_a1_fuel_indexLogistics Jet A1 Fuel IndexARead-onlyInspect
Daily US Gulf Coast kerosene-type jet fuel spot price (USD per gallon) from FRED (US EIA series DJFUELUSGULF): latest value and recent history. It is a US Gulf Coast benchmark, not a Jet-A1 or European refinery index. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many recent observations, 1 to 30 (default 7) |
Output Schema
| Name | Required | Description |
|---|---|---|
| latest | No | |
| source | No | |
| history | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered by structured data. The description adds context an agent genuinely cannot get elsewhere: the upstream series identity (DJFUELUSGULF), the units (USD/gallon), and an explicit metering/authorization model — $0.002 USDC per successful call via x402 on Base, Solana or Arc, with failed calls uncharged. That payment detail is exactly the kind of pre-call knowledge an agent needs, though freshness/caching behavior is left implicit in 'daily'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences: what it is, what it is not, then cost. The final sentence is dense (payment rails, currency, failure policy) but every clause is decision-relevant for an agent about to spend money. Minor cost: the parenthetical blockchain list is stacked into one long clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value structure need not be explained, and the description supplies source, geography, unit, cadence and cost. Remaining gaps are small but real: no statement of publication lag (EIA daily series typically publish with a delay) or whether the history window is calendar days or observations, which matters given the 'days' parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter 'days' is fully documented in-schema (1-30, default 7). The description adds only the qualitative phrase 'recent history', which does not extend the parameter's meaning. Baseline 3 is appropriate when the schema carries the semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource with full provenance: 'Daily US Gulf Coast kerosene-type jet fuel spot price (USD per gallon) from FRED (US EIA series DJFUELUSGULF): latest value and recent history.' It also explicitly rules out the most likely confusion ('not a Jet-A1 or European refinery index'), which lets an agent separate it from siblings like energy_crude_oil_brent_wti or logistics_fuel_bunker_prices without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The negative disambiguation ('US Gulf Coast benchmark, not a Jet-A1 or European refinery index') is genuine routing guidance and is the main failure mode for this tool. It stops short of naming a positive alternative or stating when to prefer logistics_fuel_bunker_prices for bunkering use cases, so the guidance is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_last_mile_courierLogistics Last Mile CourierARead-onlyInspect
Identify the courier behind a tracking number (UPS, FedEx, USPS, DHL Express, DPD, Royal Mail and other national posts) from its format, check the check digit where the carrier publishes one, and return the carrier's official tracking link. Several carriers can match the same pattern; each candidate says whether its check digit passed. It does not read live scan events (carriers serve them only through their own sites or keyed APIs). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | Tracking number as printed (spaces allowed) |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| number | No | |
| source | No | |
| bestMatch | No | |
| checkedAt | No | |
| candidates | No | |
| recognised | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and openWorld annotations, it discloses genuinely non-obvious behavior: multiple candidates may match the same pattern, each candidate reports whether its check digit passed, and check digits are only checked where the carrier publishes one. It also states the payment model (x402 at $0.002 USDC per successful call, failed calls free) — auth/pricing context the annotations do not carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, followed by candidate semantics, the negative scope, and pricing. Every sentence is informative, though the payment sentence is long and packs three chain names where two would do.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering read-only/open-world, the description supplies everything an agent needs: input format, multi-candidate behavior, check-digit semantics, exclusion of live scans, and the paid-call mechanics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 100% and the single parameter already documents that spaces are allowed. The description only adds that matching is format-based, which is marginal 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: identify the carrier behind a tracking number from its format, verify check digits, and return the official tracking link. It also carves out scope against tracking siblings by declaring it does not read live scan events, which distinguishes it from container/UPN tracking tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The when-to-use context is clear (you have a tracking number and need the carrier and official link), and there is an explicit exclusion: no live scan events. It stops short of naming the sibling tools an agent should pick instead for container or postal-UPN lookups, so it is strong but not fully routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_lithium_battery_rulesLogistics Lithium Battery RulesARead-onlyInspect
Paragraphs of the US hazardous materials rule for lithium batteries (49 CFR 173.185, eCFR) that mention a keyword such as 'aircraft' or 'UN3480'. This is the US rule text, not the IATA Dangerous Goods Regulations (which are a paid publication) and not a legal opinion. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 1 to 10 paragraphs (default 3) | |
| keyword | No | Word or phrase to find, 3 to 40 characters (default aircraft) |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| source | No | |
| keyword | No | |
| checkedAt | No | |
| paragraphs | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and open-world behavior, yet the description adds genuinely useful operational context: a per-call price of $0.002 USDC via x402 with named payment chains, and the fact that failed calls are not charged. It also flags that results are rule text, not a legal opinion, setting expectations for output interpretation; only pagination/format behavior is left to the 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the substantive answer (what the tool returns and from which source) before the caveats and pricing. Two sentences, both earning their place, though the first is a long noun phrase rather than a crisp verb statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-optional-parameter read tool with an output schema and annotations, the description covers source, scope, exclusions, cost, and result caveats. The only gap is sibling differentiation within the dense hazmat cluster, which leaves an agent to infer which of several dangerous-goods tools to pick.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema coverage at 100%, both limit (1-10, default 3) and keyword (3-40 chars, default 'aircraft') are already documented in the schema. The description reinforces keyword usage with examples but adds nothing about limit bounds or behavior, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (paragraphs of 49 CFR 173.185, the US lithium-battery hazmat rule from eCFR) and the retrieval condition (paragraphs that mention a keyword). It also explicitly excludes the IATA DGR, which is the most likely confusion point for an agent choosing among hazmat siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: use this for the US rule text, not the paid IATA regulations, and offers sample keywords ('aircraft', 'UN3480') that show the intended query style. It stops short of routing against near neighbors like logistics_un_dangerous_goods or logistics_hazardous_placard_id, so the alternative-selection guidance is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_maritime_labor_mlcLogistics Maritime Labor MlcARead-onlyInspect
ILO Maritime Labour Convention 2006 (MLC) ratifications from ILO NORMLEX: total ratifications, denunciations, and per country the ratification date, status (In Force / Not in force), declaration text and NORMLEX country link; plus the MLC amendments (2014-2025) with status and entry-into-force dates. Filter by country; other ILO conventions via instrumentId. From normlex.ilo.org via a residential proxy. Price: $0.01 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | Optional country name filter, e.g. Panama, Liberia, Türkiye | |
| instrumentId | No | NORMLEX instrument id (default 312331 = MLC, 2006) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld, so the bar is lower and the description clears it by disclosing the residential-proxy access path and the x402 payment model ($0.01 USDC per successful call on Base/Solana/Arc, failed calls free) — material auth/cost behavior an agent must plan around. It says nothing about rate limits, retries, or caching, which keeps it from 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the source and scope, then fields, filters, and pricing in a compact block. The field enumeration is dense but each item signals what the agent will receive; it borders on a run-on single sentence but wastes no clauses.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return shape needn't be described, and the description covers source, scope, amendment coverage window (2014-2025), filters, and payment. Minor gaps remain around behavior when a country filter matches nothing and whether results are paginated or full.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds real semantics: instrumentId is not just an MLC id but the gateway to other ILO conventions, and country is explicitly a name filter rather than a code. That meaning exceeds the schema's terse field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: ILO MLC 2006 ratifications from NORMLEX, and enumerates exactly what is returned (ratification dates, status, declarations, country links, amendments with entry-into-force). This is clearly distinguishable from the freight/customs-oriented siblings, none of which cover ILO labour conventions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing clause gives filter guidance ('Filter by country; other ILO conventions via instrumentId'), which implies how to narrow results, but there is no statement of when to prefer this tool, prerequisites, or any named alternative. Usage is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_maritime_piracy_alertLogistics Maritime Piracy AlertARead-onlyInspect
Current piracy and armed-robbery broadcasts from the ICC International Maritime Bureau (IMB) Piracy Reporting Centre: broadcast time (UTC), IMB identifier, category (attack, attempted attack, suspicious activity, warning...), location (e.g. Gulf of Aden, Singapore Straits) and the full narration, plus the cancel time when the message states one. Filter by location or category words. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Optional words of the category, e.g. warning, suspicious, boarded | |
| location | No | Optional words of the location, e.g. Gulf of Aden, Singapore |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| items | No | |
| source | No | |
| checkedAt | No | |
| broadcasts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes beyond the readOnlyHint/openWorldHint annotations with a concrete cost model ($0.002 USDC per successful call via x402, failed calls not charged) and payment rails, which materially affects whether and how an agent should call it. It does not cover refresh cadence, result size or pagination, so not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and source, then fields, then filtering, then price — a sensible order with no filler sentences. Slightly dense in the field enumeration and cost clause, but every element carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be re-explained; the description nevertheless flags the returned fields and the optional cancel time. With only two optional free-text filters and full schema coverage, nothing an agent needs to call this correctly is missing apart from update frequency, which is minor for a broadcast feed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds value the schema lacks: it lists plausible category values (attack, attempted attack, suspicious activity, warning) and location examples (Gulf of Aden, Singapore Straits) despite no enums being defined. This helps an agent compose valid free-text filters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific source (ICC IMB Piracy Reporting Centre) and a specific resource (current piracy and armed-robbery broadcasts), then enumerates the fields returned (broadcast time, IMB id, category, location, narration, cancel time). That is clearly distinct from adjacent siblings such as logistics_dark_fleet_ais_gap, logistics_sanctioned_vessel_check or logistics_airspace_notam_feed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is 'Filter by location or category words', which tells the agent how to narrow results but not when to prefer this feed over a related tool or what preconditions exist. Usage is implied by the data type rather than stated, and no alternative or exclusion is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_mississippi_barge_ratesLogistics Mississippi Barge RatesARead-onlyInspect
Weekly downbound grain barge rates on the Upper Mississippi (Cincinnati, St Louis, Cairo-Memphis and two further rate columns) from the USDA dataset on data.bts.gov. The file ends in November 2023; units are not stated in the dataset, so none are given. No draft or lock-status data. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| weeks | No | How many most recent weeks, 1 to 52 (default 4) |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | |
| source | No | |
| checkedAt | No | |
| dataEndsOn | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and openWorldHint annotations, the description discloses critical behavioral details: the data cutoff (November 2023), missing units, absence of draft/lock-status data, and the pricing model including that failed calls are not charged. This is rich, actionable transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and source, then efficiently layers caveats (file end, units, exclusions) and pricing. Every sentence earns its place and no information is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple tool with one well-documented parameter, an output schema, and relevant annotations, the description covers all necessary context: data provenance, temporal scope, unit ambiguity, exclusions, and cost. Nothing an agent needs for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'weeks' is fully described in the schema (range, default), and the description adds no further semantic detail about it. With 100% schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifices exactly what the tool returns: weekly downbound grain barge rates on the Upper Mississippi from a named USDA dataset. It distinguishes itself from all siblings by focusing on a unique data source and geography, with no ambiguity about the resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when the tool is applicable (weekly grain barge rates) and explicit exclusions (no draft or lock-status data, data only through November 2023). It does not name a specific alternative tool to use instead, but no direct sibling offers the same data, so the guidance is sufficient for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_panama_canal_transitsLogistics Panama Canal TransitsARead-onlyInspect
Daily vessel transits through the Panama Canal chokepoint, counted by ship type (container, dry bulk, general cargo, Ro-Ro, tanker) with capacity, from IMF PortWatch (ArcGIS, AIS-derived). Covers transit counts only, not booking slots or draft restrictions; the latest date lags real time by several days. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many most recent days, 1 to 30 (default 7) |
Output Schema
| Name | Required | Description |
|---|---|---|
| days | No | |
| source | No | |
| checkedAt | No | |
| chokepoint | No | |
| latestDate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds substantive context the agent cannot get elsewhere: AIS-derived provenance, a multi-day data lag, an explicit per-call price with payment rails (x402 on Base/Solana/Arc), and the fact that failed calls are free. That is exactly the cost and freshness information needed before invoking a paid tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences: purpose and breakdown first, then scope exclusions and latency, then price. Every clause carries information, though the pricing/payment-rail clause is lengthy relative to the rest and could be tightened without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only, open-world data feed with an output schema, the description covers what the data is, what it is not, how fresh it is, where it comes from, and what it costs. Nothing an agent needs to decide to call it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'days' parameter (1-30, default 7) is fully documented in the schema. The description implies recency-based querying via 'Daily' and the lag note but adds no range, default, or format details 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (daily vessel transits through the Panama Canal chokepoint) plus the breakdown dimension (ship type) and the source (IMF PortWatch, AIS-derived). It is clearly distinguishable from siblings like logistics_suez_canal_telemetry, logistics_strait_malacca_transits, and logistics_port_congestion_index.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Covers transit counts only, not booking slots or draft restrictions' explicitly excludes adjacent use cases, and the latency note ('latest date lags real time by several days') tells the agent when the data is unsuitable for real-time needs. It stops short of naming a specific alternative sibling for those excluded questions, so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_phytosanitary_cert_reqLogistics Phytosanitary Cert ReqARead-onlyInspect
Whether an import into an EU member state falls under EU plant health control (phytosanitary certificate under Reg. (EU) 2016/2031 and 2019/2072 Annex XI/XII) and which other sanitary/phytosanitary and technical requirements apply, for a 10-digit CN/TARIC code and origin country, from the European Commission's Access2Markets service, with the national plant health authority and laws. EU imports only. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | 10-digit CN/TARIC code (8 digits are padded with 00), e.g. 0805102200 (fresh sweet oranges) | |
| origin | Yes | ISO alpha-2 country of origin outside the EU, e.g. TR, MA, CN | |
| destination | No | EU member state alpha-2, e.g. DE, NL, FR (default DE) |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | No | |
| note | No | |
| origin | No | |
| source | No | |
| checkedAt | No | |
| destination | No | |
| plantHealth | No | |
| plantHealthControl | No | |
| generalRequirements | No | |
| specificRequirements | No | |
| phytosanitaryCertificate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint=true / openWorldHint=true annotations, the description discloses the upstream source (European Commission Access2Markets), that the answer includes the national plant health authority and applicable laws, and precise billing semantics: $0.002 USDC per successful call via x402, failures not charged. It omits anything about data freshness or how current the cited legal annexes are, which matters for a regulatory lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The scope and output are front-loaded and every clause (jurisdiction limit, regulator, price) carries information. The first sentence is a long run-on with stacked parentheticals and citations, which slightly impairs fast scanning but does not waste words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter regulatory lookup with an output schema and annotations already present, the description covers scope, source, jurisdiction limit, and cost — enough for an agent to call it correctly. The remaining gap is freshness/versioning of the cited legislation, which an agent evaluating trustworthiness would want.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: each of code, origin and destination already carries a description with an example, and the default destination (DE) is documented in the schema. The description only restates that the lookup is keyed on code and origin, adding no format or padding rules beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise determination ('whether an import ... falls under EU plant health control') plus the secondary output (other SPS/technical requirements), scoped to a 10-digit CN/TARIC code and origin country, citing the governing regulations. It is clearly distinct from neighbours like logistics_veterinary_border_control or logistics_eu_taric_consultation by domain, though it never names an alternative to make the contrast explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'EU imports only' is an explicit exclusion, and the description specifies the required inputs (CN/TARIC code + non-EU origin) so the agent knows the call shape. It does not, however, point to sibling tools for adjacent questions such as duty calculation or veterinary border checks, so routing guidance stops short of the full when/when-not/alternative pattern.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_port_call_scheduleLogistics Port Call ScheduleARead-onlyInspect
Recorded daily port calls (vessel arrivals) at one port by ship type, from IMF PortWatch (AIS-derived), for the most recent days. These are past calls, not a forward arrival or departure schedule, and the latest date lags real time. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | 1 to 30 (default 7) | |
| port | Yes | PortWatch port name, e.g. Rotterdam, Singapore |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint and openWorldHint already set, the description adds valuable behavioral context: the data source, AIS derivation, real-time lag, and the distinction between past calls and forward schedules. It also discloses pricing ($0.002 USDC per successful call via x402) and that failed calls are not charged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core identity of the dataset, then immediately clarifies the historical nature and lag, and ends with the pricing/payment terms. Every sentence adds useful selection or invocation context without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and both parameters are fully documented in the input schema, the description supplies the remaining context an agent needs: data source, historical-vs-forward distinction, recency limitation, and payment behavior. Nothing critical for correct selection or invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the two parameters are already well documented as a PortWatch port name and a days value with range/default. The description adds only mild context such as 'at one port' and 'most recent days'; it also mentions 'by ship type,' which is not a selectable parameter and introduces slight ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific data resource (recorded daily port calls / vessel arrivals at one port), source (IMF PortWatch, AIS-derived), and time scope (most recent days). It clearly distinguishes this from a forward arrival/departure schedule, though it does not explicitly name sibling tools such as vessel_tracker or port_congestion_index.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context by stating these are past calls, not a forward schedule, and that the latest date lags real time. It does not explicitly route the agent to alternative tools for live tracking or congestion data, so it falls short of full when-to-use/when-not/alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_port_congestion_indexLogistics Port Congestion IndexARead-onlyInspect
Weekly port congestion figures for one port from Portcast's public port page: median waiting time (days), average vessels waiting per day, congestion category and week-on-week change. Free public page data (not the paid API), and only for ports Portcast publishes; the slug is the port name in lowercase, e.g. ako or long-beach. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| port | Yes | Portcast port slug: lowercase letters and hyphens, e.g. long-beach |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| port | No | |
| source | No | |
| checkedAt | No | |
| weekCovered | No | |
| medianWaitingTime | No | |
| congestionCategory | No | |
| longTailCongestion | No | |
| changeFromPreviousWeek | No | |
| averageVesselsWaitingPerDay | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and openWorldHint annotations, it discloses the billing model ($0.002 in USDC per successful call via x402 on Base, Solana or Arc) and critically that failed calls are not charged, plus the data-source limitation. These are exactly the behavioral traits an agent needs before invoking a paid external call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose, return fields, and source are front-loaded, followed by coverage restriction and pricing. It is a single dense paragraph with little waste, though the payment-rail enumeration makes the closing sentence long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description covers source, coverage limits, slug format, and cost/billing behavior. An agent has everything needed to decide and call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'port' parameter is already documented as a lowercase hyphenated slug with an example. The description's extra examples (ako, long-beach) add only marginal value over the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (weekly port congestion figures) with the exact metrics returned (median waiting time, average vessels waiting per day, congestion category, week-on-week change), and names the source (Portcast's public port page). This clearly separates it from siblings like logistics_port_call_schedule or logistics_seaport_unlocode, which cover different port-adjacent data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It sets concrete usage boundaries: only free public page data, not the paid API, and only for ports Portcast publishes, with the slug convention spelled out. What's missing is an explicit pointer to an alternative sibling when the port isn't covered, but the context an agent needs to decide applicability is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_postal_upn_trackingLogistics Postal Upn TrackingARead-onlyInspect
International postal tracking number check (UPU S10 format, e.g. RR123456785GB): validates the 8-digit serial with the S10 check digit, decodes the service type from the first letter (EMS, registered, parcel, insured...), names the origin postal country from the last two letters, and returns tracking links (origin post and multi-carrier trackers). It does not read the item's live scan history. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | S10 number: 2 letters, 9 digits, 2-letter country code, e.g. RR123456785GB |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| number | No | |
| serial | No | |
| source | No | |
| service | No | |
| checkedAt | No | |
| checkDigit | No | |
| originCountry | No | |
| trackingLinks | No | |
| checkDigitValid | No | |
| serviceIndicator | No | |
| originCountryCode | No | |
| expectedCheckDigit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations, the description discloses the S10 check-digit validation, service-type decoding, country naming, returned tracking links, lack of live scan history, and the x402 pricing model including that failed calls are not charged. This is unusually rich behavioral context for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core operation and format, then adds limitations and pricing in a compact, information-dense manner. Every clause contributes useful selection or invocation context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one fully documented parameter, readOnly/openWorld annotations, an output schema, and an explicit explanation of non-live-scan behavior plus billing, the description gives an agent everything needed to decide whether and how to call the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single parameter is already documented. The description still adds meaning by explaining the S10 structure and what the serial, service prefix, and country suffix represent, going beyond the bare schema example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: international postal tracking number check in UPU S10 format. It immediately explains the validation, decoding, country identification, and tracking-link output, making the tool's purpose unambiguous among the many logistics siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly establishes the input context (UPU S10 international postal numbers) and explicitly says it does not read live scan history, which helps an agent avoid selecting it for shipment-status scanning. It does not name an alternative tool for live tracking, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_psc_inspection_recordsLogistics Psc Inspection RecordsARead-onlyInspect
Port state control detentions published by the Tokyo MOU (Asia-Pacific) for a month: IMO number, ship name, flag, build date, tonnage, type, class society, recognised organisations, company, place and dates of detention and release, and every detainable deficiency (code, area, item, RO responsibility). Filter by flag (2-letter code), IMO number or port. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| imo | No | Optional 7-digit IMO number | |
| flag | No | Optional flag state as a 2-letter code, e.g. PA (Panama), LR, MH, TG | |
| port | No | Optional words of the detention place, e.g. Shanghai, Singapore | |
| year | No | Year 2000 to now (default: last month's year) | |
| month | No | Month 1 to 12 (default: last month) |
Output Schema
| Name | Required | Description |
|---|---|---|
| mou | No | |
| flag | No | |
| year | No | |
| count | No | |
| month | No | |
| ships | No | |
| source | No | |
| checkedAt | No | |
| detentions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnlyHint/openWorldHint, it discloses a real operational constraint that annotations cannot convey: $0.002 USDC per successful call via x402 on Base, Solana or Arc, with failed calls not charged. That payment/auth detail is exactly the kind of context an agent needs before invoking. Pagination and volume per call remain unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Content scope is front-loaded, followed by filters and then price, which is a sensible order and contains no filler. The long field enumeration is somewhat redundant given an output schema exists, which keeps it short of a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only data-retrieval tool with a full schema, output schema and annotations, the description covers dataset provenance (Tokyo MOU), temporal scope (one month per call, with defaults), filters and cost. Only volume/pagination expectations are absent, a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (imo, flag, port, year, month) are already documented in the schema. The description restates the three filters with the same examples (PA/LR/MH/TG) and adds no format 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a precise verb+resource pair: 'Port state control detentions published by the Tokyo MOU (Asia-Pacific) for a month', and enumerates the returned fields. An agent can distinguish it from siblings like logistics_imo_vessel_dossier or logistics_sanctioned_vessel_check by the detention-specific scope, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the available filters ('Filter by flag (2-letter code), IMO number or port') and that year/month default to last month, so usage is strongly implied. However, it never says when to prefer this tool over alternatives or what conditions make a lookup appropriate, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_rail_freight_corridorLogistics Rail Freight CorridorARead-onlyInspect
US Class I rail traffic: carloads or intermodal units per period from FRED (series RAILFRTCARLOADSD11 / RAILFRTINTERMODALD11, AAR data), latest values and recent history. National totals only: there is no corridor-by-corridor status in this source. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | 1 to 60 recent observations (default 6) | |
| series | No | carloads or intermodal (default carloads) |
Output Schema
| Name | Required | Description |
|---|---|---|
| latest | No | |
| series | No | |
| source | No | |
| history | No | |
| measure | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only annotation, the description discloses pricing, payment mechanism, networks accepted, and that failed calls are not charged. It also names the upstream source and the national-only limitation, giving an agent the operational context needed before invoking a paid read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the dataset and scope, then immediately states the key limitation, then covers payment. Every sentence carries actionable information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering read-only/open-world behavior and an output schema present, the description supplies source, scope, and payment details needed to call the tool. It could be slightly stronger by stating update frequency or units more explicitly, but it is complete for practical selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents both parameters with 100% coverage, including defaults and allowed values. The description reiterates the carloads/intermodal distinction and adds FRED series identifiers, but does not materially clarify parameter behavior beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific dataset and scope: US Class I rail traffic, carloads or intermodal units, from named FRED series with latest values and recent history. It explicitly clarifies that the tool does not provide corridor-by-corridor status, preventing confusion from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly says the source is national totals only and cannot answer corridor-level questions, which is valuable usage guidance. It does not name a specific sibling alternative for corridor-level data, so it falls short of explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_rhine_river_water_levelsLogistics Rhine River Water LevelsARead-onlyInspect
Current water level (W, cm) and discharge (Q, m3/s) for one German federal waterway gauge from PEGELONLINE (WSV), with the reading timestamp. Default station is KAUB (Middle Rhine, a key barge bottleneck). Barging capacity is not calculated; this is gauge data only. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| station | No | PEGELONLINE station short name, e.g. KAUB, EMMERICH, COLOGNE (default KAUB) |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| station | No | |
| checkedAt | No | |
| discharge | No | |
| waterLevel | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnly/openWorld, but the description adds the material operational facts an agent needs: a paid endpoint at $0.002 USDC per successful call via x402 on Base/Solana/Arc, and that failed calls are not charged. It also warns that the tool returns raw gauge readings rather than derived capacity, preventing misuse of the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences, front-loaded with what the tool returns and in what units, then default, then the exclusion, then pricing. Nothing is repeated from the schema and no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure needn't be spelled out, and the description covers the remaining essentials: units, single-gauge scope, default station, source, what it does not compute, and the payment model.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the station parameter is already documented, but the description adds semantics beyond the schema by explaining that KAUB is the default and characterizing it as a Middle Rhine barge bottleneck. That gives the agent a reason to keep or change the default, not just a syntax example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource pair (current water level W cm and discharge Q m3/s), names the source (PEGELONLINE/WSV), the scope (one German federal waterway gauge) and the default station. This is clearly distinguishable from siblings like logistics_mississippi_barge_rates or logistics_dardanelles_bosphorus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the default station and explains why it matters (KAUB is a key Middle Rhine barge bottleneck), and explicitly excludes a nearby use case: 'Barging capacity is not calculated; this is gauge data only.' It does not name a specific alternative tool for capacity or price data, so it stops short of full when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_sanctioned_vessel_checkLogistics Sanctioned Vessel CheckARead-onlyInspect
Searches the US OFAC Specially Designated Nationals (SDN) list for vessels by name or IMO number and returns matching vessel entries (sanctions programs, flag, vessel type, owner, gross tonnage, call sign, IMO, aliases), via the US Consolidated Screening List. Only the OFAC SDN list; not the UN, EU or UK lists, and an empty result is not a clearance. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Vessel name (3+ characters) or IMO number (7 digits) | |
| limit | No | 1 to 20, default 10 |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| query | No | |
| source | No | |
| matches | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/open-world annotations, the description discloses important behavior: pricing at $0.002 USDC per successful call, x402 payment rails, failed calls not charged, and the critical caveat that an empty result is not a clearance. This is substantial operational and interpretive context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and packed with useful scope, output, and billing details. It is dense but nearly every clause earns its place; the single long main sentence is slightly heavy but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description still usefully summarizes returned fields and adds key limitations plus payment behavior. An agent has enough context to decide when to call it and what an empty result means.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents both parameters, including vessel name length and IMO digit format. The description reinforces that the query can be by name or IMO number, but adds no format or edge-case detail beyond the schema; this matches the baseline for 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: searching the US OFAC SDN list for vessels by name or IMO number and returning matching vessel entries. It also states the scope boundary (OFAC SDN only, not UN/EU/UK lists), which helps distinguish it from broader vessel or sanctions-related siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context: use the OFAC SDN list, not other sanctions lists, and an empty result is not a clearance. It does not explicitly name an alternative sibling tool for broader sanctions screening, which keeps it below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_seaport_unlocodeLogistics Seaport UnlocodeARead-onlyInspect
UN/LOCODE location lookup by 5-character code (country + place, e.g. FIHEL): name, subdivision, status, port/rail/road/airport functions, IATA code and coordinates. Data is the UN/LOCODE list as mirrored on DataHub (ODC-PDDL), not the UNECE site itself. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | UN/LOCODE, 5 letters: 2-letter country + 3-character location, e.g. FIHEL, SGSIN |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | No | |
| iata | No | |
| name | No | |
| source | No | |
| status | No | |
| country | No | |
| checkedAt | No | |
| functions | No | |
| coordinates | No | |
| subdivision | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds valuable non-annotation context: the data source (UN/LOCODE via DataHub, not UNECE), the per-call price, the x402 payment rails, and the fact that failed calls are not charged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core lookup purpose, then appends two short sentences for data provenance and payment terms. Every sentence carries useful context for an agent deciding whether to invoke a paid, read-only lookup, and there is no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one required parameter), has a full schema, an output schema, and annotations, so the description does not need to explain return values or safety. It adds the essential pricing and data-source details that are not in structured fields, though it leaves some sibling-selection context implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already defines the single parameter as a 5-letter UN/LOCODE with examples like FIHEL and SGSIN. The description repeats the same format and example but adds no further semantics such as case normalization or validation behavior, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'UN/LOCODE location lookup by 5-character code,' and enumerates returned attributes such as name, subdivision, status, port/rail/road/airport functions, IATA code, and coordinates. It is clear what the tool does, but it does not explicitly distinguish itself from siblings like logistics_airport_iata_icao or logistics_port_call_schedule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the need to look up a specific 5-character UN/LOCODE, but there is no explicit when-to-use/when-not guidance or named alternative tools. The payment note ('failed calls are not charged') is helpful context but does not clarify tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_spot_freight_ratesLogistics Spot Freight RatesARead-onlyInspect
Drewry World Container Index (WCI) composite spot rate per 40ft container (USD), its weekly date and change, read from Drewry's public WCI page. Composite only: the route-level Shanghai-Rotterdam and Shanghai-Los Angeles values are not extracted. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| date | No | |
| source | No | |
| movement | No | |
| checkedAt | No | |
| compositeUsdPer40ft | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations, the description discloses the data source, the restricted composite-only extraction scope, the per-call price, accepted payment rails, and that failed calls are not charged. This is unusually strong behavioral context for a zero-parameter data tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core data product, then gives the important scope limitation, then the pricing model. Every sentence adds useful information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a zero-parameter tool with an output schema already defined, the description covers source, scope, return contents at a high level, pricing, and failure charging. An agent has enough information to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters, so parameter semantics are inherently limited and the baseline is 4. The description instead clarifies the returned data fields and extraction boundary, but there are no input parameters to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific data product (Drewry WCI composite spot rate per 40ft container) and specifies that it returns the weekly date and change. It also narrows scope by excluding route-level Shanghai-Rotterdam and Shanghai-Los Angeles values, though it does not explicitly contrast itself with named sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the scope statement: this is for the composite WCI rate, and route-level values are explicitly not extracted. However, there is no explicit guidance on when to choose this tool over related freight-rate or logistics tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_strait_malacca_transitsLogistics Strait Malacca TransitsARead-onlyInspect
Daily vessel transits through the Malacca Strait chokepoint, counted by ship type with capacity, from IMF PortWatch (ArcGIS, AIS-derived). Not VTS telemetry; transit counts only, and the latest date lags real time. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many most recent days, 1 to 30 (default 7) |
Output Schema
| Name | Required | Description |
|---|---|---|
| days | No | |
| source | No | |
| checkedAt | No | |
| chokepoint | No | |
| latestDate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: AIS-derived source, non-VTS nature, transit-count-only limitation, real-time lag in the latest date, and precise pricing with failed calls uncharged. These are exactly the operational and cost traits an agent needs before invoking it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose, then adds only high-value caveats and pricing. Two efficient sentences with no redundant restatement of the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given annotations, a complete one-parameter schema, and an output schema, the description covers source, limitations, latency, and cost. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'days' parameter, so the schema already documents its range and default. The description does not add further semantics about the parameter, which is acceptable but not enriching.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (daily vessel transits through the Malacca Strait chokepoint), count basis (by ship type with capacity), and source (IMF PortWatch, AIS-derived). The explicit 'Not VTS telemetry; transit counts only' also distinguishes it from vessel-level tracking tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly establishes the applicable context and explicitly excludes VTS telemetry and vessel-level use. It does not name a specific sibling alternative, so it falls short of a full when/when-not/alternatives statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_suez_canal_telemetryLogistics Suez Canal TelemetryARead-onlyInspect
Daily Suez Canal transit counts and dwell/idle times derived from AIS, from the Asian Development Bank dataset on HDX. The file in this source ends in April 2021, so the tool reports that end date; it has no live convoy queue. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many most recent days, 1 to 60 (default 7) |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | |
| source | No | |
| checkedAt | No | |
| dataEndsOn | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint/openWorldHint annotations by disclosing data staleness (April 2021 cutoff), absence of live queue data, and precise cost behavior ($0.002 USDC per successful call via x402 on Base/Solana/Arc, failed calls free). These are exactly the facts an agent needs before paying for a call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with what the tool returns, then the staleness caveat, then pricing. Every sentence carries distinct value; the payment sentence is long but conveys necessary cost detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description covers the remaining essentials: data source, temporal coverage limit, absence of live data, and payment terms. Nothing critical for a correct call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'days' parameter is fully documented with range and default in the schema. The description adds no extra meaning about the parameter, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (Suez Canal) and specific measures (daily transit counts, dwell/idle times) plus derivation method (AIS) and dataset provenance (ADB on HDX). The canal name alone disambiguates it from siblings such as logistics_panama_canal_transits or logistics_strait_malacca_transits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear when-not-to-use caveat: the source ends April 2021 and there is no live convoy queue, which steers agents away from expecting current traffic status. It does not name an alternative sibling (e.g., a live vessel tracker) for live-data needs, which keeps it below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_truck_loadboard_rateLogistics Truck Loadboard RateARead-onlyInspect
Weekly US refrigerated (reefer) truckload spot rates per lane from USDA AMS Market News via USDA AgTransport open data: origin shipping district, destination city (10 major US cities), miles, week low/high/midpoint USD per load, USD per mile and truck availability (1 surplus to 5 shortage). Produce lanes only; not DAT van/flatbed load-board data. Published weekly. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| week | No | Optional week-ending date YYYY-MM-DD (default latest) | |
| limit | No | Rows to return, 1 to 200 (default 50) | |
| origin | No | Optional text inside the origin district name, e.g. SALINAS | |
| region | No | Optional origin region: ARIZONA, CALIFORNIA, FLORIDA, GREAT LAKES, MEXICO-ARIZONA, MEXICO-TEXAS, MID-ATLANTIC, NEW YORK, PNW, SOUTHEAST | |
| destination | No | Optional destination city: ATLANTA, BALTIMORE, BOSTON, CHICAGO, DALLAS, LOS ANGELES, MIAMI, NEW YORK, PHILADELPHIA, SEATTLE |
Output Schema
| Name | Required | Description |
|---|---|---|
| lanes | No | |
| source | No | |
| checkedAt | No | |
| lanesFound | No | |
| weekEnding | No | |
| availabilityScale | No | |
| averageUsdPerMile | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly/openWorld, but the description adds material behavior the agent cannot infer: paid per-call pricing ($0.002 USDC via x402 on Base/Solana/Arc), the fact that failed calls are not charged, and the weekly publication cadence. Cost-per-call and billing-on-failure are exactly the operational facts an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph, front-loaded with source, subject, and coverage limits, then cadence, then cost. Every clause carries distinct information — scope, exclusion, granularity, price — with no filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be re-explained, and the description still covers provenance, coverage boundaries, update frequency, and billing behavior. Defaults for week and limit are documented in the schema. Nothing needed to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds meaning the schema lacks: destination is limited to '10 major US cities' and truck availability is a 1–5 surplus-to-shortage scale, clarifying what the returned values represent relative to the filters. It does not add syntax or defaults beyond the schema, so it sits above baseline but not at the top.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource with scope: 'Weekly US refrigerated (reefer) truckload spot rates per lane' from USDA AMS/AgTransport. It names the exact fields returned and explicitly excludes adjacent datasets ('not DAT van/flatbed load-board data', 'produce lanes only'), which lets an agent separate it from siblings like dry_van_capacity or spot_freight_rates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage context: weekly cadence, produce lanes only, and an explicit exclusion of DAT van/flatbed load-board data. It stops short of naming which sibling tool to use instead for van/flatbed or non-US rates, so the routing guidance is implicit rather than complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_uk_trade_tariffLogistics Uk Trade TariffARead-onlyInspect
UK Global Tariff commodity lookup by 10-digit commodity code from the official UK Trade Tariff API: description, chapter, validity dates, declarable flag and basic duty rate (null when the API leaves it empty). Full duty measures per trading partner are not expanded. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | 10-digit UK commodity code, e.g. 0901110000 (must be an existing leaf code) |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | No | |
| source | No | |
| chapter | No | |
| validTo | No | |
| checkedAt | No | |
| validFrom | No | |
| declarable | No | |
| description | No | |
| basicDutyRate | No | |
| descriptionPlain | No | |
| bindingRulingGuidance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint, so the description carries and delivers real behavioral value: it discloses return contents (description, chapter, validity dates, declarable flag, basic duty rate), the null-when-empty edge case, the coverage limitation on duty measures, and – critically – the paid-call model ($0.002 USDC via x402 on Base/Solana/Arc, failed calls not charged). That payment and failure-charging detail is exactly the kind of pre-invocation context an agent needs and cannot get from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and return contents are front-loaded, followed by the coverage caveat, with pricing tucked into the final sentence – a logical order. It is dense but every clause carries information; slight density in the return-field enumeration keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not document full return structures, yet it still summarizes the key fields, flags the null duty-rate case and the unexpanded per-partner measures, and explains billing. For a single-parameter read-only lookup, nothing an agent needs to call it correctly or anticipate cost is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already supplies the 10-digit format with an example (0901110000) and the 'existing leaf code' constraint. The description's '10-digit commodity code' restates rather than extends that, so per the coverage rule the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+scope: 'UK Global Tariff commodity lookup by 10-digit commodity code from the official UK Trade Tariff API'. An agent can immediately distinguish this from siblings like logistics_eu_taric_consultation, logistics_china_customs_tariffs, or logistics_world_customs_tariff_wits by the UK-specific jurisdiction and the 10-digit leaf-code requirement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operative context – 10-digit leaf code required, and explicitly warns 'Full duty measures per trading partner are not expanded', which tells the agent when this tool is not sufficient. However, it does not name the alternative siblings (e.g. logistics_customs_duty_calc, logistics_hs_code_classifier) that should be used instead for per-partner duty measures or code classification, leaving that inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_un_dangerous_goodsLogistics Un Dangerous GoodsARead-onlyInspect
US hazardous materials table (49 CFR 172.101, eCFR): UN number, proper shipping name, hazard class, packing group, labels, special provisions, for a UN number (e.g. 1203) or a name fragment (e.g. gasoline). It is the US DOT table, which follows the UN Model Regulations but is not the UN list itself. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | 4-digit UN number (1203) or a name fragment of 3 to 60 characters |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| query | No | |
| source | No | |
| matches | No | |
| checkedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld annotations by disclosing the paid model: $0.002 USDC per successful call via x402 on Base, Solana or Arc, with failed calls not charged — exactly the kind of cost/auth context annotations cannot convey. It also flags the jurisdictional limitation. It does not mention rate limits, table edition/currency, or result-set size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the resource and its scope, then the disambiguation, then cost. The cost sentence is long but each clause (price, currency, rails, failure policy) carries distinct information. Only the field enumeration slightly duplicates what the output schema likely covers.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value documentation is not required, and the payment mechanics — the main non-obvious risk for an autonomous caller — are fully covered. Remaining gap is minor: no mention of table version/recency or how partial name matches are resolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single param already documents both accepted forms and the 3–60 character bound. The description's "(e.g. 1203)" and "(e.g. gasoline)" merely restate the schema examples, adding no syntax or edge-case guidance (e.g. leading zeros, partial UN numbers). Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (US hazardous materials table, 49 CFR 172.101) and enumerates the returned fields: UN number, proper shipping name, hazard class, packing group, labels, special provisions. It also draws an explicit boundary against the UN Model Regulations list, so an agent can distinguish this from a generic UN-list or placard tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete input forms for both accepted query styles ("1203" for a UN number, "gasoline" for a name fragment), which tells the agent how to invoke it. It scopes the tool as US DOT rather than the international UN list, but never names a sibling alternative or states a when-not-to-use condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_us_cbp_cross_rulingsLogistics Us Cbp Cross RulingsARead-onlyInspect
Searches US CBP binding customs rulings (CROSS database) by keyword and returns ruling number, subject, date, classified tariff number, category and whether it was modified or revoked. Results are the first page of the CBP search (up to 20); it is not a legal opinion. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | Keyword(s), 3 to 80 characters | |
| limit | No | 1 to 20, default 5 |
Output Schema
| Name | Required | Description |
|---|---|---|
| term | No | |
| source | No | |
| rulings | No | |
| checkedAt | No | |
| totalHits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and openWorldHint, and the description meaningfully adds traits those do not cover: per-call pricing ($0.002 USDC via x402 on Base/Solana/Arc), that failed calls are free, and that results are only the first page (up to 20) and not a legal opinion. Those cost, auth and result-depth constraints are exactly the kind of disclosure an invoking agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, then scope boundaries (first page, not a legal opinion), then cost model. Nothing is repeated from the schema and no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only search with an output schema, the description covers everything an agent needs: what is searched, what comes back, how many results, the legal-status caveat, and the payment mechanism with its failure policy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with 'term' (3-80 chars) and 'limit' (1-20, default 5) fully documented. The description only restates 'by keyword' and corroborates the 20-result ceiling for limit; it adds no syntax, matching behavior or defaulting 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Searches US CBP binding customs rulings (CROSS database) by keyword') and enumerates exactly what is returned (ruling number, subject, date, tariff number, category, modification/revocation status). It does not explicitly distinguish itself from near neighbors such as logistics_hs_code_classifier or logistics_eu_taric_consultation, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is only implied by the data source: an agent can infer this is for looking up existing CBP rulings. There is no explicit when-to-use guidance, no statement of when to prefer hs_code_classifier or the EU/UK tariff tools, and no prerequisites beyond payment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_usda_ag_export_salesLogistics Usda Ag Export SalesARead-onlyInspect
USDA weekly export sales report (FAS ESR) for a US farm commodity — corn, soybeans, wheat classes, sorghum, cotton, rice, soybean meal/oil, beef, pork and more: for one week of the marketing year, US totals and every destination's weekly exports, net new sales, outstanding sales, accumulated exports and total commitments, plus next-year sales; top buyers first. Units as reported (metric tons, running bales…). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| week | No | Week ending date YYYY-MM-DD (a Thursday). Default: the latest released week | |
| limit | No | Max destination rows, 1-200 (default 20) | |
| country | No | Optional destination filter, e.g. Mexico, Japan | |
| commodity | Yes | Commodity name or ESR code, e.g. corn, soybeans, all wheat, sorghum, all upland cotton, pork, 401 | |
| marketYear | No | Marketing year as USDA numbers it (e.g. 2027 for corn Sep 2026-Aug 2027). Default: the current one |
Output Schema
| Name | Required | Description |
|---|---|---|
| unit | No | |
| count | No | |
| source | No | |
| released | No | |
| usTotals | No | |
| checkedAt | No | |
| commodity | No | |
| marketYear | No | |
| weekEnding | No | |
| destinations | No | |
| commodityCode | No | |
| marketYearEnd | No | |
| weeksAvailable | No | |
| marketYearStart | No | |
| destinationsReporting | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint, so the description adds real value: the x402 payment model ($0.002 USDC per successful call, Base/Solana/Arc, failed calls free), unit conventions ('as reported (metric tons, running bales…)') and output ordering ('top buyers first'). It stops short of stating auth setup or rate limits, but covers the costly-call behavior an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The payload (commodity scope, data fields, ordering, units, pricing) is front-loaded into one dense but well-ordered passage. It is long for a single sentence-chain, but nearly every clause carries decision-relevant information, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full schema coverage, the description needn't restate return values; it still usefully explains units, ordering and the paid-call model. The only meaningful gap is that no alternative USDA report tool is referenced, leaving comparison to the sibling list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all five parameters including commodity codes, week format and limit bounds. The description adds only indirect hints ('next-year sales' gestures at marketYear, 'top buyers first' at limit ordering) rather than explicit parameter semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'USDA weekly export sales report (FAS ESR)' and enumerates the data set (weekly exports, net new sales, outstanding sales, accumulated exports, commitments). An agent can tell it apart from energy_usda_wasde_crop_reports by content, but the description never names that sibling explicitly, so 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope ('for one week of the marketing year', 'US totals and every destination') implies when the tool applies, and the schema carries defaults for week/marketYear. However, there is no explicit when-to-use vs when-not guidance and no named alternative such as the WASDE crop report tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_us_de_minimis_section321Logistics Us De Minimis Section321ARead-onlyInspect
US de minimis (Section 321) check: the $800 per person per day limit (plus $100 gift and $200 traveller limits), whether duty-free de minimis is currently suspended according to the newest Federal Register documents, and whether a shipment value can enter duty-free today. Lists the latest CBP rules and presidential documents on de minimis with dates, numbers and links. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| valueUsd | No | Optional shipment fair retail value in USD, to check against the $800 limit |
Output Schema
| Name | Required | Description |
|---|---|---|
| check | No | |
| limits | No | |
| source | No | |
| statute | No | |
| checkedAt | No | |
| suspended | No | |
| statusBasis | No | |
| latestCbpDocuments | No | |
| latestPresidentialDocuments | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=true. The description adds important behavioral context beyond annotations: pricing ($0.002 USDC per successful call), payment via x402, and that failed calls are not charged. It also indicates the tool returns dated CBP rules and presidential documents with links.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core check and limits, followed by output contents and pricing. Every sentence earns its place: one covers the checks, one covers returned documents, and one covers payment terms.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be fully explained. The description covers purpose, key limits, suspension status, output document types, and payment behavior, making it complete enough for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single optional valueUsd parameter, and the schema already explains it is the shipment fair retail value to check against the $800 limit. The description reinforces the $800 check but does not add format, edge-case, or validation guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific resource and check: US de minimis (Section 321), including the $800/$100/$200 limits, suspension status, and duty-free eligibility. It does not explicitly name or differentiate itself from sibling customs tools such as logistics_customs_duty_calc, so it falls short of the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear contextual triggers: checking a shipment value against the $800 limit, determining whether de minimis is currently suspended, and whether a shipment can enter duty-free today. It does not explicitly say when not to use the tool or name alternative siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_vessel_trackerLogistics Vessel TrackerARead-onlyInspect
Live AIS position, speed, heading and voyage status (destination, ETA, draught) for one vessel by 9-digit MMSI, from Finland's Digitraffic AIS feed. Covers Finnish and Baltic waters only, not global coverage; vessels outside that area return no position. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| mmsi | Yes | 9-digit MMSI of the vessel, e.g. 230940690 |
Output Schema
| Name | Required | Description |
|---|---|---|
| mmsi | No | |
| name | No | |
| source | No | |
| voyage | No | |
| callSign | No | |
| position | No | |
| shipType | No | |
| checkedAt | No | |
| dataUpdatedAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, but the description adds substantial behavioral context beyond them: the paid x402 pricing model, accepted payment chains, and the fact that failed calls are not charged. It also discloses the geographic limitation that causes empty results, which is valuable operational context not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with zero waste. The core capability and scope are front-loaded, followed by the critical coverage limitation and pricing, all in a compact structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The description covers what the tool returns (position, speed, heading, voyage status), the data source, coverage limits, and payment behavior—everything an agent needs to decide and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single parameter already documents the 9-digit MMSI format with an example. The description reinforces '9-digit MMSI' but adds no meaningful syntax or semantic detail beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: live AIS position, speed, heading and voyage status for one vessel by MMSI, and names the data source (Finland's Digitraffic AIS feed). This clearly distinguishes it from sibling tools like logistics_imo_vessel_dossier or logistics_dark_fleet_ais_gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the coverage boundary: 'Covers Finnish and Baltic waters only, not global coverage; vessels outside that area return no position.' This gives a clear when-not condition, though it does not name specific alternative sibling tools for global AIS coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logistics_veterinary_border_controlLogistics Veterinary Border ControlARead-onlyInspect
Official list of UK border control posts (BCPs) for live animals, products of animal origin and high-risk food and feed of non-animal origin, from GOV.UK (Defra/APHA): BCP code, port or airport, approved categories (POA, PNAO, live animals, with HC/NHC and temperature specs), extra scope limits, address, inspection centre, email, phone and opening times. UK only (GB and Northern Ireland), not the EU list. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Optional BCP code, e.g. GBFXT1 | |
| name | No | Optional text in the BCP name, e.g. Felixstowe | |
| type | No | ports, airports or all (default all) | |
| limit | No | Rows to return, 1 to 100 (default 50) | |
| category | No | Optional category prefix, e.g. POA-HC, PNAO-NHC, LA-U |
Output Schema
| Name | Required | Description |
|---|---|---|
| bcps | No | |
| note | No | |
| count | No | |
| source | No | |
| checkedAt | No | |
| listUpdated | No | |
| totalListed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and open-world behavior, and the description adds genuinely new operational context: the x402 payment requirement, cost per successful call, and that failed calls are not charged. That payment/auth disclosure is the critical behavioral fact here, though it says nothing about rate limits or response shape (output schema handles the latter).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core resource and scope, followed by a compact field list and the pricing caveat. Slightly dense and the field enumeration partly duplicates the output schema, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup with full schema coverage and an output schema, the description supplies everything an agent needs: data source, geographic scope, exclusions, filterable categories, and the payment model. Nothing material is missing before invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented with examples. The description adds only indirect meaning by explaining what the category prefixes (POA/PNAO/live animals, HC/NHC, temperature specs) represent; it doesn't clarify the type/limit/code/name filters beyond what the schema states. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (UK border control posts for live animals, POAO and high-risk food/feed) and enumerates the returned fields, so an agent knows exactly what it retrieves. The 'UK only (GB and Northern Ireland), not the EU list' clause cleanly separates it from sibling customs/tariff tools such as logistics_uk_trade_tariff or logistics_phytosanitary_cert_req.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear applicability context ('UK only, not the EU list') and states the data source (GOV.UK/Defra/APHA). It does not explicitly name a sibling alternative or say when a different tool should be preferred, so it stops short of full routing guidance.
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 tool update
- Removed
energy_opec_monthly_oil_market
113 tool updates
- First observed
energy_adb_procurement_notices - First observed
energy_american_carbon_registry - First observed
energy_ammonia_fertilizer_spot - First observed
energy_battery_energy_storage_bess - First observed
energy_biofuel_rin_credits_epa - First observed
energy_bis_effective_exchange_rate - First observed
energy_caiso_california_iso - First observed
energy_climate_action_reserve - First observed
energy_cme_agri_spot_futures - First observed
energy_crude_oil_brent_wti - First observed
energy_drought_monitor_us_crop - First observed
energy_eia_weekly_petroleum - First observed
energy_entsoe_transparency_eu - First observed
energy_epa_echo_enforcement - First observed
energy_epa_flight_emissions - First observed
energy_epex_spot_power_europe - First observed
energy_ercot_texas_grid_status - First observed
energy_eu_csrd_taxonomy_aligned - First observed
energy_ev_charging_station_ocpi - First observed
energy_fao_food_price_index - First observed
energy_global_solar_atlas_pv - First observed
energy_global_wind_atlas_data - First observed
energy_gold_standard_credits - First observed
energy_hydrogen_spot_production - First observed
energy_ice_coffee_sugar_cocoa - First observed
energy_iea_energy_statistics_api - First observed
energy_inter_american_dev_bank - First observed
energy_irena_renewable_cost_db - First observed
energy_iron_ore_62_percent_fe - First observed
energy_lme_metal_cash_settled - First observed
energy_miso_midcontinent_iso - First observed
energy_natural_gas_henry_hub - First observed
energy_nickel_class1_cash_settle - First observed
energy_noaa_enso_elnino_la_nina - First observed
energy_nord_pool_power_elspot - First observed
energy_nrel_atb_cost_benchmarks - First observed
energy_nuclear_reactor_status_pris - First observed
energy_nyiso_new_york_grid - First observed
energy_opec_monthly_oil_market - First observed
energy_precious_metals_spot_fix - First observed
energy_pulp_paper_risi_index - First observed
energy_pvwatts_solar_simulator - First observed
energy_rggi_carbon_allowance - First observed
energy_sdr_special_drawing_rights - First observed
energy_sec_esg_climate_filings - First observed
energy_steel_rebar_hrc_futures - First observed
energy_thermal_coal_newcastle - First observed
energy_timber_lumber_random_length - First observed
energy_ttf_european_gas - First observed
energy_uranium_u3o8_yellowcake - First observed
energy_us_electric_grid_monitor - First observed
energy_usda_wasde_crop_reports - First observed
energy_verra_vcs_registry - First observed
energy_water_stress_wri_aqueduct - First observed
energy_world_bank_procurement - First observed
energy_world_customs_tariff_wits - First observed
logistics_air_cargo_uld_specs - First observed
logistics_air_waybill_awb - First observed
logistics_airport_iata_icao - First observed
logistics_airspace_notam_feed - First observed
logistics_alaska_marine_highway - First observed
logistics_carnet_ata_status - First observed
logistics_cbp_ace_system_status - First observed
logistics_china_customs_tariffs - First observed
logistics_co2_freight_emission - First observed
logistics_container_tracking - First observed
logistics_cross_border_ecom_vat - First observed
logistics_customs_broker_verify - First observed
logistics_customs_cbp_manifest - First observed
logistics_customs_duty_calc - First observed
logistics_dardanelles_bosphorus - First observed
logistics_dark_fleet_ais_gap - First observed
logistics_deadweight_tonnage_calc - First observed
logistics_demurrage_detention - First observed
logistics_dry_port_inland_depot - First observed
logistics_dry_van_capacity - First observed
logistics_eu_taric_consultation - First observed
logistics_export_license_ear99 - First observed
logistics_freight_forwarder_dir - First observed
logistics_ftz_foreign_trade_zone - First observed
logistics_fuel_bunker_prices - First observed
logistics_hazardous_placard_id - First observed
logistics_hs_code_classifier - First observed
logistics_imo_vessel_dossier - First observed
logistics_incoterms_compliance - First observed
logistics_japan_customs_tariff - First observed
logistics_jet_a1_fuel_index - First observed
logistics_last_mile_courier - First observed
logistics_lithium_battery_rules - First observed
logistics_maritime_labor_mlc - First observed
logistics_maritime_piracy_alert - First observed
logistics_mississippi_barge_rates - First observed
logistics_panama_canal_transits - First observed
logistics_phytosanitary_cert_req - First observed
logistics_port_call_schedule - First observed
logistics_port_congestion_index - First observed
logistics_postal_upn_tracking - First observed
logistics_psc_inspection_records - First observed
logistics_rail_freight_corridor - First observed
logistics_rhine_river_water_levels - First observed
logistics_sanctioned_vessel_check - First observed
logistics_seaport_unlocode - First observed
logistics_spot_freight_rates - First observed
logistics_strait_malacca_transits - First observed
logistics_suez_canal_telemetry - First observed
logistics_truck_loadboard_rate - First observed
logistics_uk_trade_tariff - First observed
logistics_un_dangerous_goods - First observed
logistics_us_cbp_cross_rulings - First observed
logistics_us_de_minimis_section321 - First observed
logistics_usda_ag_export_sales - First observed
logistics_vessel_tracker - First observed
logistics_veterinary_border_control
Related MCP Connectors
112 pay-per-call agent tools: e-commerce, product, price and social media data tools. x402
119 pay-per-call agent tools: company registry, government, legal and B2B data tools. x402
129 pay-per-call agent tools: security, threat intelligence, web search and SEO data tools. x402
121 pay-per-call agent tools: health care, drug, provider and travel data tools. x402
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to run pay-per-call checks on US freight carriers and brokers, OFAC sanctions lists, and African FX rates using x402 micropayments or a prepaid pass without an API key.344 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides container shipping intelligence for AI agents, enabling demurrage & detention calculations, local charges, inland haulage rates, and CFS tariffs across multiple shipping lines, with pay-per-request USDC payments via x402.-
- FlicenseNot gradedqualityCmaintenance100+ agent-payable C-suite expertises with x402 micro-payments — competitive intel, SEC filings, sanctions, KYC, clinical evidence, real estate, ESG. 183 tools, free tier 100 calls/month.1-
- FlicenseNot gradedqualityBmaintenancePay-per-call agent tools (web reader, page extract, email/domain/site/wallet/token checks, screenshot, PDF) via x402 USDC micropayments, with 3 free trial calls per wallet.-
Glama MCP Gateway
Add one secure layer between your agents and this server.