Skip to main content
Glama

Server Details

225 pay-per-call agent tools: Polymarket, chain reads, DeFi, web, SEC, KYB, geo, dev, AI. x402

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 23 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Server Listing
SiteCheck

TDQS

B3.4/5.0

Scored across 225 tools

Disambiguation3/5

The set contains numerous overlapping pairs and clusters: hn vs hn_search, github_search vs github_issues, crypto_price vs crypto_convert, ssl vs certs, and pm_* vs prediction_polymarket/markets. The detailed descriptions help, but with 225 tools an agent can still misselect among similar lookup/search tools.

Naming Consistency3/5

All names use snake_case, but the conventions are mixed: some are verb_noun (address_parse, code_explain), many are bare nouns (weather, wiki, flights), and others use category prefixes (evm_, solana_, pm_, sec_, text_). The pattern is readable but not predictable.

Tool Count1/5

225 tools is far beyond a reasonable surface for one server, exceeding the 50-tool extreme-mismatch threshold. The discovery and selection burden is enormous, and the server behaves more like a general API marketplace than a coherent tool set.

Completeness3/5

Coverage is broad across many domains, but it is uneven and lacks lifecycle completeness within most domains; many tools are read-only lookups with no create/update/delete counterpart. There is no single coherent domain to make the surface feel complete, and obvious gaps remain for common operations such as generic web search or market quotes.

Available Tools

225 tools
address_parseAddress ParseA
Read-only
Inspect

Splits a free-text postal address into house number, street, unit, postcode, city, district, region and country, with a normalised one-line form. The postcode is checked against the rule of the country (for 18 countries); a mismatch is left out and says so. Workers AI does the split, so check the parts. geocode=1 adds coordinates from OpenStreetMap Nominatim. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
addressYesThe address as free text, up to 500 characters
countryNoISO2 code of the country when you know it, e.g. DE (optional, improves the postcode check)
geocodeNo1 to add coordinates from OpenStreetMap, default 0

Output Schema

NameRequiredDescription
modelNo
partsNo
sourceNo
geocodeNo
checkedAtNo
normalisedNo
postcodeNoteNo
postcodeRuleCheckedNo

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses that Workers AI performs the split (implying non-determinism, with the explicit warning 'check the parts'), that postcodes are validated against 18 country rule sets and a mismatch is dropped and reported, that geocoding comes from OpenStreetMap Nominatim, and that pricing is $0.002 USDC per successful call via x402 with failed calls uncharged.

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

Conciseness4/5

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

Purpose and output fields are front-loaded, followed by the validation caveat, the reliability warning, and pricing. Every sentence carries information, though the density (four packed clauses covering parsing, validation, geocoding, and payment) makes it slightly heavy for a single paragraph.

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

Completeness5/5

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

With an output schema present, return format need not be explained, and the description still covers the failure mode (postcode mismatch omitted and reported), the reliability caveat, the geocoding side effect, and the x402 payment terms. 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.

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description largely restates the schema (geocode pulls OSM coordinates, country improves the postcode check) and adds only the incidental detail that 18 countries are covered and that the geocode source is Nominatim.

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

Purpose5/5

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

States a specific verb ('splits') and resource ('free-text postal address') and enumerates the exact output components (house number, street, unit, postcode, city, district, region, country plus a normalised one-line form). This clearly separates it from the geocode, us_geocode, and postcode siblings.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: 'geocode=1 adds coordinates' lets an agent infer it can substitute for the geocode tool, and 'country ... improves the postcode check' hints at when to supply the optional field. But there is no explicit when-to-use/when-not statement or direct comparison with the geocode, postcode, or us_geocode siblings.

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

ai_crawlersAi CrawlersA
Read-only
Inspect

For eleven AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended and others): allowed or blocked for the page's path under robots.txt, plus the noai and noimageai opt-outs in meta and X-Robots-Tag, and whether llms.txt exists. Reads the page as static HTML; no JavaScript runs. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesPage address, https://…

Output Schema

NameRequiredDescription
urlNo
pathNo
optOutNo
sourceNo
llmsTxtNo
crawlersNo
checkedAtNo
robotsTxtNo

TDQS

A4/5.0
Behavior5/5

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

Annotations only cover readOnlyHint and openWorldHint, and the description adds substantial behavior beyond them: a $0.002 USDC per-call price, x402 payment rails (Base, Solana, Arc), the fact that failed calls are not charged, and the no-JavaScript execution model. Pricing and billing semantics are exactly the kind of information 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.

Conciseness4/5

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

A single dense but well-ordered passage: coverage first, then the execution caveat, then the price. Every clause carries information, though the parenthetical crawler list and payment-rail enumeration make it heavy for one sentence.

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

Completeness5/5

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

An output schema exists, so return values need no explanation; the description still tells the agent the scope (eleven crawlers, with examples), the three data sources checked, the rendering limitation, and the 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.

Parameters3/5

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

One parameter with 100% schema description coverage ('Page address, https://…'), so the schema already carries the full parameter semantics. The description adds nothing about the url beyond confirming the page is fetched as static HTML; baseline 3 is appropriate.

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

Purpose4/5

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

Names the specific resource (eleven named AI crawlers) and the exact outputs: robots.txt allow/block status, noai/noimageai meta and X-Robots-Tag opt-outs, and llms.txt existence. That is far more specific than a tautology, but it never distinguishes itself from overlapping siblings such as robots, llms_txt, meta, or headers, which an agent must disambiguate against.

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

Usage Guidelines3/5

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

Usage is only implied: the 'static HTML; no JavaScript runs' caveat tells the agent this fails on JS-rendered pages, which is useful context. However, no when-to-use, when-not-to-use, or named alternative is given, despite several close siblings (robots, llms_txt, meta, headers) that could be confused with it.

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

airportsAirportsA
Read-only
Inspect

Airport lookup in a bundled OurAirports extract (public domain, dated in the answer): by IATA or ICAO code, by name or city words, or the nearest airports within a radius (up to 300 km) of a point. Covers large and medium airports and every airport with an IATA code; small airports without one are left out. Name, codes, type, city, country, coordinates, elevation and Wikipedia link. No time zone (not in the source). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoName or city words, 3 to 60 characters (one of code, q or lat and lon)
latNoLatitude for the nearest search (with lon)
lonNoLongitude for the nearest search (with lat)
codeNoIATA (3 letters) or ICAO (4 letters) code (one of code, q or lat and lon)
limitNoAirports to return, 1 to 20, default 10
radiusKmNoSearch radius for the nearest search, 1 to 300, default 300

Output Schema

NameRequiredDescription
countNo
queryNo
sourceNo
airportsNo
dataDateNo
checkedAtNo

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already state readOnly and openWorld, but the description adds substantial non-annotation behavior: $0.002 USDC per successful call via x402, failed calls uncharged, coverage limited to large/medium and IATA-coded airports, and explicitly no time zone. These are decision-relevant constraints beyond 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.

Conciseness5/5

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

The description is packed into a few front-loaded clauses: resource, lookup modes, coverage caveats, returned fields, and pricing. Every sentence carries useful information without filler.

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

Completeness5/5

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

Given an output schema, readOnly/openWorld annotations, and full schema descriptions, the description supplies the remaining decision-critical facts: source, coverage exclusions, missing time zone, and x402 pricing. 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.

Parameters3/5

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

Schema coverage is 100% and documents all six parameters including code, q, lat/lon, limit, and radiusKm. The description only echoes that q is name/city words and radius is up to 300 km, both already in the schema; baseline 3 applies.

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

Purpose5/5

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

States a specific verb ('Airport lookup') and resource ('OurAirports extract'), enumerates the three lookup modes, and names returned fields. The airport-specific scope naturally distinguishes it from general geocoding/places siblings.

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

Usage Guidelines3/5

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

It clearly explains the supported query modes (code, name/city words, nearest within radius) and coverage limits, but never names alternatives such as geocode, places, or flights. The agent must infer when to choose this tool over those siblings.

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

arxivArxivA
Read-only
Inspect

arXiv papers matching search terms, optionally in one category (cs.AI, math.CO), newest first, max 25: id, title, authors, dates, a 500-character summary, categories and the PDF link. Attribution: Thank you to arXiv for use of its open access interoperability. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qYesSearch terms
limitNo1 to 25 (default 5)
categoryNoarXiv category, e.g. cs.AI

Output Schema

NameRequiredDescription
countNo
queryNo
papersNo
sourceNo
categoryNo
checkedAtNo
attributionNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations only mark this read-only and open-world; the description goes well beyond them by disclosing sort order (newest first), the 25-result ceiling, summary truncation at 500 characters, and a cost/payment model ($0.002 USDC via x402, failed calls free). The per-call price is critical behavioral context 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.

Conciseness4/5

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

One dense but front-loaded sentence covers scope, ordering, limits and returned fields; the attribution and pricing lines are separated and each carries actionable information. No filler, though the single sentence packs a lot of clauses.

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

Completeness4/5

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

With an output schema present, the description need not detail return structure, yet it still names the key fields returned. For a read-only, three-parameter search tool, the only real gap is failure-mode behavior and the meaning of the limit string type.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents q, limit and category with a default value. The description adds only a bit of meaning (one category, newest-first ordering, max 25) and does not explain the discrepancy in emphasis between 'max 25' and the schema's stated default of 5.

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

Purpose4/5

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

Opens with a specific verb-resource pair ('arXiv papers matching search terms') and scopes it (single optional category, newest first, max 25). It is clearly an arXiv search tool, though it never distinguishes itself from sibling academic search tools like pubmed or research_papers.

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

Usage Guidelines3/5

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

The phrase 'optionally in one category' and 'max 25' imply the usage pattern, but there is no explicit statement of when to pick this over pubmed/research_papers, nor any prerequisites or exclusions.

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

auditAuditA
Read-only
Inspect

Website audit in one call: WCAG 2.2 accessibility issues (European Accessibility Act) with fixes and a score, SEO basics, security headers and tech stack. Price: $0.02 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesWebsite URL or domain, e.g. example.com

Output Schema

NameRequiredDescription
seoNo
urlNo
techNo
securityNo
accessibilityNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=true, openWorldHint=true), so the bar is lower, yet the description adds genuinely new behavioral context: a $0.02 USDC cost per call, the x402 payment rails (Base, Solana, Arc), and that failed calls are not charged. It omits return format, but an output schema exists to carry that.

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

Conciseness4/5

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

A single dense but front-loaded sentence: capability first, then the enumerated coverage, then pricing. Every clause earns its place with no filler, though the sentence is long enough to be slightly effortful to scan.

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

Completeness4/5

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

For a one-param tool with a rich output schema, the description covers purpose, delivered dimensions, and the notable commercial constraint. It lacks prerequisite or eligibility guidance, but return values need not be explained given the output schema.

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

Parameters3/5

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

Schema description coverage is 100% and the single 'url' parameter is already documented in the schema ('Website URL or domain, e.g. example.com'). The description adds no syntax, format, or constraint detail beyond that, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource ('Website audit in one call') and enumerates the covered domains: WCAG 2.2 accessibility, SEO basics, security headers, and tech stack. This lets an agent see it bundles multiple concerns, but it never names the overlapping siblings (headers, tech, meta, pagespeed) it consolidates, so differentiation is implicit rather than explicit.

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

Usage Guidelines3/5

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

The phrase 'in one call' implies the usage context: reach for this instead of making several single-purpose calls. However, there is no explicit when-to-use/when-not guidance and no named alternatives among the many overlapping siblings, leaving the agent to infer selection.

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

booksBooksA
Read-only
Inspect

Book lookup by ISBN (checked before the call) or by title and/or author: title, subtitle, authors, publishers, first publish year, median page count, ISBN-10 and ISBN-13 of the matching edition, languages, subjects, cover image URL, and the Open Library work and Wikidata ids. Data from Open Library (CC0). A title with no match is a 404, not charged. Up to 20 results. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
isbnNoISBN-10 or ISBN-13 with or without hyphens (optional)
limitNoResults, 1 to 20, default 5
titleNoTitle words, up to 200 characters (optional)
authorNoAuthor name, up to 200 characters (optional)

Output Schema

NameRequiredDescription
booksNo
countNo
queryNo
sourceNo
editionNo
checkedAtNo

TDQS

A4.4/5.0
Behavior5/5

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

Beyond readOnlyHint/openWorldHint, it discloses the commercial model ($0.002 USDC via x402 on Base/Solana/Arc), that failed calls are not charged, that a missing title is a 404 rather than a billable miss, the 20-result cap, and the CC0 Open Library provenance. These are concrete operational traits an agent cannot get from annotations.

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

Conciseness4/5

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

Purpose and lookup modes are front-loaded, and the closing sentences carry pricing and error semantics efficiently. The long enumeration of returned fields is somewhat redundant given an output schema exists, which costs a little economy.

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

Completeness5/5

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

With annotations covering safety, an output schema covering return shape, and a fully described schema, the description still supplies the missing pieces: payment mechanism, billing on failure, 404 semantics, and result caps. Nothing an agent needs before calling is absent.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents isbn, limit, title and author. The description adds only that ISBN is validated before the call and that results cap at 20, which maps to the limit parameter but adds no new format or interaction rules.

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

Purpose5/5

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

States a specific verb and resource ('Book lookup by ISBN ... or by title and/or author') and names the exact retrieval modes. It is clearly distinguishable from sibling bibliographic tools such as doi, arxiv, wiki, and wikidata.

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

Usage Guidelines4/5

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

Gives clear selection context: use ISBN when already known, otherwise title and/or author, and warns that a non-matching title returns 404. It does not name an alternative sibling for cases where a different lookup source is better, 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.

btc_addressBtc AddressA
Read-only
Inspect

A Bitcoin mainnet address: confirmed and unconfirmed balance in BTC and USD, transaction count, funded and spent totals, and its last 10 transactions with the net change for the address. Mainnet bech32 and legacy addresses only. Source: mempool.space. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
addressYesBitcoin mainnet address (bc1…, 1… or 3…)

Output Schema

NameRequiredDescription
btcUsdNo
sourceNo
totalsNo
addressNo
balanceNo
checkedAtNo
disclaimerNo
recentTransactionsNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only cover readOnly/openWorld, but the description adds substantial behavioral context: the data source (mempool.space), the fact that unconfirmed balance is included, and a precise pricing model ($0.002 USDC per successful call via x402; failed calls are free). The cost and charging semantics are exactly the kind of non-obvious 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.

Conciseness4/5

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

The core content is densely front-loaded in one sentence that leads with what the tool returns. The trailing 'Information only, not financial advice' is mild boilerplate, and the return-field list overlaps with the output schema, but overall it is efficient and well-ordered.

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

Completeness5/5

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

For a single-parameter lookup with an existing output schema and rich annotations, the description leaves nothing essential out: source, scope, return contents, and payment terms are all covered. An agent has everything needed to decide to call it and to predict the outcome.

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

Parameters3/5

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

With a single required parameter and 100% schema description coverage, the schema already documents the address field. The description's 'bech32 and legacy only' note slightly reinforces the accepted formats but adds no new syntax, validation, or format 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.

Purpose5/5

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

The description names a specific resource (a Bitcoin mainnet address) and enumerates exactly what is returned: confirmed/unconfirmed balance in BTC and USD, transaction count, funded/spent totals, and last 10 transactions. It is clearly distinguishable from siblings like evm_address, solana_account, btc_tx, or address_parse, since it pins the chain and the entity.

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

Usage Guidelines4/5

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

It states a clear scope constraint — 'Mainnet bech32 and legacy addresses only' — which effectively tells the agent when this tool will and will not work, and the address format hint narrows selection further. It stops short of naming alternative siblings (e.g., btc_tx for raw transactions), so it's strong context without explicit routing.

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

btc_feesBtc FeesA
Read-only
Inspect

Recommended Bitcoin fees in sat/vB (fastest, 30 minutes, 1 hour, economy, minimum), the mempool's size and count, and what a typical 140 vB transaction costs in BTC and USD. Source: mempool.space; USD from Coinbase spot. Cached 30 seconds. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
btcUsdNo
sourceNo
mempoolNo
checkedAtNo
disclaimerNo
feesSatPerVbyteNo
typicalTransactionNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: names upstream data sources (mempool.space, Coinbase spot for USD), discloses a 30-second cache TTL that bounds data freshness, and states the exact paid-call model ($0.002 USDC via x402, failed calls not charged). These are precisely 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.

Conciseness4/5

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

Front-loaded with the returned data and organized logically (outputs, then sources, then caching, then pricing). The payment/legal sentence is long and slightly boilerplate-heavy, but each clause still carries distinct information.

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

Completeness5/5

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

With no parameters and an output schema already available, the description fills exactly the remaining gaps: data provenance, freshness guarantee, and cost per call. Nothing an agent needs in order to decide to call it and interpret the result is missing.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4 and there is nothing for the description to clarify. The description correctly documents none are required and instead spends space on the shape of the response.

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

Purpose5/5

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

States a specific resource (Bitcoin fees in sat/vB) and enumerates exactly what comes back: fee tiers (fastest/30m/1h/economy/minimum), mempool size and count, and a 140 vB transaction cost in BTC and USD. This is clearly distinguishable from EVM-oriented siblings like gas or defi_fees without 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.

Usage Guidelines3/5

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

The enumerated outputs imply when the tool is relevant (fee estimation, mempool congestion checks), but there is no explicit when-to-use or when-not-use statement, and no named alternative among the many crypto siblings. The 'Information only, not financial advice' line is a disclaimer, not usage guidance.

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

btc_txBtc TxA
Read-only
Inspect

A Bitcoin transaction by txid: confirmed block and time (or unconfirmed), fee in sats and sat/vB, size and virtual size, input and output totals, and whether it signals replace-by-fee. Source: mempool.space. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
txidYesTransaction id, 64 hex characters

Output Schema

NameRequiredDescription
feeNo
rbfNo
sizeNo
txidNo
inputsNo
sourceNo
statusNo
outputsNo
checkedAtNo

TDQS

A4/5.0
Behavior4/5

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

Annotations declare readOnlyHint and openWorldHint, and the description goes further by disclosing the upstream source (mempool.space), a per-successful-call price with the x402 payment rails, and the fact that failed calls are not charged. It also notes unconfirmed-transaction and replace-by-fee handling. Only rate limits or error semantics are absent.

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

Conciseness5/5

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

Front-loads the resource and lookup key, then packs return fields, source, disclaimer and pricing into a compact block with no filler sentences. Every clause carries either selection signal or behavioral context.

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

Completeness4/5

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

An output schema exists so the return-field enumeration is not strictly required, but combined with the disclosed source, cost model and payment failure policy the description gives an agent nearly everything needed to call it. Only guidance on failure/retry behavior is missing.

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

Parameters3/5

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

There is a single parameter with 100% schema description coverage ('Transaction id, 64 hex characters'), which sets the baseline at 3. The description restates the lookup key as 'txid' but adds no format, normalization, 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.

Purpose5/5

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

States a specific verb and resource ('A Bitcoin transaction by txid') and then enumerates the exact returned fields, so an agent can distinguish it from btc_address, btc_fees, evm_tx and solana_tx without opening any schema. The chain and lookup key are both explicit.

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

Usage Guidelines3/5

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

Usage is implied by the txid lookup and the mempool.space source, but there is no explicit when-to-use statement and no mention of alternatives (e.g. evm_tx for EVM chains or btc_address for address-level data). The agent must infer routing from the name alone.

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

business_daysBusiness DaysA
Read-only
Inspect

Working days for a country. mode=between counts the working days after from up to and including to (up to 5 years) and lists the public holidays skipped; mode=add gives the date that is N working days after date (up to 3,650). Weekends are Saturday and Sunday, Friday and Saturday in Israel, and Friday only in Iran and Afghanistan. Nationwide public holidays from Nager.Date; a country with no holiday data is a 404, not charged. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
toNoEnd date YYYY-MM-DD (mode between; counted)
dateNoStart date YYYY-MM-DD (mode add)
daysNoWorking days to add, negative to subtract, up to 3,650 in size (mode add)
fromNoStart date YYYY-MM-DD (mode between; not counted)
modeNobetween (default) or add
countryYesISO 3166 alpha-2 code, e.g. DE, US, IL

Output Schema

NameRequiredDescription
toNo
fromNo
modeNo
sourceNo
countedNo
countryNo
checkedAtNo
weekendDaysNo
workingDaysNo
calendarDaysNo
holidaysSkippedNo

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only cover read-only/open-world safety, yet the description adds substantial uncaptured behavior: the x402 pricing model ($0.002 USDC, Base/Solana/Arc), the rule that failed calls are not charged, the 404-not-charged behavior for countries with no holiday data, and per-country weekend variations. These are exactly the operational facts 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.

Conciseness4/5

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

Front-loads the purpose, then mode semantics, then edge rules, then cost — a sensible order. The pricing sentence is long but every clause (asset, chains, failure policy) 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.

Completeness5/5

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; the description instead covers the things the schema cannot: weekend rules per country, holiday data source, error semantics, caps, and payment terms. 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.

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description earns an extra point by clarifying the counting semantics ('after `from` up to and including `to`') and the caps (5-year span, 3,650 days), which the schema does not fully articulate. It also disambiguates that `days` may be negative for subtraction.

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

Purpose4/5

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

States a specific resource ('working days for a country') and then precisely defines the two operations it performs (counting between dates, adding N days). It implicitly separates itself from the sibling `holidays` tool by noting holidays are what gets *skipped*, but it never names an alternative, so sibling differentiation is only partial.

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

Usage Guidelines4/5

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

Gives clear in-tool routing: mode=between vs mode=add, each with its required inputs and caps. It does not address when to prefer this over `date_calc` or `holidays`, which is the main remaining gap for an agent choosing among siblings.

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

certsCertsA
Read-only
Inspect

Current TLS certificates for a domain from Certificate Transparency logs (via CertSpotter): issuer, validity dates and days left, DNS names (up to 100 per certificate), and the distinct subdomains seen. Keyless tier: one request per call; answers are cached an hour. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
domainYesDomain name, e.g. example.com

Output Schema

NameRequiredDescription
domainNo
sourceNo
currentNo
checkedAtNo
issuancesNo
subdomainsNo
attributionNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover readOnly and openWorld safety. The description adds genuinely useful non-schema behavior: answers cached for an hour, one request per call, a per-success price of $0.002 USDC via x402 with named payment chains, and that failed calls are not charged. Only the return-shape detail overlaps what the output schema likely carries.

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

Conciseness4/5

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

Front-loaded with the returned fields, then operational and pricing details in a compact flow. Slightly dense but every clause (caching, 100-DNS-name cap, billing) carries information; nothing is pure filler.

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

Completeness4/5

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

Output schema exists so return values need not be described, yet the description still enumerates returned fields and caps. With annotations covering safety and the description covering cost/caching/rate behavior, an agent has enough to call it correctly; only explicit sibling routing is missing.

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

Parameters3/5

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

Single `domain` parameter with 100% schema description coverage ('Domain name, e.g. example.com'). The description adds no format constraints, TLD handling, or normalization rules, so it neither helps nor hurts beyond the schema baseline.

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

Purpose4/5

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

States a specific verb+resource (TLS certificates for a domain) and names the data source (Certificate Transparency logs via CertSpotter), which implicitly distinguishes it from the live-check sibling `ssl`. It does not explicitly say how it differs from `subdomains` or `ssl`, so a little inference is required.

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

Usage Guidelines2/5

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

No when-to-use or when-not guidance. The description never tells the agent to prefer this over `ssl` (live TLS check) or `subdomains`, despite clear overlap with both siblings. Only operational constraints (one request per call, cached an hour) are given.

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

chatChatA
Read-only
Inspect

LLM chat completion with Llama 3.3 70B (fast): send messages or a prompt, up to 1,024 output tokens. Price: $0.004 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
promptNoA single user message (use this or messages), up to 24,000 characters
messagesNoChat history as [{role: system|user|assistant, content}], up to 50 messages
max_tokensNoUp to 1024 (default 1024)
temperatureNo0 to 2, default 0.6; lower is more predictable

Output Schema

NameRequiredDescription
modelNo
usageNo
responseNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint, openWorldHint), and the description adds genuinely non-obvious behavior: a $0.004 USDC charge via x402 on Base/Solana/Arc, charged only on success. That cost and payment-rail disclosure is exactly the extra context an agent needs before invoking, though rate limits and latency are not mentioned.

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

Conciseness5/5

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

Two sentences, zero waste: capability and model first, then the pricing/charging policy. Front-loaded and every clause carries information an agent can act on.

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

Completeness4/5

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

With 0 required parameters and an output schema present, the definition doesn't need to explain return values. It covers what the tool does, the model, the output cap, and the cost model, which is enough to call it correctly; only comparative routing guidance is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents prompt, messages, max_tokens, and temperature. The description only restates the 1,024 output-token cap already present in max_tokens, adding no new syntax or format detail. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource (LLM chat completion) and pins the exact model (Llama 3.3 70B), which meaningfully distinguishes it from generically-described siblings like text_answer or summarize. It never explicitly names an alternative tool, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance. In a catalog containing text_answer, summarize, classify, and code_explain, the agent gets no signal about which task this tool is preferred for; the choice between 'prompt' and 'messages' is a parameter decision, not usage guidance.

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

classifyClassifyA
Read-only
Inspect

Labels up to 20 texts with 2 to 20 labels you choose, with a confidence from 0 to 1 and a one-line reason per text. One label per text, or several with multi true. Uses the chat model with JSON output; labels are as good as the model's reading of them. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textNoOne text (or texts)
multiNotrue when a text may take several labels
textsNoUp to 20 texts
labelsYes2 to 20 different labels

Output Schema

NameRequiredDescription
modelNo
sourceNo
resultsNo
checkedAtNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses the pricing model ($0.002 USDC per successful call), the payment rail (x402 on Base/Solana/Arc), that failed calls are not charged, and that output is model-dependent JSON. Cost and billing behavior are exactly the traits 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.

Conciseness4/5

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

Front-loaded with the core operation and constraints before the model/pricing details, and every sentence carries weight (limits, modes, cost). Slightly dense with the parenthetical payment rails, but nothing is wasteful.

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

Completeness5/5

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

For a 4-param, required-labels tool with an output schema present, the description covers the operation, input limits, output shape (confidence, reason), model dependency, and full cost/payment terms. An agent has everything needed to invoke and price the call.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds real meaning beyond the schema: it clarifies the exclusive-vs-multi label mode ('one label per text, or several with multi true') and that each text returns a confidence 0-1 plus a one-line reason. It does not explain text vs texts redundancy, keeping it just above baseline.

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

Purpose5/5

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

States a specific verb+resource ('labels up to 20 texts') with concrete operating constraints (2-20 labels you choose, one or several per text). The mechanism of user-supplied labels implicitly distinguishes it from fixed-scheme siblings like sentiment or moderate, so an agent can tell what this does without opening the schema.

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

Usage Guidelines3/5

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

Usage is implied by the operational detail (you supply the labels; use multi for several per text), but there is no explicit when-to-use vs alternatives, no mention of sentiment/moderate/text_keywords as siblings to route around, and no preconditions. Adequate but leaves routing to inference.

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

clinical_trialsClinical TrialsA
Read-only
Inspect

Clinical trials from ClinicalTrials.gov matching words, optionally by status and phase: NCT id, title, status, phases, conditions, sponsor, start and completion dates, enrolment, number of locations and the study link. Information only, not medical advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qYesCondition, drug or words
limitNo1 to 20 (default 10)
phaseNoEARLY_PHASE1, PHASE1, PHASE2, PHASE3, PHASE4 or NA (optional)
statusNoRECRUITING, COMPLETED, TERMINATED … (optional)

Output Schema

NameRequiredDescription
queryNo
sourceNo
studiesNo
checkedAtNo
disclaimerNo
attributionNo

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the annotations (which already declare readOnlyHint and openWorldHint), it discloses the payment model: $0.002 USDC per successful call via x402 on Base/Solana/Arc, with failed calls not charged. It also adds a 'not medical advice' disclaimer an agent can relay. Cost, payment rails and failure-charge behavior are exactly the kind of non-structured context that matters.

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

Conciseness4/5

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

Two front-loaded sentences with clear priority (what it returns, then disclaimer, then price). The enumeration of return fields is somewhat redundant given an output schema exists, costing a little density, but nothing is confusing or padded.

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

Completeness4/5

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

For a read-only search with full schema coverage and an output schema, the description covers purpose, filters, cost and a disclaimer adequately. It does not note pagination/limit behavior or result ordering, minor gaps given the structured fields already present.

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

Parameters3/5

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

Schema coverage is 100%, so q/limit/phase/status are already fully documented. The description reinforces that matching is by words and filtering is optionally by status and phase, but adds no syntax or format detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose5/5

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

States a specific action (search clinical trials) against a named source (ClinicalTrials.gov), with the matching and filtering facets (words, status, phase). The domain and data source clearly separate it from indext siblings like pubmed, fda_label and fda_adverse_events, so an agent can pick it without opening the schema.

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

Usage Guidelines3/5

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

The description conveys the gist of when to reach for it (looking up trials by keywords, optionally narrowing by status/phase), but there is no explicit when-not guidance and no sibling alternatives named (e.g. pubmed for literature vs clinical_trials for trials). Usage is implied rather than specified.

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

code_explainCode ExplainA
Read-only
Inspect

Explains a code snippet (max 20,000 characters): detected language, a summary, a step-by-step explanation, the functions and classes it defines, and possible bugs and security issues with line numbers. Line numbers outside the snippet are dropped. Model-written: a finding is a lead to check, not a verified defect. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
codeYesSource code snippet (max 20,000 characters)
languageNoLanguage if you know it (optional; otherwise detected)

Output Schema

NameRequiredDescription
noteNo
linesNo
stepsNo
issuesNo
summaryNo
languageNo
checkedAtNo
functionsNo

TDQS

A4.2/5.0
Behavior5/5

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

Even with readOnlyHint and openWorldHint declared, the description adds substantial behavior: truncation of out-of-snippet line numbers, a model-written caveat that findings are leads rather than verified defects, and a full pricing/charging model (x402, USDC, failed calls not charged). This goes well beyond what the annotations convey.

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

Conciseness4/5

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

Front-loaded with the verb and a dense but useful list of outputs, followed by edge-case behavior and pricing. Every clause carries information, though the single long sentence is heavy; structure is good but not maximally scannable.

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

Completeness5/5

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

With an output schema present, return values need no explanation, and the description still covers scope, input limit, edge-case handling, model-reliability caveat, and cost. 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.

Parameters3/5

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 in the schema. The description restates the 20,000-character cap and the language-detection fallback but adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb (explains) and resource (code snippet), then enumerates exactly what the output contains: detected language, summary, step-by-step explanation, functions/classes, bugs and security issues with line numbers. No sibling tool overlaps this space, so the agent can identify it immediately.

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

Usage Guidelines3/5

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

Usage is implied by the output enumeration and the 20,000-character limit, but there is no explicit 'use this when...' framing and no named alternative. A reader infers it's for analyzing a code snippet, but nothing routes them between this and, say, validate or sql_generate.

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

company_brCompany BrA
Read-only
Inspect

Returns Brazilian company data from BrasilAPI (CNPJ lookup, MIT licence): legal name, trade name, status, opening date, legal nature, CNAE activities, address, share capital, and partners (QSA). CNPJ check digits are validated before any network call. Rate limit: BrasilAPI allows ~3 req/s. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
cnpjYesCNPJ number — 14 digits, with or without formatting (e.g. 00.000.000/0001-91 or 00000000000191)

Output Schema

NameRequiredDescription
cnpjNo
emailNo
phoneNo
sourceNo
statusNo
addressNo
mainCnaeNo
partnersNo
checkedAtNo
legalNameNo
tradeNameNo
disclaimerNo
statusDateNo
legalNatureNo
openingDateNo
shareCapitalNo
secondaryCnaesNo

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses that CNPJ check digits are validated before any network call, the ~3 req/s upstream rate limit, the $0.003 USDC cost via x402 on Base/Solana/Arc, and crucially that failed calls are not charged. That is exactly the operational detail an agent needs before committing 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.

Conciseness4/5

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

Front-loaded with the purpose and source, then the field list, then the constraints. Dense but every clause earns its place; the parenthetical field enumeration is slightly list-like but useful for an agent matching fields to a user request.

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

Completeness5/5

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

With an output schema present, return values need not be explained, and the description still covers cost, payment rail, rate limit, input validation, and billing behavior on failure. Nothing material is missing for a single-parameter paid lookup tool.

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

Parameters3/5

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

Schema coverage is 100% and the single cnpj parameter already documents the 14-digit format with and without punctuation, so the description adds no parameter meaning beyond the schema. Baseline 3 applies when the schema fully carries the load.

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

Purpose5/5

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

States a specific verb and resource ('Returns Brazilian company data'), names the upstream source (BrasilAPI, CNPJ lookup) and enumerates the returned fields, so an agent can distinguish it from company_fr, uk_company, and generic company_registry calls by jurisdiction alone.

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

Usage Guidelines3/5

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

Usage is only implied: the CNPJ parameter and the field list make clear it is for Brazilian entity lookups, but it never says when to prefer it over company_fr, company_registry, or sanctions/lei tools, nor any prerequisites beyond a valid CNPJ.

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

company_frCompany FrA
Read-only
Inspect

Searches French companies via the official open API (recherche-entreprises.api.gouv.fr, Licence Ouverte v2). Returns legal name, SIREN, head-office SIRET and address, legal form, NAF activity code (no label in the API), creation date, status, size band, and directors when published. Rate limit: ~10 req/s (API's own limit). limit max 25. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qYesCompany name, SIREN (9 digits) or SIRET (14 digits) to search
limitNoMax results (1–25, default 10)

Output Schema

NameRequiredDescription
countNo
totalNo
sourceNo
resultsNo
checkedAtNo
disclaimerNo

TDQS

A4/5.0
Behavior5/5

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

Annotations declare readOnlyHint and openWorldHint, which are consistent with the description. The description adds substantial behavioral context beyond annotations: rate limit (~10 req/s), price ($0.003 USDC per successful call), payment methods (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.

Conciseness4/5

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

The description is front-loaded with purpose and is generally efficient. However, the long enumeration of return fields is partly redundant because an output schema exists, slightly reducing conciseness.

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

Completeness5/5

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

For a paid external search tool, the description covers purpose, data source, rate limit, cost, payment details, and charging policy. With a full output schema and 100% parameter coverage already present, no critical gaps remain for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters. The description adds only a redundant 'limit max 25' and no extra syntax or meaning for q, making a baseline 3 appropriate.

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

Purpose5/5

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

States a specific verb (Searches) and resource (French companies) and names the official data source (recherche-entreprises.api.gouv.fr). This clearly distinguishes it from generic company_registry or country-specific siblings like company_br and uk_company.

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

Usage Guidelines2/5

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

The description gives no explicit when-to-use or when-not-to-use guidance relative to alternatives. It implies French company lookups but never names or contrasts with sibling tools such as company_registry or company_ticker.

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

company_registryCompany RegistryA
Read-only
Inspect

Companies from the official registers of Norway, Finland, the Czech Republic and Poland. Search by name (Norway, Finland, Czech Republic) or look up one company by its number: Norway 9 digits, Finland Y-tunnus, Czech IČO, Poland KRS (Poland by number only). Answers give name, id, status, legal form, address, incorporation date and industry; Norway lookups by number also list managers. France: use /api/company/fr. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoCompany name (not Poland)
idNoRegistry number: Norway 9 digits, Finland 1234567-8, Czech 8 digits, Poland 10-digit KRS
countryYesno, fi, cz or pl

Output Schema

NameRequiredDescription
queryNo
sourceNo
countryNo
checkedAtNo
companiesNo
attributionNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations cover only readOnlyHint and openWorldHint, but the description adds decisive behavioral context the annotations lack: the $0.003 USDC per-successful-call price, the x402 payment rails (Base, Solana, Arc), and that failed calls are not charged. That payment/charging disclosure is essential 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.

Conciseness4/5

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

Dense but well front-loaded: countries and search modes come first, then return fields, sibling routing and pricing. Slight redundancy with the schema on ID formats costs a point, but nothing is wasted.

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

Completeness5/5

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

With an output schema present, the description needn't detail return values, yet it still summarizes them; it covers country coverage, search vs. lookup modes, the Poland restriction, sibling routing for France, and the payment model. 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.

Parameters3/5

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

Schema description coverage is 100%, so both q and id formats are already fully documented in the schema. The description largely restates those formats (Norway 9 digits, Y-tunnus, IČO, KRS) rather than adding 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.

Purpose5/5

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

States a specific resource (official company registers) and scopes it precisely to Norway, Finland, Czech Republic and Poland, which cleanly distinguishes it from sibling tools like company_fr, company_br, uk_company and lei. An agent can immediately tell what this tool covers and what it does not.

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

Usage Guidelines5/5

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

Explicitly states the two usage modes (search by name for Norway/Finland/Czech; look up by number for all four), flags the constraint that Poland is number-only, and routes France to /api/company/fr. The when-to-use conditions and the alternative are both named.

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

company_tickerCompany TickerA
Read-only
Inspect

Maps a US-listed stock ticker, SEC CIK number or company name fragment to the other two, with the exchange: an exact ticker or CIK, or up to 10 names matching the words you give (the names that start with it first). From the SEC's company ticker file (public domain), cached a day and trimmed before caching. Covers companies with an SEC ticker only; a name with no match is a 404, not charged. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qYesA ticker (AAPL), a CIK number (320193) or a name fragment of at least 3 characters (Apple)

Output Schema

NameRequiredDescription
countNo
queryNo
sourceNo
checkedAtNo
companiesNo

TDQS

A4.6/5.0
Behavior5/5

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

Goes well past readOnlyHint/openWorldHint: names the data source and its public-domain status, the one-day cache and trimming, the 10-result cap with prefix-first ordering, the 404 failure mode, and the pricing/payment model (x402, $0.002 USDC per successful call on Base/Solana/Arc, failed calls uncharged). Payment mechanics and failure costing are exactly the kind of pre-invocation context 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.

Conciseness4/5

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

Three tight sentences, front-loaded with the mapping behavior and then the operational facts. Dense but each clause carries information; the cache/timing detail is the only piece that sits near the edge of necessity.

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

Completeness5/5

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

Output schema exists, so return values need no explanation. Inputs, match limits, source and coverage boundary, failure semantics, and cost are all present — nothing an agent needs before calling this correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description adds value beyond it by clarifying that a name fragment yields up to 10 matches ordered with prefix hits first, and by contrasting exact ticker/CIK matching against fragment matching. It does not add format details such as CIK padding or case sensitivity.

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

Purpose5/5

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

States a specific verb and resource chain: maps a ticker / SEC CIK / name fragment to the other two plus the exchange. The scope qualifier 'Covers companies with an SEC ticker only' and the source ('SEC's company ticker file') distinguish it from siblings like company_registry, company_br/company_fr, lei and sec_search without the agent needing to open a schema.

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

Usage Guidelines4/5

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

Explicit input forms (exact ticker, exact CIK, or name fragment of 3+ characters, up to 10 matches with prefix-first ordering) and an explicit exclusion ('Covers companies with an SEC ticker only', non-matches return 404). It stops short of naming which sibling to use for non-US or non-SEC-ticker companies, so routing outside the SEC universe 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.

congressCongressA
Read-only
Inspect

US federal bills from Congress.gov (Library of Congress). Keyword search (q) runs over the 250 most recently updated bills of a Congress, since the API has no full-text search; each match gets its sponsor, status and latest action. A bill number (bill=hr1234-119) returns its cosponsor count, committees and up to 30 actions. Public domain. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoWords that must all appear in the bill title
billNoA bill, e.g. hr1234-119 or s50-119 (type, number, Congress)
limitNoMax bills for q, 1-25, default 10
congressNoCongress number 93 to the current one (119), default current

Output Schema

NameRequiredDescription
noteNo
queryNo
totalNo
sourceNo
resultsNo
scannedNo
returnedNo
checkedAtNo

TDQS

A4.7/5.0
Behavior5/5

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: it discloses the paid pricing model ($0.002 USDC per successful call via x402 on Base, Solana or Arc), that failed calls are not charged, and the coverage limitation of the search (only the 250 most recently updated bills). That is exactly the behavioral context an agent needs before invoking a metered tool.

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

Conciseness5/5

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

Four tight sentences, front-loaded with source and purpose, then mode behavior, then pricing. Every sentence carries information the agent needs; nothing is redundant with the schema or annotations.

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

Completeness5/5

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

Complete for a 4-parameter, zero-required tool with an output schema. Data source, both invocation modes, search limitations, result contents and billing behavior are all covered, so nothing required 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.

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds real semantics on top: it constrains what q actually searches (bill titles, only the 250 most recently updated bills), gives a concrete bill identifier format, and notes that a bill lookup returns cosponsor count, committees and up to 30 actions.

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

Purpose5/5

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

States a specific verb and resource ('US federal bills from Congress.gov') and clearly delineates its two operating modes: keyword search via q and direct bill-number lookup via bill. An agent can immediately tell what this tool returns in each mode, with no overlap ambiguity against siblings.

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

Usage Guidelines4/5

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

Explains when each mode applies (q for keyword search, bill=hr1234-119 for a specific bill) and gives the key constraint that the API has no full-text search, so q only scans the 250 most recently updated bills. No explicit alternatives or exclusions are named, but the mode selection is unambiguous.

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

contactsContactsA
Read-only
Inspect

Company contact enrichment from a domain: emails (same-domain flagged), phones, social profiles, description and tech stack, read from the home, contact, about and legal pages. Price: $0.01 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesWebsite URL or domain, e.g. example.com

Output Schema

NameRequiredDescription
nameNo
techNo
domainNo
emailsNo
socialsNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the access profile is covered. The description adds meaningful behavior beyond that: the exact pricing model ($0.01 USDC per successful call, failed calls free), the payment rail (x402 on Base/Solana/Arc), and which pages are crawled (home, contact, about, legal). This is genuinely useful operational context.

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

Conciseness5/5

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

Two tight sentences: the first front-loads purpose and outputs, the second carries pricing. No redundant or filler text, and the most important information leads.

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

Completeness4/5

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

An output schema exists, so return values need no elaboration, and the description still helpfully previews the returned fields. Payment and crawling scope are covered; only explicit usage routing against siblings is absent.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter is fully documented ('Website URL or domain'). The description adds only that the input is a domain, which the schema already conveys, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb ('enrichment') and resource ('company contact'), and enumerates exactly what is returned (emails, phones, social profiles, description, tech stack). This distinguishes it from siblings like domain, entities, and email_check, which do not aggregate contact data from a domain's pages.

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

Usage Guidelines3/5

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

The description implies usage (supply a domain to get contacts) but offers no explicit when-to-use guidance, no exclusions, and does not name an alternative tool for related tasks. Usage context is inferable but not stated.

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

cronCronA
Read-only
Inspect

Explains a cron expression in plain English and lists its next runs in UTC and in a time zone. Five fields (minute hour day month weekday), or six with seconds first. Names (MON, JAN) and steps are supported. Computed in the Worker; no network call. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
tzNoIANA time zone for the local times, e.g. Europe/Berlin (default UTC)
countNoNext runs, 1 to 20 (default 5)
expressionYesCron expression, 5 or 6 fields

Output Schema

NameRequiredDescription
sourceNo
nextRunsNo
timezoneNo
checkedAtNo
expressionNo
explanationNo
nextRunsUtcNo

TDQS

A3.9/5.0
Behavior1/5

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

The description states 'Computed in the Worker; no network call,' which directly contradicts the annotation 'openWorldHint: true' (indicating external open-world interaction). This is a significant inconsistency.

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

Conciseness5/5

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

The description is front-loaded with the core purpose, followed by necessary details (field count, supported features, computation context, pricing). Every sentence contributes without redundancy.

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

Completeness5/5

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

Given the tool's complexity, the annotations, and the presence of an output schema, the description is complete enough for an agent to call it correctly. It covers input format, output content (plain English explanation and next runs), computation context, and pricing model, leaving no critical gaps.

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

Parameters4/5

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

With 100% schema description coverage, the baseline is 3. The description adds meaningful detail about the 'expression' parameter (five or six fields, seconds first, names like MON/JAN, and steps), which goes beyond the schema's generic 'Cron expression, 5 or 6 fields'. It does not add much for 'tz' or 'count', but the added value for the main parameter justifies a 4.

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

Purpose5/5

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

The description states a specific verb ('Explains') and resource ('cron expression') and clarifies it lists next runs. It clearly distinguishes itself from sibling tools like timezone or date_calc by focusing on cron syntax parsing.

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

Usage Guidelines4/5

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

The description provides clear context about what the tool does (explains cron expressions, lists next runs) and mentions supported syntax (five/six fields, names, steps). However, it does not explicitly state when to use it versus alternatives or any exclusions, though the purpose is unambiguous.

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

crypto_address_riskCrypto Address RiskA
Read-only
Inspect

Screens up to 20 crypto addresses (EVM chains, Bitcoin, Solana, Tron, Litecoin, Monero, XRP, Zcash and more; 18 currencies) against the US Treasury OFAC Specially Designated Nationals (SDN) digital currency address list. Reports sanction status, list name, SDN program, and source link. Never declares an address clean: reports 'not on the checked lists'. Information only, not financial advice. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
addressesYesUp to 20 addresses, comma-separated (a JSON array also works in a POST-style client)

Output Schema

NameRequiredDescription
noteNo
sourceNo
addressesNo
checkedAtNo
disclaimerNo
listsCheckedNo
screenedCountNo
sanctionedCountNo

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark this as read-only and open-world, but the description adds substantial behavior beyond them: supported chains, output fields (sanction status, list name, SDN program, source link), the explicit caveat that it never declares an address clean, the informational-only disclaimer, the $0.003 USDC price 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.

Conciseness5/5

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

The description is front-loaded with the core action and coverage, then layers in output details, caveats, and pricing without wasted words. Each clause contributes useful information for selecting and invoking the tool.

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

Completeness5/5

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

With an output schema present, the description need not explain return values, but it still names the reported fields. Combined with chain coverage, caveats, pricing, and payment details, an agent has everything needed to call the tool correctly.

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

Parameters3/5

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

Schema coverage is 100%, and the single parameter already documents the comma-separated format and maximum of 20 addresses. The description reinforces the 20-address limit but adds no new syntax or meaning 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.

Purpose5/5

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

States a specific verb ('Screens') and resource ('crypto addresses') against a precisely named list (US Treasury OFAC SDN digital currency address list). It also names supported chains and the number of currencies, which clearly distinguishes it from siblings like sanctions, evm_address, or btc_address.

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

Usage Guidelines4/5

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

The description makes the screening context clear: use it to check up to 20 crypto addresses for OFAC SDN sanction status. It does not explicitly name alternative tools such as sanctions or screen_debarment, so it falls short of full when/when-not guidance, but the intended usage is unambiguous.

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

crypto_candlesCrypto CandlesA
Read-only
Inspect

OHLCV candles for a Coinbase trading pair (BTC-USD) at 1m, 5m, 15m, 1h, 6h or 1d granularity, up to 300, newest first, from Coinbase Exchange public market data. Prices are that venue's trades only; when Coinbase is rate-limited the same candles come from Kraken or Bitstamp and source names the venue. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
pairYesCoinbase product, e.g. BTC-USD
limitNo1 to 300 (default 100)
granularityNo1m, 5m, 15m, 1h, 6h or 1d (default 1h)

Output Schema

NameRequiredDescription
pairNo
countNo
sourceNo
candlesNo
checkedAtNo
disclaimerNo
granularityNo

TDQS

A4.4/5.0
Behavior5/5

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

Adds substantial behavior beyond the readOnly and openWorld annotations: fallback to Kraken or Bitstamp when Coinbase is rate-limited, the source field identifying the venue, pricing per successful call, and no charge on failure. These are important operational details 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.

Conciseness4/5

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

Front-loads the core purpose and key constraints, then covers fallback behavior and pricing. The disclaimer is minor boilerplate, but otherwise the description is efficient and well-structured.

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

Completeness5/5

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

Given that an output schema exists and all parameters are documented in the schema, the description covers everything an agent needs: data source, fallback behavior, ordering, limits, pricing, and charging policy.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents pair, limit, and granularity including defaults. The description reinforces granularity options and the 300-candle limit but does not add syntax or format details beyond the schema.

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

Purpose5/5

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

States the exact resource (OHLCV candles), the venue (Coinbase Exchange public market data), supported pairs and granularities, and ordering. This clearly distinguishes it from sibling tools like crypto_price, crypto_orderbook, and crypto_indicators.

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

Usage Guidelines4/5

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

Provides clear context for when the tool applies: Coinbase trading pairs, specific granularities, and a maximum of 300 newest-first candles. It does not explicitly name alternatives or exclusions, but the scope is clear enough to guide selection.

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

crypto_convertCrypto ConvertA
Read-only
Inspect

Convert an amount between a crypto and a fiat currency, or between two crypto assets, at the current spot price: the rate, the converted amount, the pair path used (direct, or through USD) and the time of the rate. Spot prices from Coinbase, Kraken as the fallback. A spot rate, not an executable quote: no fees or slippage. Fiat to fiat is refused; use the FX tool for that. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
toYesSymbol to convert to, e.g. EUR, USD or ETH
fromYesSymbol to convert from: BTC, ETH, SOL, USDC or a fiat code such as EUR
amountNoPositive amount in the from currency, up to 12 decimals (default 1)

Output Schema

NameRequiredDescription
toNo
fromNo
pathNo
rateNo
amountNo
sourceNo
checkedAtNo
convertedNo
disclaimerNo

TDQS

A4.6/5.0
Behavior5/5

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

Although annotations already declare readOnlyHint and openWorldHint, the description adds substantial operational context: Coinbase as the primary source with Kraken as fallback, pair paths direct or through USD, rate timestamp, and that failed calls are not charged. It also discloses the $0.002 USDC x402 payment model and states the tool is information only, not financial advice.

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

Conciseness4/5

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

The description is front-loaded with the core conversion purpose and is dense with useful operational detail. Some clauses are packed into long sentences, but nearly every clause contributes to correct invocation, pricing awareness, or scope boundaries.

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

Completeness5/5

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

An output schema exists, so return-format explanation is not strictly required, yet the description still covers the key returned elements: rate, converted amount, pair path, and time. Combined with source fallback, payment, and exclusion details, it is complete enough for an agent to call the tool correctly.

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

Parameters3/5

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

The input schema has 100% description coverage, documenting from, to, and amount including symbol examples and the amount default. The description does not add much parameter-level meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb and resource: convert an amount between a crypto and a fiat currency, or between two crypto assets, at the current spot price. It also names what it is not by refusing fiat-to-fiat conversion and directing that use case to the FX tool, so an agent can distinguish it from siblings.

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

Usage Guidelines5/5

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

The description gives clear usage context, including that it returns a spot rate rather than an executable quote, with no fees or slippage. It explicitly excludes fiat-to-fiat conversion and names the alternative tool for that case, leaving little ambiguity about when to select this tool.

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

crypto_fear_greedCrypto Fear GreedA
Read-only
Inspect

The Crypto Fear & Greed Index today and for the previous days (up to 30), with its classification (extreme fear to extreme greed). Attribution: alternative.me. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
daysNo1 to 30 days (default 1)

Output Schema

NameRequiredDescription
todayNo
sourceNo
historyNo
checkedAtNo
disclaimerNo
attributionNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations cover only readOnly and openWorld, so the description carries the important extras itself: a per-call cost of $0.002 USDC, the x402 payment rails (Base, Solana, Arc), and the crucial detail that failed calls are not charged. That cost-and-failure policy is genuinely decision-relevant for an agent, though rate limits or data freshness/lag are not mentioned.

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

Conciseness4/5

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

The capability is stated first, followed by attribution, disclaimer, and pricing — a sensible front-loading order. The pricing sentence is dense with parenthetical payment rails but every clause (attribution, non-advice, price, free-on-failure) carries distinct information.

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

Completeness4/5

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

With an output schema present, return values need not be explained, and the billing model—the main risk for an autonomous caller—is fully disclosed. Coverage is solid for a one-parameter read tool; only freshness/latency and sibling disambiguation are missing.

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

Parameters3/5

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

Schema description coverage is 100% and the single 'days' parameter is fully documented as '1 to 30 days (default 1)'. The description only restates the upper bound ('up to 30'), adding 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.

Purpose4/5

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

The description names a specific resource (the Crypto Fear & Greed Index) with a clear scope ('today and for the previous days, up to 30') and output content (classification from extreme fear to extreme greed). It does not distinguish itself from nearby siblings like crypto_indicators or sentiment, which likely also return market sentiment-style data.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is the tool for historical fear/greed readings, but there is no statement of when to prefer it over crypto_indicators, sentiment, or macro readings, and no exclusions. The remaining sentences cover attribution, disclaimer, and billing rather than selection guidance.

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

crypto_fundingCrypto FundingA
Read-only
Inspect

Perpetual futures funding for one coin across Hyperliquid, OKX, Deribit and dYdX v4: the current funding rate, the interval (1 or 8 hours), the annualised rate, the next funding time, open interest in coins and USD, and the mark or oracle price. A venue that does not list the coin is left out and named in unavailable. Rates are as the venues publish them; funding is paid between traders, not to the venue. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
coinYesCoin ticker, 2 to 10 letters or digits, e.g. BTC, ETH or SOL

Output Schema

NameRequiredDescription
coinNo
countNo
sourceNo
venuesNo
checkedAtNo
disclaimerNo
unavailableNo

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only cover read-only and open-world; the description adds substantial operational context beyond them: unlisted venues are omitted and reported in 'unavailable', rates are as published by venues, funding is paid between traders not to the venue, data is information-only, and the call costs $0.002 USDC via x402 with failures not charged. Cost, failure behavior and edge-case handling are all disclosed.

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

Conciseness4/5

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

Front-loaded with the returned fields, then edge cases, then pricing — a sensible ordering with no redundant sentences. It is on the long side and the 'not financial advice' line is boilerplate, but every other sentence carries information.

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

Completeness4/5

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

With an output schema present, return values need no explanation, and the description still covers coverage gaps (unavailable venues), data provenance, and billing. The only missing piece is explicit routing guidance versus sibling tools like crypto_price or perps_markets.

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

Parameters3/5

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

Schema description coverage is 100% and the sole parameter is documented with format and examples ('2 to 10 letters or digits, e.g. BTC, ETH or SOL'). The description only restates 'one coin' without adding format or venue-specific ticker conventions, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb+resource (perpetual futures funding for one coin) and enumerates exactly what is returned: funding rate, interval, annualised rate, next funding time, open interest in coins/USD, mark or oracle price. It also names the four venues, so an agent can distinguish it from crypto_price (spot) or perps_markets (market listings) without opening the schema.

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

Usage Guidelines3/5

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

Scope is clear (one coin, funding data, multi-venue), which implies the use case, but there is no explicit when-to-use or when-not statement and no sibling named as an alternative. The agent must infer that this is the funding-specific tool rather than e.g. crypto_price or perps_markets.

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

crypto_indicatorsCrypto IndicatorsA
Read-only
Inspect

Technical indicators for one crypto pair and interval, computed from the last 60 to 300 candles: SMA and EMA for the periods you give (default SMA 20, 50, 200; EMA 12, 26), RSI 14 (Wilder), MACD 12/26/9, Bollinger 20/2, ATR 14, the latest values, and a plain trend note (above or below the 200 average, overbought or oversold). Candles come from Coinbase; the newest candle may still be forming. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
emaNoComma-separated EMA periods, up to 5, each 2 to 200 (default 12,26)
smaNoComma-separated SMA periods, up to 5, each 2 to 200 (default 20,50,200)
pairYesCoinbase pair like BTC-USD or ETH-USD
limitNoCandles to use, 60 to 300, default 300
granularityNoCandle size: 1m, 5m, 15m, 1h (default), 6h or 1d

Output Schema

NameRequiredDescription
emaNo
smaNo
macdNo
pairNo
atr14No
priceNo
rsi14No
trendNo
sourceNo
candlesNo
bollingerNo
checkedAtNo
disclaimerNo
lastCandleNo
granularityNo

TDQS

A4.2/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses the data source (Coinbase), a material freshness caveat (the newest candle may still be forming), the pricing model ($0.002 USDC per successful call via x402, failed calls uncharged), and a non-advice disclaimer. These are exactly the behavioral traits 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.

Conciseness4/5

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

The core purpose is front-loaded before the indicator details and caveats. It is a long, dense run-on, but nearly every clause earns its place (indicator set, source, freshness, pricing). The disclaimers and payment detail could be tightened slightly.

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

Completeness5/5

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

An output schema exists, so return values need no explanation. The description nonetheless supplies everything else an agent needs to call it correctly: the computed indicator set, the candle source and granularity range, data-freshness behavior, and the billing model.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented, and the description largely restates defaults (SMA 20/50/200, EMA 12/26) already in the schema. It adds minor value by framing limit as 'candles used for the computation' and naming the RSI/MACD/Bollinger/ATR conventions, but this is baseline territory.

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

Purpose5/5

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

States a precise verb (compute technical indicators) and resource (one crypto pair and interval), then enumerates exactly which indicators and periods it returns. This clearly separates it from crypto_candles (raw bars) and crypto_price (spot quote), even without naming a sibling.

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

Usage Guidelines3/5

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

Usage is implied by the indicator list, so an agent can infer 'use this when you need technical analysis,' but there is no explicit when-to-use, when-not, or routing to alternatives like crypto_candles or crypto_price. Context is present but no guidance or exclusions.

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

crypto_newsCrypto NewsA
Read-only
Inspect

Latest crypto headlines from the RSS feeds of CoinDesk, Cointelegraph, Decrypt, The Block and Bitcoin Magazine, newest first: title, link, publisher, publish time, the coins named in the text, and at most 200 characters of the feed's own summary. Filter by words in the text (q) or by coin. Feeds are cached 5 minutes; a feed that fails is listed in unavailable. Headlines and links only, not the articles. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoWords to match in the headline or summary, up to 100 characters (optional)
coinNoCoin ticker to filter by, e.g. BTC (optional)
limitNoHeadlines to return, 1 to 50, default 20

Output Schema

NameRequiredDescription
countNo
itemsNo
sourceNo
checkedAtNo
unavailableNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the readOnlyHint/openWorldHint annotations: 5-minute feed caching, degradation behavior ('a feed that fails is listed in unavailable'), and the full payment contract ($0.002 USDC per successful call via x402 on Base/Solana/Arc, failures not charged). For a paid, networked read tool this is exactly the behavioral context 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.

Conciseness4/5

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

Content is front-loaded (sources -> fields -> filtering -> caching -> pricing) with no filler sentences. It is delivered as one dense run-on string, which slightly hurts scannability but wastes nothing.

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

Completeness5/5

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

Given a paid, multi-source scraper with an output schema present, the description covers the source set, return fields, filtering, caching/failure semantics, and cost model. Nothing an agent needs to decide or invoke correctly is missing; return-value detail is correctly left to the output schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters; baseline is 3. The description restates the q and coin filters and the 200-char summary cap but adds no syntax, format, or edge-case detail beyond the schema, and omits limit entirely.

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

Purpose5/5

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

States a specific resource (latest crypto headlines) and enumerates the exact upstream sources (CoinDesk, Cointelegraph, Decrypt, The Block, Bitcoin Magazine), so an agent can distinguish it from general-headline siblings like text_headlines or feed without opening the schema. It also defines the returned shape up front.

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

Usage Guidelines4/5

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

Gives clear context for use ('Filter by words in the text (q) or by coin') and draws a scope boundary ('Headlines and links only, not the articles'), which tells the agent when this tool is insufficient. It stops short of naming an alternative tool for full-article text or non-crypto news, so no explicit exclusions/routing.

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

crypto_orderbookCrypto OrderbookA
Read-only
Inspect

A level-2 order book snapshot for a Coinbase pair: best bid and ask, mid price, spread in price and basis points, and the top bids and asks up to depth 50. It is a snapshot, not a quote: prices move between calls. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
pairYesCoinbase product, e.g. BTC-USD
depthNo1 to 50 levels per side (default 10)

Output Schema

NameRequiredDescription
midNo
asksNo
bidsNo
pairNo
depthNo
sourceNo
spreadNo
bestAskNo
bestBidNo
checkedAtNo
spreadBpsNo
disclaimerNo

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint, yet the description adds the exact cost ($0.002 USDC per successful call), the payment rails (x402 on Base, Solana, Arc), the fact that failed calls are not charged, and the snapshot/non-advisory nature of the data. These are material operational traits an agent cannot get 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.

Conciseness4/5

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

Front-loads what the tool returns before the caveats, and every sentence carries information (return shape, snapshot semantics, pricing). It is a dense four-sentence block, but there is little filler.

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

Completeness5/5

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

An output schema exists so return values need no explanation, and the annotations cover the read-only/open-world safety profile. Combined with the cost, payment and freshness disclosures, 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.

Parameters3/5

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

Schema coverage is 100% and both parameters are already documented there (pair as Coinbase product, depth 1-50 default 10). The description only restates the depth ceiling ('up to depth 50') without adding format or interpretation guidance, so the schema does the heavy lifting.

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

Purpose5/5

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

Names a specific verb+resource (level-2 order book snapshot for a Coinbase pair) and enumerates exactly what it returns: best bid/ask, mid, spread in price and bps, top levels. This clearly separates it from siblings like crypto_price, crypto_candles and pm_orderbook.

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

Usage Guidelines3/5

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

It implies usage by framing itself as a snapshot rather than a quote and warning that prices move between calls, which tells the agent it is a point-in-time read. However, it never names an alternative tool (e.g. crypto_price for a single quote or crypto_candles for history), so the routing decision is left largely to inference.

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

crypto_priceCrypto PriceA
Read-only
Inspect

USD spot prices for up to 20 symbols (BTC, ETH, SOL...) from Coinbase, with the source of each price. A Solana mint address also works and is priced by Jupiter. Symbols without a price are listed in unavailable. Cached 15 seconds. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
symbolsYesComma-separated symbols (BTC,ETH) or Solana mint addresses, up to 20

Output Schema

NameRequiredDescription
pricesNo
sourceNo
checkedAtNo
disclaimerNo
unavailableNo

TDQS

A4.2/5.0
Behavior5/5

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

Adds substantial context beyond the readOnly/openWorld annotations: a 15-second cache, the behavior that unpriced symbols land in 'unavailable' rather than erroring, a per-price source attribution, and a concrete cost model ($0.002 USDC per successful call via x402; failures are free). The payment requirement is exactly the kind of trait 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.

Conciseness4/5

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

Dense but front-loaded: capability first, then edge-case behavior, then cache/cost. Nearly every sentence earns its place; the 'Information only, not financial advice' clause is the one near-filler line, though it is arguably relevant to an agent relaying prices.

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

Completeness5/5

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

An output schema exists, so return shape need not be explained, and the description still covers source attribution and the 'unavailable' bucket. Combined with cache TTL, provider selection, and x402 payment terms, an agent has everything needed to decide, pay, and interpret results.

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

Parameters3/5

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

Schema description coverage is 100%, so the single 'symbols' parameter is already fully documented (comma-separated, up to 20, Solana mint addresses accepted). The description largely restates this, adding only the fallback behavior for symbols with no price. Baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb+resource ('USD spot prices'), quantifies the batch ('up to 20 symbols') and names the data sources (Coinbase for symbols, Jupiter for Solana mints). This clearly separates it from sibling tools like crypto_candles (OHLC history), crypto_convert (conversion) and solana_quote (single-mint dex quote).

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

Usage Guidelines3/5

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

The batch-of-20 and 'USD spot' framing implies when this tool is the right pick, but the description never explicitly routes the agent to or away from alternatives such as crypto_candles, crypto_convert or solana_quote. There are no stated exclusions or prerequisites for use.

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

crypto_whalesCrypto WhalesA
Read-only
Inspect

Large stablecoin and major-token transfers in the last few minutes on Ethereum, Base, Arbitrum, Optimism or Polygon: hash, block time, sender, receiver, amount and USD value at the Coinbase spot price, sorted by value. Labels only for a few known addresses; others are null. One token contract is read over public RPC, so the window is short. Information only, not financial advice. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNoethereum (default), base, arbitrum, optimism or polygon
limitNoTransfers to return, 1 to 50, default 20
tokenNoUSDC (default), USDT, WETH, WBTC or cbBTC, where the chain has it
blocksNoBlocks to scan back from the latest: ethereum 10 (default, max 25), base and optimism 20 (max 40), arbitrum and polygon 40 (max 80)
minUsdNoMinimum USD value per transfer, default 1000000, at least 10000

Output Schema

NameRequiredDescription
noteNo
chainNo
tokenNo
totalNo
minUsdNo
sourceNo
windowNo
scannedNo
decimalsNo
priceUsdNo
returnedNo
checkedAtNo
transfersNo
truncatedNo
disclaimerNo
tokenAddressNo

TDQS

A4.2/5.0
Behavior5/5

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

Beyond the readOnlyHint/openWorldHint annotations, the description discloses pricing ($0.003 USDC per successful call via x402 on Base/Solana/Arc), that failed calls are not charged, that sender/receiver labels are null for most addresses, and that the data window is constrained by a single RPC read. These are material traits an agent cannot derive 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.

Conciseness4/5

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

One dense paragraph that front-loads the purpose before pricing and caveats; nearly every clause carries information. It is slightly packed with mixed concerns (data shape, cost, freshness) but wastes no sentences.

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

Completeness5/5

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

With five parameters fully documented in the schema, an output schema covering the return shape, and the description adding cost, payment rails, label nullability and freshness limits, an agent has everything needed to call this correctly and predict the outcome.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents defaults, ranges and per-chain block limits; baseline is 3. The description adds only marginal meaning ('where the chain has it' for tokens, Coinbase spot price for USD valuation) and does not override the schema's work.

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

Purpose5/5

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

The description names a specific resource and scope: large stablecoin/major-token transfers in the last few minutes across five named chains, with the returned fields (hash, block time, sender, receiver, amount, USD value) enumerated. An agent can immediately tell this apart from general tools like evm_transfers or crypto_candles.

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

Usage Guidelines3/5

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

Usage is implied by the scope ('last few minutes', 'sorted by value', 'one token contract read over public RPC, so the window is short'), but the description never states when to pick this over alternatives such as evm_transfers or crypto_orderbook. The 'information only, not financial advice' line is a disclaimer, not routing guidance.

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

date_calcDate CalcA
Read-only
Inspect

Date and time calculations in pure code. op=diff: calendar years, months and days between two dates, and the total days. op=add or subtract: move a date by years, months, weeks, days, hours or minutes (month ends are clamped). op=info: weekday, ISO week, day of year, quarter, and age from birthDate. op=tz: a local date-time in one IANA time zone shown in another. Impossible dates are a 400 with the reason. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
opYesdiff, add, subtract, info or tz
toNodiff: end date YYYY-MM-DD
asOfNoinfo: the date the age is counted to, default today (UTC)
dateNoadd, subtract, info: date YYYY-MM-DD
fromNodiff: start date YYYY-MM-DD; tz: local date-time YYYY-MM-DDTHH:MM
unitNoadd, subtract: years, months, weeks, days (default), hours or minutes
amountNoadd, subtract: whole number
to_zoneNotz: IANA zone to show, e.g. America/New_York
datetimeNotz: local date-time like 2026-10-15T09:30
birthDateNoinfo: date of birth YYYY-MM-DD, for the age
from_zoneNotz: IANA zone of the given time, e.g. Europe/Berlin

Output Schema

NameRequiredDescription
opNo
toNo
daysNo
fromNo
yearsNo
monthsNo
sourceNo
checkedAtNo
directionNo
totalDaysNo
totalHoursNo
totalWeeksNo

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the readOnly/openWorld annotations: it discloses deterministic 'pure code' execution, month-end clamping on add/subtract, the failure mode ('impossible dates are a 400 with the reason'), and the billing model ($0.002 USDC per successful call, failed calls not charged). Pricing and failure semantics are exactly the non-obvious traits an agent needs before calling 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.

Conciseness4/5

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

Front-loaded with the core purpose, then a compact op-by-op enumeration, then error and pricing notes — every sentence carries information an agent needs. It is a single dense paragraph, so the op list and the billing note are harder to scan than they would be as separate lines.

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

Completeness4/5

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

Given 11 parameters and an output schema (so return values need no explanation), the description covers all five operations, failure behavior and cost, which is nearly everything needed to call it correctly. The remaining gaps are DST handling for tz and disambiguation from the timezone/business_days siblings.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, and the description adds genuinely new semantics: the allowed op set, default unit behavior, defaults implied by 'asOf', and the clamping rule that applies to amount/unit combinations. It does not clarify DST/ambiguous local times for the tz op, which is the one parameter area the schema is silent on.

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

Purpose4/5

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

States a specific verb+resource ('date and time calculations in pure code') and then spells out exactly what each of the five ops does, so an agent can pick the right operation. It does not, however, distinguish itself from overlapping siblings such as timezone, business_days, holidays or cron, which is a real ambiguity for op=tz.

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

Usage Guidelines4/5

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

Each op is given a concrete use case (diff = elapsed calendar time, add/subtract = shift a date, info = weekday/ISO week/age, tz = convert between IANA zones), which effectively tells the agent when to choose which op. There is no when-not guidance or pointer to alternatives, notably for op=tz versus the timezone sibling tool.

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

defi_chainsDefi ChainsA
Read-only
Inspect

Total value locked by chain from DefiLlama, largest first, with each chain's token, chain id and stablecoin market cap. With chain, that chain's own row and its TVL change over 1, 7 and 30 days from DefiLlama's daily history. Data: DefiLlama. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNoOptional chain name as DefiLlama spells it, e.g. Ethereum, Arbitrum, Base, Solana
limitNoChains to list, 1 to 50, default 20

Output Schema

NameRequiredDescription
chainNo
countNo
chainsNo
sourceNo
checkedAtNo
disclaimerNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only cover readOnlyHint and openWorldHint, so the description carries real extra weight: it discloses the data provider (DefiLlama), the billing model ($0.002 USDC per successful call via x402 on Base/Solana/Arc), and critically that failed calls are not charged. That charge/failure semantics is exactly the kind of behavior an agent needs before calling and is not derivable 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.

Conciseness4/5

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

Front-loaded with the core purpose and result shape, then mode behavior, then data source and billing. Dense but orderly. The 'Information only, not financial advice' sentence is boilerplate that does not help tool selection, a minor bit of padding.

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

Completeness4/5

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

An output schema exists, so return details are largely covered, and the description still helpfully summarizes the payload. Pricing, provider and the chain/no-chain split are all present. The only real gap is sibling differentiation against defi_tvl and defi_stablecoins.

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

Parameters4/5

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

Schema coverage is already 100%, so the baseline is 3, but the description adds meaning the schema does not: 'chain' switches the response shape (single row plus 1/7/30-day history) and the ordered-list semantics behind 'limit' (

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

Purpose4/5

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

States a specific verb+resource (total value locked by chain from DefiLlama), the sort order (largest first), and the extra fields returned. However it never names or contrasts itself with the obvious siblings defi_tvl, defi_stablecoins or defi_dex_volume, so an agent must infer the boundary between chain-level and protocol-level TVL.

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

Usage Guidelines3/5

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

It does explain the two modes: omit 'chain' to get the ranking, pass 'chain' to get that chain's row plus 1/7/30-day TVL change. That is useful contextual guidance, but there is no explicit when-to-use-this-instead statement relative to the many other defi_* tools, leaving the selection decision to inference.

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

defi_dex_volumeDefi Dex VolumeA
Read-only
Inspect

A DEX's trading volume for 24 hours, 7 days and 30 days, with the change over the last day and the chains it trades on. Attribution: Data: DefiLlama. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
protocolYesDefiLlama protocol slug, e.g. uniswap-v3

Output Schema

NameRequiredDescription
chainsNo
sourceNo
volumeNo
protocolNo
checkedAtNo
disclaimerNo
attributionNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the per-call price ($0.002 USDC via x402 on Base/Solana/Arc) and, crucially, that failed calls are not charged, which affects invocation risk and retry behavior.

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

Conciseness4/5

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

The core data description is front-loaded in one dense sentence, followed by attribution and pricing. Everything present earns its place, though the attribution/legal boilerplate is slightly less essential than the metric scope.

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

Completeness4/5

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

An output schema exists and the description still summarizes the returned metrics, so return values are well covered. For a one-param read tool with annotations, cost, and attribution stated, the only real gap is sibling differentiation.

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

Parameters3/5

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

Schema description coverage is 100%, with the single 'protocol' param documented as a DefiLlama slug with an example. The description adds no parameter-level detail beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

The description names the resource (a DEX's trading volume) and specifies the exact metrics returned (24h/7d/30d volume, day-over-day change, chains), which is more specific than a tautology. However, it never distinguishes itself from close siblings like defi_tvl or dex_pools, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no alternatives are named. The metric list implies it is the tool for DEX volume data, but the agent gets no help choosing it over defi_tvl or dex_pools.

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

defi_feesDefi FeesB
Read-only
Inspect

A DeFi protocol's fees and revenue for 24 hours, 7 days and 30 days, with the change over the last day against the day before, and the chains it runs on. Attribution: Data: DefiLlama. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
protocolYesDefiLlama protocol slug, e.g. aave or uniswap-v3

Output Schema

NameRequiredDescription
feesNo
chainsNo
sourceNo
revenueNo
protocolNo
checkedAtNo
disclaimerNo
attributionNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description does add genuinely useful non-annotation context: a $0.002 per-successful-call charge via x402 on Base/Solana/Arc, with failed calls free, plus a DefiLlama attribution and a not-financial-advice disclaimer. That is real added value, though nothing is said about rate limits, quotas, or freshness/latency of the data.

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

Conciseness4/5

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

The return contents and time windows are front-loaded, and the pricing/attribution boilerplate is compact and separated from the functional sentence. Slightly dense in the first sentence, but no wasted prose.

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

Completeness4/5

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

An output schema exists, so return shapes need not be restated, yet the description still previews the metric set helpfully. Combined with the disclosed paid-call model and attribution, an agent has what it needs to call this correctly; only cross-tool routing guidance is absent.

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

Parameters3/5

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

Only one parameter (protocol) and the schema description coverage is 100%, including the slug example 'aave' or 'uniswap-v3'. The description adds no syntax or format detail beyond the schema, so the baseline 3 for high schema coverage applies.

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

Purpose4/5

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

Names a specific resource (a DeFi protocol's fees and revenue) and enumerates the exact metrics returned: 24h/7d/30d windows, day-over-day change, and supported chains. That is enough to separate it from defi_tvl or defi_dex_volume, though it never names those nearby siblings explicitly, so an agent must still infer the boundary.

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

Usage Guidelines2/5

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

There is no statement of when to pick this over the numerous adjacent DeFi tools (defi_tvl, defi_dex_volume, defi_chains, defi_yields). The only usage-relevant content is the payment model, which tells the agent it costs money but not when spending it is appropriate.

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

defi_stablecoinsDefi StablecoinsA
Read-only
Inspect

Stablecoins tracked by DefiLlama: circulating supply, peg type and mechanism, price, and the chains each one runs on. With symbol, that coin; without it the 50 largest. Attribution: Data: DefiLlama. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
symbolNoSymbol, e.g. USDC (optional)

Output Schema

NameRequiredDescription
countNo
sourceNo
checkedAtNo
disclaimerNo
attributionNo
stablecoinsNo

TDQS

A4/5.0
Behavior5/5

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

Beyond the readOnly/openWorld annotations, it discloses the cost model ($0.002 USDC per successful call, x402 on Base/Solana/Arc), that failed calls are not charged, and that attribution to DefiLlama is expected. Payment mechanics and failure-charging behavior are exactly the kind of operational detail 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.

Conciseness4/5

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

Front-loaded data scope followed by mode behavior, attribution, disclaimer, and pricing. Every sentence carries information, though 'Information only, not financial advice' is boilerplate that could be trimmed without losing call-relevant meaning.

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

Completeness4/5

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

With one optional parameter, an output schema, and read-only annotations, the definition covers what is returned, the default scope, and the cost of a call. It omits how to retrieve stablecoins beyond the top 50 (pagination or ranking criteria), which is the one gap an agent might hit.

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

Parameters4/5

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

Schema coverage is 100% and the single optional parameter is documented in the schema, so the baseline is 3. The description adds real semantic value by specifying the default result set (the 50 largest) when symbol is omitted, which the schema does not state.

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

Purpose4/5

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

The description names the concrete resource (stablecoins tracked by DefiLlama) and enumerates the returned dimensions: circulating supply, peg type and mechanism, price, and supported chains. That is enough for an agent to separate it from defi_tvl, defi_chains, or crypto_price, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

'With symbol, that coin; without it the 50 largest' gives clear mode-selection guidance between the two call patterns. It stops short of telling the agent when to prefer this over crypto_price (live quotes) or token_metadata (token details), so 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.

defi_tvlDefi TvlA
Read-only
Inspect

Total value locked in DeFi from DefiLlama. For a protocol (its slug, e.g. aave-v3) the current TVL; for a chain (Base, Ethereum...) its TVL with 1-day and 7-day changes. A protocol's history is too large to read here, so it has no change figures. Attribution: Data: DefiLlama. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNoOr a chain name, e.g. Base
protocolNoDefiLlama protocol slug, e.g. aave-v3

Output Schema

NameRequiredDescription
noteNo
slugNo
typeNo
sourceNo
tvlUsdNo
checkedAtNo
disclaimerNo
attributionNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint and openWorldHint. The description adds pricing ($0.002 USDC via x402 on specific chains), that failed calls are free, attribution, and that protocol results omit change figures. That's real behavioral context beyond annotations, though it omits rate limits and the fact that no parameters returns something ambiguous.

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

Conciseness3/5

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

Front-loads the core purpose well, but the pricing, attribution, and disclaimer clauses add bulk that pushes the important operational constraint (no history) into a buried middle sentence.

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

Completeness4/5

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

Covers the two input modes, the protocol-vs-chain output difference, cost mechanics, and attribution. With an output schema present and 100% schema coverage, remaining gaps are minor; ambiguity about zero-parameter calls is the main omission.

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

Parameters4/5

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

Schema coverage is 100% and the schema already documents both params, but the description usefully clarifies the protocol path yields only current TVL while the chain path yields 1d/7d changes, adding meaning about output shape.

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

Purpose5/5

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

States a specific verb+resource: returns total value locked in DeFi from DefiLlama, and distinguishes inputs (protocol slug vs chain name). Clearly separable from siblings like defi_chains, defi_dex_volume, defi_fees, defi_stablecoins.

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

Usage Guidelines4/5

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

Explains what each parameter class fetches and explicitly notes that a protocol's history is too large to read here, which is a useful boundary. However, it doesn't point to which sibling to use for historical TVL or chain lists.

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

defi_yieldsDefi YieldsA
Read-only
Inspect

DeFi yield pools from DefiLlama with at least $1M TVL, sorted by APY and filtered by chain, project or symbol (max 50). APY is DefiLlama's estimate, split into base and reward; reward APYs are often temporary. Attribution: Data: DefiLlama. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNoChain name, e.g. base
limitNo1 to 50 (default 20)
symbolNoPool symbol, e.g. USDC
projectNoProtocol name contains, e.g. aave
minTvlUsdNoMinimum TVL in USD (default and floor 1,000,000)

Output Schema

NameRequiredDescription
noteNo
countNo
poolsNo
sourceNo
checkedAtNo
minTvlUsdNo
disclaimerNo
attributionNo

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses the $1M TVL floor, the 50-result cap, that APY is a DefiLlama estimate split into base and reward with often-temporary reward APYs, plus the exact cost model ($0.002 USDC per successful call via x402, failed calls free). The data-reliability caveat and billing behavior are exactly the kind of 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.

Conciseness4/5

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

Purpose and constraints are front-loaded in the first sentence, followed by data-quality caveats and billing terms. It is dense and semicolon-heavy with some mandatory legal/attribution boilerplate, but every clause carries actionable information and none is redundant.

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

Completeness4/5

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

With an output schema present and annotations covering the safety profile, the description supplies cost, scope, result cap and APY caveats, which is nearly everything an agent needs. The one small gap is that 'sorted by APY' does not state direction, and multi-value filter behavior is unaddressed.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters are already documented in the schema. The description restates chain/project/symbol filtering and the $1M TVL floor without adding syntax or format detail beyond the schema, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('DeFi yield pools from DefiLlama') and pins down the key scoping constraints: minimum $1M TVL, sorted by APY, filtered by chain/project/symbol, capped at 50. This is clearly distinguishable from siblings like defi_tvl, defi_stablecoins or dex_pools without 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.

Usage Guidelines3/5

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

The description implies when the tool is useful (yield/APY discovery filtered by chain, project or symbol) but never states when to prefer it over related siblings such as defi_tvl or dex_pools, nor any exclusions. Usage is inferable but not spelled out.

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

describe_imageDescribe ImageA
Read-only
Inspect

Describes an image from an https URL or base64 (JPEG, PNG, GIF or WEBP, up to 4 MB): a short description, visible objects, whether it contains text, and the answer to an optional question. Uses Llama 3.2 11B Vision; the model's answers can be wrong. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlNohttps:// image address
imageNoOr base64 image data
questionNoOptional question about the image

Output Schema

NameRequiredDescription
mimeNo
modelNo
answerNo
sourceNo
objectsNo
checkedAtNo
descriptionNo
containsTextNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnly/openWorld annotations: it names the underlying model (Llama 3.2 11B Vision), warns that answers can be wrong, states the exact cost ($0.003 USDC per successful call), names the payment rails (x402 on Base, Solana or Arc), and clarifies failed calls are not charged. Cost and reliability disclosures are exactly the context 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.

Conciseness4/5

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

Inputs are front-loaded in the opening clause, with output contents, model caveat and pricing following in a tight sequence of semicolon-joined clauses. Dense but every clause carries distinct information; slightly long single sentence costs it a point.

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

Completeness5/5

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

Even though an output schema exists (so return values needn't be described), the description covers inputs, formats, size limit, output shape, model identity, accuracy caveat and billing. For a 3-parameter, non-nested tool this leaves nothing an agent needs to decide or pay correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: 'url' must be https, 'image' is the base64 alternative, accepted formats and the 4 MB ceiling, and that 'question' is optional and answered rather than merely passed through. These constraints are absent from the schema descriptions.

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

Purpose5/5

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

States a specific verb and resource ('Describes an image from an https URL or base64') and then enumerates the exact outputs (short description, visible objects, text presence, optional question answer), so an agent knows precisely what it gets. The supported formats and 4 MB cap further pin down scope versus generic image/vision siblings.

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

Usage Guidelines3/5

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

Usage is only implied by the input formats and the optional 'question' parameter; there is no explicit when-to-use statement and no mention of alternatives such as ocr (pure text extraction) or image/logo tools in the sibling list. An agent can infer the use case but gets no routing guidance.

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

dex_poolsDex PoolsA
Read-only
Inspect

Fetches decentralized exchange (DEX) liquidity pools for a token or pair across chains via DexScreener (with GeckoTerminal fallback). Returns chain, DEX name, pair address, base/quote tokens, USD price, liquidity, 24h volume, 24h transaction count, price change percentages, and pool creation age. Limit up to 30 pools. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNoOptional chain filter (e.g. ethereum, solana, base)
limitNoMaximum number of pools to return (max 30)
tokenYesToken contract address or symbol to search pools for

Output Schema

NameRequiredDescription
poolsNo
queryNo
sourceNo
checkedAtNo
disclaimerNo
poolsCountNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint, but the description adds substantial undisclosed behavior: the x402 payment mechanism ($0.002 USDC per successful call, Base/Solana/Arc) and the crucial billing rule that failed calls are not charged. This is exactly the kind of cost/failure semantics 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.

Conciseness4/5

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

Front-loads purpose, then return fields, then constraints and cost. Mostly efficient, though the long enumeration of returned fields overlaps with the existing output schema and adds some length.

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

Completeness5/5

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

With readOnly/openWorld annotations and a dedicated output schema, the remaining agent-relevant unknowns are cost and failure billing, both fully disclosed. Nothing needed to invoke the tool correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so chain, limit, and token are already documented; the description only restates the 'up to 30' limit that the schema already carries. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose5/5

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

States a specific verb (fetches) and resource (DEX liquidity pools) scoped to a token or pair across chains, and names the data sources (DexScreener with GeckoTerminal fallback). This clearly separates it from sibling market tools like defi_dex_volume, token_metadata, or crypto_price.

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

Usage Guidelines4/5

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

Gives clear context for when to call it ('for a token or pair across chains') and the practical ceiling (max 30 pools), but never names an alternative sibling or states when NOT to use it (e.g., aggregate DEX volume via defi_dex_volume). Clear usage, missing explicit exclusions.

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

disastersDisastersA
Read-only
Inspect

Current disaster alerts from GDACS (UN OCHA and EC JRC): type (earthquake, tropical cyclone, flood, volcano, drought, wildfire), name, country, alert level, start date, severity and link. Filter by type and alert level. Attribution: GDACS. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
typeNoEQ, TC, FL, VO, DR or WF (optional)
alertNogreen, orange or red (optional)
limitNo1 to 30 (default 10)

Output Schema

NameRequiredDescription
countNo
queryNo
eventsNo
sourceNo
checkedAtNo
attributionNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish read-only and open-world behavior, but the description adds meaningful operational context: the GDACS source, x402 payment requirement, price per successful call, and the fact that failed calls are not charged. This is useful disclosure beyond the annotations, though it does not discuss rate limits or pagination.

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

Conciseness5/5

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

The description is compact and front-loaded, first stating what the tool returns and then covering filters, attribution, and pricing. Every sentence adds practical information without wasted wording.

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

Completeness5/5

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

With an output schema present and annotations covering safety behavior, the description supplies the remaining essentials: source, returned fields, filterable dimensions, attribution, and payment terms. Nothing critical for correct invocation appears to be missing.

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

Parameters3/5

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

Schema coverage is 100%, so the parameter meanings are already documented in the schema. The description reinforces filtering by type and alert level but does not explain the limit parameter or add much beyond the structured fields, making the baseline score appropriate.

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

Purpose4/5

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

The description clearly identifies the resource as current GDACS disaster alerts and enumerates disaster types, fields, and filters. It is specific but does not distinguish itself from nearby siblings such as earthquakes or weather_alerts.

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

Usage Guidelines3/5

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

It states that results can be filtered by disaster type and alert level, which implies typical usage. However, it gives no explicit guidance on when to choose this tool over related siblings, nor any exclusions or prerequisites beyond the payment note.

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

distanceDistanceA
Read-only
Inspect

The great-circle distance between two points in km and miles, the initial bearing and the midpoint. Each point is a lat,lon pair or a place name (geocoded with OpenStreetMap data, ODbL). Straight-line distance only, not a route. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
toYeslat,lon or a place name
fromYeslat,lon or a place name

Output Schema

NameRequiredDescription
toNo
fromNo
sourceNo
midpointNo
checkedAtNo
distanceKmNo
distanceMilesNo
initialBearingDegNo

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses the per-call price ($0.002 USDC), the payment rails (x402 on Base, Solana, Arc), that failed calls are not charged, and that place names are geocoded via OpenStreetMap/ODbL. Cost and billing semantics are exactly the kind of context 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.

Conciseness4/5

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

Two dense sentences, front-loaded with the output content (distance, bearing, midpoint) before the caveat and pricing. The pricing clause is long but every element (price, currency, rails, failure policy) is decision-relevant; minimal waste overall.

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

Completeness5/5

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

With an output schema present, the description need not restate return fields, and it doesn't. It covers inputs, geocoding behavior, the straight-line limitation, and the billing model, leaving nothing an agent needs before calling.

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

Parameters4/5

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

Schema coverage is 100% and both parameters are already documented as 'lat,lon or a place name,' so the baseline is 3. The description adds real value on top by explaining how place-name inputs are resolved (OSM geocoding, ODbL data), which tells the agent that free-text lookups are permitted and where the data comes from.

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

Purpose5/5

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

States a precise verb+resource: computes great-circle distance between two points, plus initial bearing and midpoint. The 'straight-line distance only, not a route' clause explicitly separates it from routing/flight-path style tools in the sibling list, so an agent can route correctly without reading the schema.

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

Usage Guidelines4/5

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

Clearly delimits scope with 'Straight-line distance only, not a route,' which is the main misuse risk. It does not name a concrete alternative sibling (e.g., geocode or places) for when the caller actually needs address resolution or a route, 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.

dnsDnsA
Read-only
Inspect

Mail and DNS hygiene of a domain over DNS over HTTPS: A, AAAA, MX, NS, TXT and CAA records; SPF parsed (mechanisms, the all qualifier, a lookup estimate, a warning above 10 lookups); the DMARC policy; DKIM keys under common selectors; MTA-STS, TLS-RPT and BIMI; an issues list and a mail grade from A to F. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
domainYesDomain or URL, e.g. example.com

Output Schema

NameRequiredDescription
aNo
mxNo
nsNo
caaNo
spfNo
txtNo
aaaaNo
bimiNo
dkimNo
dmarcNo
domainNo
existsNo
issuesNo
mtaStsNo
nullMxNo
sourceNo
tlsRptNo
checkedAtNo
mailGradeNo
mailScoreNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only and open-world behavior, but the description adds genuinely non-derivable context: a per-call price ($0.002 USDC), the x402 payment rails (Base, Solana, Arc), and that failed calls are not charged. It still omits things like rate limits or payment setup prerequisites, so it falls 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.

Conciseness5/5

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

Purpose is front-loaded ('Mail and DNS hygiene of a domain over DNS over HTTPS'), followed by a dense but purposeful capability list and a single closing cost sentence. No filler; 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.

Completeness4/5

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

An output schema exists, so return-value explanation is unnecessary, and annotations cover the safety profile. The description supplies capability scope, cost, and payment terms, leaving only minor gaps like latency or rate-limit expectations.

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

Parameters3/5

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

Only one parameter, and schema description coverage is 100% ('Domain or URL, e.g. example.com'), so the schema fully documents it. The description adds no format or normalization detail (e.g. whether URLs are stripped), matching the baseline 3 for high-coverage schemas.

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

Purpose4/5

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

The description names a specific resource (a domain) and enumerates exactly what is checked: A/AAAA/MX/NS/TXT/CAA records, SPF, DMARC, DKIM, MTA-STS, TLS-RPT, BIMI, plus an issues list and letter grade. It does not, however, differentiate itself from close siblings such as `domain` or `email_check`, so an agent cannot tell them apart from the text alone.

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

Usage Guidelines3/5

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

Intended usage (inspect DNS and mail hygiene for a domain) is strongly implied by the content list, but there is no explicit when-to-use, when-not-to-use, or named alternative among the many domain/email siblings. The agent must infer selection.

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

doiDoiA
Read-only
Inspect

A DOI's bibliographic record from Crossref (title, authors, journal, publisher, date, type, citation count, license), or the best matches for a citation-style search (max 10). An unknown DOI answers 404, not charged. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoOr a citation-style search
doiNoDOI, e.g. 10.1038/nature14539
limitNoMatches for q, 1 to 10 (default 5)

Output Schema

NameRequiredDescription
countNo
worksNo
sourceNo
checkedAtNo

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the readOnly/openWorld annotations, the description discloses concrete operational behavior: price ($0.002 USDC per successful call), payment rails (x402 on Base, Solana or Arc), and the billing rule that failed calls and unknown DOIs (404) are not charged. That is exactly the kind of cost and failure semantics 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.

Conciseness5/5

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

Two sentences carry the resource definition, the alternative mode, the failure mode, and the pricing, with the primary behavior front-loaded and no filler.

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

Completeness5/5

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

With an output schema present, the description need not explain return values, yet it still lists the key fields. It also covers both modes, the 404 case, and the payment model, leaving nothing an agent needs in order to call this paid endpoint correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters are already documented (doi example, q as citation search, limit 1-10 default 5). The description's 'max 10' merely restates the schema constraint and adds no new 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.

Purpose4/5

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

The description names a specific resource (a DOI's Crossref bibliographic record) and enumerates the returned fields, plus a second mode (citation-style search returning up to 10 matches). An agent can tell what it fetches, but nothing distinguishes it from sibling literature tools like arxiv, pubmed, or research_papers, so it does not help routing among near-neighbors.

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

Usage Guidelines3/5

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

The two modes are implied by 'or' and clarified by the schema (doi for a known identifier, q for a citation-style search), which is enough to choose the right parameter. However, there is no explicit statement of when to prefer this over arxiv/pubmed/research_papers, and no stated prerequisites or exclusions beyond the 404 note.

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

domainDomainA
Read-only
Inspect

Domain lookup over RDAP (the successor of WHOIS) and DNS: registered or available, registrar, creation, update and expiry dates, days until expiry, age, status codes, DNSSEC, name servers, plus whether it resolves (IPv4/IPv6) and its mail servers. Any TLD with an RDAP service; others are inferred from DNS. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
domainYesDomain or URL, e.g. example.com or https://www.example.com/page

Output Schema

NameRequiredDescription
dnsNo
noteNo
dnssecNo
domainNo
sourceNo
ageDaysNo
createdAtNo
expiresAtNo
registrarNo
updatedAtNo
registeredNo
nameServersNo
statusCodesNo
availabilityNo
rdapAvailableNo
daysUntilExpiryNo
registrarIanaIdNo
registeredDomainNo
registrantCountryNo
registrantOrganisationNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, and the description adds genuinely non-obvious behavior: the per-call cost ($0.002 USDC), the x402 payment rails accepted, and the crucial fact that only successful calls are charged. The TLD coverage caveat also warns about degraded results. It omits rate limits and what happens on non-existent domains, keeping it short of a 5.

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

Conciseness4/5

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

Purpose is front-loaded in the opening clause, followed by the output inventory, the coverage caveat, and the pricing terms — a logical order with no filler. The enumerated output list is long but each item is decision-relevant for selecting this tool over a plain DNS tool.

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

Completeness4/5

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

An output schema exists, so return-value explanation is optional, and the description still usefully summarizes what comes back plus the TLD coverage limitation and the payment model — the key things an agent needs before invoking. Only the absence of guidance versus sibling tools (dns, ssl, subdomains) keeps it from being fully complete.

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

Parameters3/5

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

Schema description coverage is 100% and the single 'domain' parameter is already documented as accepting a bare domain or full URL. The description adds nothing beyond that (no TLD/IDN/case handling), so baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource ('Domain lookup over RDAP and DNS') and enumerates the concrete outputs (registrar, dates, status codes, DNSSEC, name servers, resolution, mail servers), which lets an agent match the tool to a domain-information request. It stops short of naming or contrasting its natural siblings (dns, domain_typosquat, ssl), so it does not fully differentiate.

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

Usage Guidelines3/5

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

Usage is only implied by the output enumeration; there is no explicit 'use this when…' or 'use dns/certs instead for…' guidance. The coverage note ('Any TLD with an RDAP service; others are inferred from DNS') does hint at when results may be partial, which is a mild usage signal, but alternatives are never addressed.

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

domain_typosquatDomain TyposquatA
Read-only
Inspect

Generates lookalike domains of a brand (omission, transposition, repetition, bit-flip, homoglyph, vowel swap, hyphenation, TLD swap; technique list after dnstwist), checks up to 30 of them in DNS (A records), and reads MX records for up to 8 that resolve. Resolving in DNS is not proof of registration or abuse. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
limitNoVariants to look up in DNS, 1-40 (default 40)
domainYesBrand domain, e.g. example.com (a host name with a dot, no scheme or path)

Output Schema

NameRequiredDescription
noteNo
domainNo
lookedNo
sourceNo
checkedAtNo
resolvingNo
registeredNo
unresolvedNo
variantsGeneratedNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, and the description adds genuine behavioral context beyond them: the DNS/MX scope caps, the warning that resolution is not proof of registration or abuse, and the x402 payment model ($0.002 USDC, failed calls uncharged). The only blemish is the stated 'up to 30' DNS cap, which conflicts with the schema's 1-40 limit.

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

Conciseness4/5

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

Dense but well front-loaded: capability first, caveat second, pricing last. The technique enumeration and scope caps are informative, though the parenthetical dnstwist attribution is slightly decorative.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and the description covers scope, the key interpretation caveat, and the payment model. The limit-count mismatch (30 vs 40) is the one gap an agent could trip on.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters and the baseline is 3. The description restates the DNS lookup scope but introduces a '30' figure that clashes with the schema's 1-40 range, so it adds ambiguity rather than clarity.

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

Purpose5/5

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

States a specific verb (generates lookalike domains) plus the enumeration of techniques, the DNS A-record check, and the MX read. An agent can distinguish it from siblings like dns, domain, and subdomains without opening the schema.

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

Usage Guidelines3/5

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

The tool's use case (typosquat / brand-abuse reconnaissance) is implied by the technique list and caveat, but it never says when to pick this over dns or domain, nor any when-not condition. Usage is inferable rather than stated.

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

earthquakesEarthquakesA
Read-only
Inspect

Recent earthquakes from USGS, newest first: magnitude, place, time, depth, coordinates, tsunami flag and alert level. Filter by minimum magnitude, days back (max 30) and a radius around a point. Public domain data. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
latNoPoint latitude, with lon and radiusKm
lonNoPoint longitude
daysNo1 to 30 (default 7)
limitNo1 to 50 (default 10)
radiusKmNoRadius in km around the point
minMagnitudeNo0 to 10 (default 4.5)

Output Schema

NameRequiredDescription
daysNo
countNo
eventsNo
sourceNo
checkedAtNo
minMagnitudeNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly and openWorld, so safety is covered. The description adds valuable non-annotated behavior: USGS source, newest-first ordering, 30-day max, and especially the x402 payment model with $0.002 per successful call and no charge on failure — pricing is a material calling consideration an agent must know.

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

Conciseness5/5

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

Three tight sentences: data/source first, filtering second, payment last. Every clause carries information and there is no filler.

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

Completeness4/5

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

An output schema exists so return values needn't be explained, yet the description still lists key fields helpfully. Pricing, source, ordering and limits make the definition callable as-is; only minor gaps like pagination via limit behavior remain.

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

Parameters3/5

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

Schema coverage is 100%, with all six parameters documented including ranges and defaults. The description adds the lat/lon/radius correlation and 'days back (max 30)' which restates schema, so little extra value beyond the baseline.

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

Purpose5/5

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

States a specific verb+resource (recent earthquakes from USGS), enumerates returned fields, and describes filtering dimensions. It's clearly distinguishable from siblings like disasters, weather, or tides.

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

Usage Guidelines4/5

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

Explains filtering options and the 30-day cap, which implies when this tool is appropriate (recent seismic activity). No explicit exclusion of alternatives like disasters, but the data source and field list provide strong context.

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

econ_indicatorEcon IndicatorA
Read-only
Inspect

Macro indicators for any country from the World Bank (CC BY 4.0): GDP, GDP growth, GDP per capita, inflation (CPI), unemployment, population, current account, government debt and lending interest rate, with the year, value and unit of each. Country by ISO2 or ISO3 code or exact name; indicator by friendly name or a raw World Bank code. Values lag by one to two years; years with no published value are left out. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
yearsNoHow many years back, 1 to 60, default 10
countryYesISO2 or ISO3 code (DE or DEU), or the country name, e.g. Germany
indicatorYesgdp, gdp-growth, gdp-per-capita, inflation, unemployment, population, current-account, government-debt, interest-rate, or a World Bank code such as NY.GDP.MKTP.CD

Output Schema

NameRequiredDescription
seriesNo
sourceNo
countryNo
checkedAtNo
indicatorNo
disclaimerNo
lastUpdatedNo

TDQS

A4/5.0
Behavior5/5

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

Annotations cover only readOnly/openWorld, and the description goes well beyond them: it discloses value lag of 1-2 years, omission of years with no published value, and full pricing/auth behavior ($0.002 USDC per successful call via x402 on Base/Solana/Arc, no charge on failure). This is exactly the kind of behavioral context structured fields don't carry.

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

Conciseness4/5

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

Three tight sentences that lead with purpose, then inputs, then caveats/pricing. Dense but front-loaded and mostly waste-free; minor overlap between the indicator list in the prose and the schema enumeration.

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

Completeness4/5

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

With an output schema present, return values needn't be explained, and the description covers source, licensing, input formats, data caveats, and payment. The one gap is lack of any routing signal distinguishing it from the 'macro' sibling.

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

Parameters4/5

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

Schema coverage is 100% so the baseline is 3, but the description adds meaningful semantics beyond the schema: 'exact name' matching for country, 'raw World Bank code' acceptance for indicator, and the note that unpublished years are dropped, which shapes how 'years' should be interpreted.

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

Purpose4/5

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

States a specific verb+resource (macro indicators from the World Bank) and enumerates the exact indicator set, so an agent knows precisely what it retrieves. It does not, however, differentiate itself from the sibling 'macro' tool, which is the most plausible alternative for a macro query.

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

Usage Guidelines3/5

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

It gives input conventions (ISO2/ISO3/exact name; friendly name or raw World Bank code), which implies how to call it, but there is no explicit when-to-use guidance or exclusion relative to 'macro' or other data siblings. Usage is inferable rather than stated.

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

email_checkEmail CheckA
Read-only
Inspect

E-mail pre-check without SMTP: syntax, whether the domain can receive mail (MX or implicit MX, null MX, non-existent domain), disposable domain (9,000+ domain CC0 list), role account (info@, sales@...), free provider and a typo suggestion (gmial.com -> gmail.com). Verdict invalid / risky / unknown. Up to 50 addresses per call with emails=. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
emailNoOne e-mail address
emailsNoAlternative: up to 50 addresses, comma-separated

Output Schema

NameRequiredDescription
mxNo
noteNo
roleNo
emailNo
totalNo
countsNo
domainNo
mxHostsNo
reasonsNo
resultsNo
verdictNo
disposableNo
normalizedNo
suggestionNo
freeProviderNo
disposableListSizeNo

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the readOnly/openWorld annotations: discloses the actual cost model ($0.002 USDC per successful call, x402 on Base/Solana/Arc), that failed calls are not charged, and the 50-address batch ceiling. These payment and billing traits are exactly the kind of context 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.

Conciseness5/5

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

One dense, front-loaded paragraph: what it checks first, verdict vocabulary next, then batching and pricing. Every clause carries information and nothing is padded.

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

Completeness5/5

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

With an output schema available, the description need not explain return values, and it covers the remaining gaps an agent needs — verification method, verdict categories, batching limit, and payment semantics. 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.

Parameters3/5

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

Schema coverage is 100% and both fields are already documented, including that emails is an alternative comma-separated list. The description restates the 50-address limit and the 'emails=' usage but adds no format or edge-case detail (trimming, duplicates, single-vs-batch mixing) 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.

Purpose5/5

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

States a specific verb+resource: an e-mail pre-check that runs without SMTP, enumerating exactly what is checked (syntax, MX/implicit MX/null MX/non-existent domain, disposable, role account, free provider, typo suggestion) and the verdict scale. This clearly separates it from generic siblings like validate, domain, dns, or email_reply.

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

Usage Guidelines4/5

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

The 'without SMTP' framing and the invalid/risky/unknown verdicts tell an agent this is a cheap pre-flight gate before sending or before a real SMTP probe. It does not name an alternative sibling (e.g. validate or dns) or state exclusion cases, so there is clear context but no explicit routing.

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

email_replyEmail ReplyA
Read-only
Inspect

Drafts a reply (subject and body) to a received e-mail (max 10,000 characters) for an intent: accept, decline, ask-information, follow-up or custom with your own instructions. Tone formal, neutral or friendly; language as requested. Dates, numbers and names that are not in the inputs appear as placeholders such as [date]. Read it before sending. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
toneNoformal, neutral (default) or friendly
emailYesThe e-mail you received (max 10,000 characters)
intentYesaccept, decline, ask-information, follow-up or custom
languageNoLanguage code or name of the reply, default en
instructionsNoYour own instructions (max 500 characters), required for intent custom

Output Schema

NameRequiredDescription
bodyNo
noteNo
toneNo
intentNo
subjectNo
languageNo
checkedAtNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint, openWorldHint) by disclosing the pricing model ($0.002 USDC, x402, Base/Solana/Arc, failed calls free), the character limit, the placeholder behavior for unknown data, the fact that the output is a draft that must be reviewed before sending, and the tone/language/intent options. This is rich behavioral context.

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

Conciseness5/5

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

The description is two sentences that are front-loaded with the core purpose and constraints, followed by pricing details. Every clause earns its place; no redundancy.

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

Completeness4/5

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

The description covers purpose, constraints, cost, and output handling. Since an output schema exists, it does not need to explain return values. However, it could mention any rate limits or authentication requirements beyond the payment mechanism, which is already covered. It is nearly complete for a relatively simple text-generation tool.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all five parameters. The description does add some value by restating the intent options and mentioning the 10,000-character limit for the email parameter, but the schema already provides this. Baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb (drafts) and resource (a reply, subject and body) to a received e-mail. It enumerates the intent options and specifies that a placeholder system is used for unknown dates/numbers/names, which is precise and distinguishes it from siblings like text_paraphrase or translate.

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

Usage Guidelines4/5

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

The description clearly implies this is for drafting replies to received e-mails, but does not explicitly state when NOT to use it (e.g., for original e-mails use a different tool) or name any alternatives. It does tell the user to read the result before sending, which is a usage guideline.

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

embedEmbedA
Read-only
Inspect

Multilingual text embeddings (BGE-M3, 1024 dimensions) for up to 100 texts per call. For search, RAG and clustering. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textYesA string or an array of up to 100 strings

Output Schema

NameRequiredDescription
modelNo
dimensionsNo
embeddingsNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already say readOnlyHint and openWorldHint, but the description adds meaningfully more: cost of $0.002 USDC per successful call, x402 payment across Base, Solana or Arc, and that failed calls are not charged. That payment/authorization context is exactly the sort of thing the schema and annotations cannot convey. It stops short of 5 only because it says nothing about latency, batching failure modes, or idempotency.

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

Conciseness5/5

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

Two tight sentences: model/dimensions/batch limit first, then use cases, then price. Every clause carries information an agent cannot get from structured fields, and there is no filler.

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

Completeness4/5

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

An output schema exists, so return-format explanation is unnecessary, and the description covers model identity, batch limits, use cases, and the payment prerequisite. It is nearly complete; only minor gaps remain around whether a batch returns vectors in input order and whether the array can mix lengths.

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

Parameters3/5

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

With one parameter at 100% schema description coverage, the schema already documents 'a string or an array of up to 100 strings.' The description repeats the 100-item limit but adds no syntax, ordering, or normalization semantics beyond that, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource with concrete specs: 'Multilingual text embeddings (BGE-M3, 1024 dimensions) for up to 100 texts per call.' An agent immediately knows this produces vectors of a fixed model and dimensionality. It does not explicitly contrast with near siblings such as rerank or classify, so it stops short of full sibling differentiation.

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

Usage Guidelines4/5

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

'For search, RAG and clustering' gives clear usage context that maps to the downstream tasks where embeddings are appropriate. There are no exclusions or explicit pointers to alternatives (e.g. use rerank to score, classify to label), which would be needed for a 5.

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

encodeEncodeB
Read-only
Inspect

Encode or decode text as base64, base64url, hex, URL (percent) encoding, HTML entities, punycode (domain names) or quoted-printable. Body { input, scheme, direction }, up to 1 MB. Invalid input to decode is a 400 that names the position of the first bad character. Unknown HTML entities are reported, not guessed. Pure code, no outside request. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
inputYesThe text to encode or decode (JSON body field)
schemeYesbase64, base64url, hex, url, html, punycode or quoted-printable
directionNoencode (default) or decode

Output Schema

NameRequiredDescription
outputNo
schemeNo
sourceNo
checkedAtNo
directionNo

TDQS

B3.2/5.0
Behavior1/5

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

The description explicitly says 'Pure code, no outside request', yet the annotations declare openWorldHint=true, which signals interaction with an open world of external entities. That is a direct contradiction between prose and structured metadata. Aside from that, the description does add useful behavior (1 MB cap, 400 errors naming the position of the first bad character, unknown HTML entities reported not guessed, failures not charged), but the conflict on the open/closed-world profile is the dominant signal.

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

Conciseness4/5

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

The scheme list and body shape are front-loaded, and each subsequent sentence adds a distinct fact (size cap, error behavior, entity handling, purity, pricing). It is dense and mostly waste-free; pricing and purity could arguably be trimmed, but both matter for a paid x402 tool.

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

Completeness4/5

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

With an output schema present, return values need not be explained, and the description covers the input limit, direction default, failure mode, and cost model. The main gap is that the open/closed-world profile is muddled by the annotation conflict rather than clarified by the prose.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3; the description goes beyond it by restating the body fields, adding a concrete size limit ('up to 1 MB'), and describing what a bad decode input produces. It does not enumerate allowed scheme values as enums or explain scheme-specific edge cases, so it stops short of a 5.

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

Purpose4/5

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

The description states a specific verb pair (encode/decode) and enumerates the exact schemes supported (base64, base64url, hex, url, html, punycode, quoted-printable), which implicitly separates it from nearby siblings like hash, evm_decode, and jwt_decode. It does not explicitly name an alternative tool, so sibling differentiation is by enumeration rather than by routing statement.

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

Usage Guidelines3/5

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

Usage is implied: the body shape and the direction field ('encode (default) or decode') tell the agent how to invoke it, and 'Pure code, no outside request' gives context. But there is no explicit when-to-use/when-not guidance and no named alternative (e.g. use hash for digests, jwt_decode for tokens), so routing between this and adjacent tools rests on inference.

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

enforcement_actionsEnforcement ActionsA
Read-only
Inspect

Recent enforcement items from the regulators' own feeds: SEC litigation releases and administrative proceedings, CFPB enforcement actions, FTC consumer-protection and competition press releases, DOJ press releases. Each: agency, feed, title, date, link, a short summary and, for SEC and CFPB, the respondent named in the title. Filters: agency, words (q), days (1-90). The feeds hold the latest 25-30 items each. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoWords that must appear in the title or summary (optional)
daysNoLook back this many days, 1 to 90, default 30
limitNoItems to return, 1 to 50, default 20
agencyNosec, cfpb, ftc or doj; omit for all

Output Schema

NameRequiredDescription
countNo
itemsNo
sinceNo
sourceNo
agenciesNo
checkedAtNo
disclaimerNo
feedsUnavailableNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds substantial value beyond that: an explicit pricing model ($0.003 in USDC per successful call via x402 on Base/Solana/Arc) and that failed calls are not charged, plus the 25-30 item feed-depth limit. This is meaningful operational context not present in 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.

Conciseness4/5

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

Front-loaded with the purpose and covered agencies, then return fields, filters, feed depth, and pricing. Dense and mostly efficient, though the return-field enumeration ('Each: agency, feed, title...') is somewhat redundant given an output schema exists.

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

Completeness4/5

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

With an output schema present, the description needn't explain return values, and annotations cover the read-only/open-world profile. It still conveys the regulator scope, filters, feed freshness limit, and payment model, making it complete enough for an agent to invoke correctly, with only the usage-vs-alternatives gap remaining.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all four parameters, establishing a baseline of 3. The description restates the filters (agency, words/q, days 1-90) but adds no syntax or format detail beyond the schema, and omits the limit parameter entirely, so it does not exceed the baseline.

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

Purpose5/5

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

The description states a specific resource (enforcement items from regulator feeds) and enumerates exactly which agencies are covered (SEC litigation/administrative proceedings, CFPB enforcement, FTC, DOJ press releases), which distinguishes it from siblings like sec_events, sec_filings, or recalls. An agent can tell what it 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.

Usage Guidelines3/5

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

It lists the available filters (agency, q, days) and discloses that feeds hold only the latest 25-30 items each, implying a recency scope. However, it never states when to use this tool versus alternatives such as sec_events or violations, nor any exclusion conditions. Usage is implied rather than guided.

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

ensEnsA
Read-only
Inspect

ENS on Ethereum mainnet. A name (vitalik.eth) resolves to its address, and an address resolves to its primary name, accepted only when that name resolves back to the same address. Returns the avatar and the url, com.twitter, com.github, description and email text records when set. A name that is not registered returns 200 with address null. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
nameNoENS name, e.g. vitalik.eth
addressNoOr an address, 0x…

Output Schema

NameRequiredDescription
nameNo
inputNo
avatarNo
addressNo
recordsNo
sourcesNo
resolverNo
checkedAtNo
disclaimerNo
registeredNo
primaryNameNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and openWorldHint, yet the description adds substantial context beyond them: reverse resolution is only accepted when the name resolves back to the same address, which text records are returned when set, the null-address not-found behavior, and the $0.002 USDC x402 price with failed calls 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.

Conciseness5/5

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

Front-loads the core resolution behavior, then layers record coverage, not-found handling, and pricing in short declarative sentences with no filler. Every sentence carries operational information.

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

Completeness5/5

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

Output schema covers the return shape, and the description still covers the edge cases an agent needs (null address on unregistered names, forward-confirmation requirement, paid-call pricing and non-charging on failure). 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.

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics beyond 'ENS name' and '0x…': it explains the two parameters are alternative input modes with different resolution directions and that address results are validated by reverse lookup. It stops short of saying whether both may be supplied together.

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

Purpose5/5

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

Opens with a specific verb and resource ('ENS on Ethereum mainnet') and describes bidirectional resolution (name→address, address→primary name) with the forward-confirmation rule. That behavior is distinct from siblings like evm_address, address_parse, and dns, so an agent can discriminate without opening a schema.

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

Usage Guidelines4/5

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

Explains how to drive the tool: supply a name to get an address, or an address to get the primary name, and clarifies that an unregistered name returns 200 with address null. It does not name an explicit alternative or exclusion (e.g., when to prefer evm_address), 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.

entitiesEntitiesA
Read-only
Inspect

Named entities in a text or a page: people, organisations, places, dates and money amounts (from the chat model), plus e-mail addresses, URLs and phone numbers (from patterns), each de-duplicated with a count. With url, the page's readable text is used (robots.txt is respected). Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlNoOr a page address, https://…
textNoText, up to 12,000 characters

Output Schema

NameRequiredDescription
urlNo
urlsNo
datesNo
modelNo
moneyNo
emailsNo
peopleNo
phonesNo
placesNo
sourceNo
checkedAtNo
organisationsNo

TDQS

A4.7/5.0
Behavior5/5

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

With readOnlyHint and openWorldHint already present, the description adds substantial behavioral context beyond annotations: de-duplication with counts, source distinction between model and pattern extraction, robots.txt compliance for URLs, per-call pricing, accepted payment networks, 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.

Conciseness5/5

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

The description is three tightly written sentences with no wasted words. It front-loads the output categories, then explains URL behavior, then mentions pricing, which is exactly the information an agent needs in a sensible order.

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

Completeness5/5

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

An output schema exists, so return value structure is already covered. The description adds the key return semantics (entity categories and de-duplicated counts), input mode behavior, and pricing model, leaving no critical gap for an agent deciding 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.

Parameters4/5

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

Schema description coverage is 100%, so both parameters are already documented. The description adds semantic meaning for the url parameter by explaining that the page's readable text is used and robots.txt is respected. It does not add extra detail for the text parameter beyond what the schema already provides.

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

Purpose5/5

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

The description names the specific resource (named entities) and enumerates the exact categories returned: people, organisations, places, dates, money amounts, e-mail addresses, URLs, and phone numbers. It also distinguishes the extraction sources (chat model vs. pattern-based), which helps separate it from generic extraction siblings.

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

Usage Guidelines4/5

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

It establishes clear usage context: operate on either a text string or a page URL. It also states the special behavior for the URL mode (readable text is used and robots.txt is respected). It does not, however, compare itself against alternatives such as text_keywords or extract, or specify when not to use it.

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

eoriEoriA
Read-only
Inspect

Checks up to 10 UK EORI numbers (GB or XI followed by 12 or 15 digits) with HMRC's public check: valid or not, with the processing date. HMRC does not publish the trader's name in this check, so it is null. An HMRC outage is a 503, not charged, never 'invalid'. EU EORI numbers are refused with a 400 in this version. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
eoriYesOne UK EORI number, or up to 10 separated by commas, e.g. GB123456789000

Output Schema

NameRequiredDescription
noteNo
countNo
sourceNo
resultsNo
checkedAtNo

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses that the trader name is null, that an HMRC outage surfaces as 503 and is never reported as 'invalid', that EU numbers get a 400, and the exact pricing/charge model (x402, failed calls not charged). This is exactly the operational context an agent needs for an external paid check.

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

Conciseness5/5

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

Purpose is front-loaded, followed by edge cases and pricing, with no wasted sentences. Dense but every clause carries distinct operational value.

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

Completeness5/5

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

With an output schema present, return values needn't be explained, yet the description still clarifies the one surprising field (name is null). Error behavior (503, 400) and cost model are covered, making it complete for a paid external validation tool.

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

Parameters4/5

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

Schema coverage is 100% and the single parameter is already documented, so the baseline is 3. The description adds real meaning beyond the schema example by specifying accepted formats: GB or XI prefix followed by 12 or 15 digits.

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

Purpose5/5

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

States a specific verb (Checks) and resource (UK EORI numbers) plus the authority used (HMRC's public check) and what is returned (valid or not, processing date). An agent can tell this apart from nearby validation tools like vat or lei without opening the schema.

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

Usage Guidelines4/5

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

Usage context is clear (validate UK EORI numbers against HMRC), and it explicitly states a when-not: EU EORI numbers are refused with a 400 in this version. No named alternative sibling is offered, 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.

eu_tendersEu TendersA
Read-only
Inspect

Active EU public tenders from TED matching words, optionally for one buyer country: notice number, title, buyer, country, publication date, deadline, CPV codes and link, newest first. Country is an ISO alpha-3 code (DEU, FRA, POL). Attribution: TED, EU open data. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoKeywords
countryNoISO 3166 alpha-3 buyer country, e.g. DEU

Output Schema

NameRequiredDescription
queryNo
totalNo
sourceNo
tendersNo
checkedAtNo
attributionNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=true, openWorldHint=true), and the description adds substantial context beyond them: the pricing model ($0.002 USDC per successful call via x402), the fact that failed calls are not charged, and the data attribution (TED, EU open data). This payment/charging behavior is genuinely valuable and not derivable from annotations.

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

Conciseness4/5

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

Front-loaded with purpose and returned fields, then param detail, then attribution and price. Every sentence carries information, though the price/attribution tail makes it slightly dense. No wasted filler.

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

Completeness4/5

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

With an output schema present, return values need not be explained, yet the description still lists key fields helpfully. It covers source, filtering, ordering, param format, pricing, and attribution, leaving little an agent would need before calling.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented. The description reinforces 'country is an ISO alpha-3 code (DEU, FRA, POL)', which duplicates the schema's 'e.g. DEU' and adds only extra examples, and 'matching words' lightly rephrases the 'Keywords' param. Baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb and resource ('Active EU public tenders from TED'), names the source (TED), and enumerates the returned fields plus ordering ('newest first'). An agent can immediately tell this apart from the many crypto/data siblings and understand exactly what it returns.

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

Usage Guidelines3/5

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

The phrase 'matching words, optionally for one buyer country' implies the retrieval use case and clarifies that the country filter is optional, but there is no explicit when-to-use/when-not guidance or alternative routing. For a fairly unique tool with no close sibling, implied usage is adequate but not rich.

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

evm_addressEvm AddressA
Read-only
Inspect

Native balance, nonce and account type of an EVM address on Base (default), Ethereum, Arbitrum, Optimism or Polygon: a wallet, a contract, or an EIP-7702 delegated wallet with its delegate. On Ethereum also the ENS primary name, when it resolves back to the address. Read over public RPC. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNobase (default), ethereum, arbitrum, optimism or polygon
addressYesEVM address, 0x…

Output Schema

NameRequiredDescription
kindNo
chainNo
nonceNo
nativeNo
sourceNo
addressNo
checkedAtNo
codeBytesNo
disclaimerNo
delegatedToNo
primaryNameNo

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the readOnly/openWorld annotations by disclosing the transport ('read over public RPC'), the cost model ($0.002 USDC per call), the payment rail (x402 on Base/Solana/Arc), and crucially that failed calls are not charged. This is exactly the kind of operational 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.

Conciseness5/5

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

Front-loaded with the returned fields and chain list, followed by chain-specific ENS behavior and then pricing. Three dense sentences with no filler; the pricing sentence earns its place because it affects invocation decisions.

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

Completeness4/5

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

With an output schema present, return values need no explanation, and annotations cover safety; the description still supplies cost, transport, chain scope, and account-type nuance. Minor gaps remain around latency/rate limits and explicit sibling disambiguation, but nothing an agent needs to call it is missing.

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

Parameters4/5

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

Schema coverage is 100% so the baseline is 3, but the description adds meaning the schema lacks: it characterizes what an address can be (wallet, contract, EIP-7702 delegated wallet with its delegate) and notes the ENS name is returned only on Ethereum when it resolves back. That enriches interpretation of the single address parameter.

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

Purpose4/5

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

The description states a specific resource and the exact fields returned (native balance, nonce, account type, ENS primary name) plus the supported chains, so overlap with generic 'balance' tools is minimized. It does not, however, name or differentiate itself from close siblings like evm_balance, evm_wallet, or rpc_evm.

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

Usage Guidelines3/5

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

Usage is implied by the scope of what is returned, and the chain default (Base) is stated, but there is no explicit when-to-use guidance or routing to alternatives such as evm_balance or evm_wallet. The agent must infer the choice from the field list alone.

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

evm_allowanceEvm AllowanceA
Read-only
Inspect

ERC-20 allowance an owner has granted a spender for one token: raw and human amount, with the token's symbol and decimals. unlimited is true when the allowance is at least 2^255, the usual approve-everything value. Read-only. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNobase (default), ethereum, arbitrum, optimism or polygon
ownerYesToken owner, 0x…
tokenYesERC-20 contract, 0x…
spenderYesSpender, 0x…

Output Schema

NameRequiredDescription
rawNo
chainNo
ownerNo
tokenNo
amountNo
sourceNo
spenderNo
checkedAtNo
unlimitedNo
disclaimerNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely useful context beyond that: the unlimited threshold semantics (>= 2^255), the exact price per successful call, the payment rails (x402 on Base/Solana/Arc), and that failed calls are not charged. It does not describe latency or rate limits, but the added behavior is substantial.

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

Conciseness4/5

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

Front-loads the core semantics (what the allowance is and what is returned), then the unlimited flag, then the read-only/pricing footer. Dense but every clause adds information; the pricing sentence is slightly extraneous to selection but useful for cost-aware agents.

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

Completeness4/5

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

An output schema exists, so return values need not be spelled out, and the description still adds the interpretation of the unlimited flag. Pricing and payment mechanics are disclosed. It is complete for calling the tool correctly, with only marginal gaps around usage routing versus alternatives.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (chain, owner, token, spender) are already documented in the schema. The description adds no parameter-level detail such as address format nuances or chain-specific caveats; the 2^255 note concerns the output, not a parameter. Baseline 3 is appropriate.

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

Purpose5/5

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

Names a specific verb/resource (ERC-20 allowance between an owner and spender for one token) and enumerates what the result contains (raw and human amount, symbol, decimals). This is clearly distinguishable from sibling tools like evm_token, token_metadata, or evm_balance.

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

Usage Guidelines3/5

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

The description implies when to call it (checking a specific owner→spender approval) and marks it read-only, but it never states when to prefer it over evm_call or another allowance path, nor gives prerequisites beyond the required params. Usage is implied rather than guided.

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

evm_balanceEvm BalanceA
Read-only
Inspect

ERC-20 balance of an address for one token contract on a chain: token name, symbol, decimals, raw and human amount, and a USD value when Coinbase has a spot price for the symbol. Only the token you name is read; the native balance is in /api/evm/address. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNobase (default), ethereum, arbitrum, optimism or polygon
tokenYesERC-20 contract address, 0x…
addressYesEVM address, 0x…

Output Schema

NameRequiredDescription
rawNo
chainNo
tokenNo
amountNo
holderNo
sourceNo
usdPriceNo
usdValueNo
checkedAtNo
disclaimerNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, and the description adds material behavioral context on top: a $0.002 per-successful-call charge, the x402 payment rails (Base, Solana, Arc), and that failed calls are free. It does not describe pagination or latency, but for a single-read tool the pricing/charge semantics are the valuable disclosure.

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

Conciseness5/5

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

Three tight sentences, front-loaded with what is returned, then the scoping caveat, then cost. No filler and every clause carries information.

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

Completeness4/5

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

With an output schema present, the description needn't enumerate return fields, yet it still characterizes the output (name, symbol, decimals, raw/human amount, conditional USD) and covers cost and chain default. Sufficient for correct invocation; only the terse sibling pointer to the native-balance path leaves a slight gap.

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

Parameters3/5

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

Schema coverage is 100% and documents chain (with default), token (ERC-20 contract, 0x…), and address (EVM, 0x…). The description adds only that the amount is raw and human and that USD appears only when Coinbase has a spot price; it does not enrich the parameter meanings beyond the schema.

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

Purpose5/5

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

States a specific verb (read balance) and precise resource (ERC-20 balance of an address for one named token contract on a chain), and explicitly disambiguates scope by noting only the named token is read and that the native balance lives elsewhere.

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

Usage Guidelines4/5

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

Gives a clear context boundary: 'Only the token you name is read; the native balance is in /api/evm/address.' This tells the agent when this tool is and isn't the right one, though the alternative is referenced as an API path rather than a sibling tool name, so routing takes a small inference.

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

evm_blockEvm BlockA
Read-only
Inspect

An EVM block by number, or the latest one: hash, time, transaction count, gas used and limit, and base fee in gwei. Read over public RPC. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNobase (default), ethereum, arbitrum, optimism or polygon
numberNoBlock number, or latest (default)

Output Schema

NameRequiredDescription
hashNo
timeNo
chainNo
numberNo
sourceNo
gasUsedNo
gasLimitNo
checkedAtNo
disclaimerNo
baseFeeGweiNo
transactionCountNo

TDQS

A3.6/5.0
Behavior4/5

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-obvious behavior: cost of $0.002 USDC per successful call, x402 payment across Base/Solana/Arc, and no charge on failure. It does not cover rate limits or what a payment failure looks like, but the billing semantics are the key disclosure 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.

Conciseness5/5

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

Two sentences, front-loaded with the resource and returned fields, followed by the operational cost model. No filler or repetition, and every clause contributes either identification or calling context.

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

Completeness4/5

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

An output schema exists and annotations cover the safety/read profile, so the remaining burden is billing and data-source context, which the description supplies. Only lingering gap is any hint about chain selection among the five supported chains, which lives solely in the schema.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters are documented in the schema; the description only restates the 'by number or latest' behavior and never mentions the chain parameter (base/ethereum/arbitrum/optimism/polygon) or the default. Baseline 3 applies since the schema carries the semantic load.

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

Purpose4/5

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

States a specific verb (retrieve) and resource (EVM block) and enumerates the returned fields (hash, time, tx count, gas used/limit, base fee), which makes it distinguishable from evm_tx, evm_logs and evm_contract. It stops short of explicitly naming the sibling to use for transaction-level data.

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

Usage Guidelines2/5

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

There is no when-to-use / when-not-to-use guidance and no named alternative, despite a dense sibling set (evm_tx, evm_logs, rpc_evm, gas). The only usage-adjacent statement is that data is read over public RPC and that calls are billed, which is context rather than selection guidance.

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

evm_callEvm CallA
Read-only
Inspect

Read-only contract call (eth_call): decodes the return value of a function you name, e.g. balanceOf(address) returns (uint256). Nothing is signed or sent. A function whose name reads like a write (transfer, approve, mint, set...) is refused unless it is declared view or pure. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
argsNoJSON array of arguments, e.g. ["0xd8dA…"]
chainNobase (default), ethereum, arbitrum, optimism or polygon
contractYesContract address, 0x…
functionYesHuman-readable signature, e.g. balanceOf(address) returns (uint256)

Output Schema

NameRequiredDescription
argsNo
chainNo
resultNo
sourceNo
outputsNo
contractNo
functionNo
checkedAtNo
disclaimerNo

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, yet the description adds substantial context beyond them: no signing or transmission, the refusal behavior for write-sounding function names, and a precise pricing model ($0.002 USDC per successful call via x402 on Base/Solana/Arc, failed calls free). This is exactly the kind of cost and side-effect disclosure 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.

Conciseness5/5

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

Four tight sentences, front-loaded with the core purpose then immediately the safety guarantee, the refusal rule, and the price. Every sentence carries distinct information — none is filler or restatement of the name.

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

Completeness5/5

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

An output schema exists to describe the decoded return value and annotations carry the safety profile, so the description only needed to cover semantics and cost — which it does fully. The refusal rule and per-call pricing close the remaining gaps an agent would face when deciding whether and how to call it.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (args, chain, contract, function) are already well documented in the schema, including the signature format and default chain. The description mirrors the function-signature example rather than adding format, syntax, or validation detail beyond what the schema supplies, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource — a read-only eth_call that decodes the return value of a named function — and sharpens it with a concrete example (balanceOf(address) returns (uint256)). It implicitly separates itself from write tools via 'nothing is signed or sent' but never names a sibling such as evm_simulate or evm_contract, 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.

Usage Guidelines4/5

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

Gives clear context for use (calling view/pure functions and decoding their output) and an explicit exclusion rule: functions whose names read like writes are refused unless declared view or pure. It stops short of steering the agent to a specific alternative tool for those refused cases, so no named alternative is provided.

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

evm_contractEvm ContractA
Read-only
Inspect

Whether a contract's source is verified on Sourcify (exact or partial match), with its name, compiler version, license, and the functions and events from its ABI. A contract without verified source is answered with verified false, not an error. Chains: base (default), ethereum, arbitrum, optimism, polygon. Read-only. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNobase (default), ethereum, arbitrum, optimism or polygon
addressYesContract address, 0x…

Output Schema

NameRequiredDescription
nameNo
chainNo
matchNo
eventsNo
sourceNo
addressNo
chainIdNo
licenseNo
verifiedNo
checkedAtNo
functionsNo
compilerVersionNo

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint; the description goes well beyond by disclosing pricing ($0.002 USDC per successful call via x402, failed calls not charged) and the non-error behavior for unverified contracts (verified=false). The read-only claim is consistent with readOnlyHint.

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

Conciseness4/5

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

Front-loaded with the core purpose, then error semantics, chains, read-only flag, and pricing, all in a single tight paragraph. The chain enumeration duplicates the schema slightly, which is the only minor redundancy.

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

Completeness5/5

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

An output schema exists so return values need no expansion, yet the description still summarizes them. It covers chain support, unverified-contract behavior, read-only nature, and the payment model an agent must know before calling.

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

Parameters3/5

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

Schema description coverage is 100% for both parameters, with chain enum values and the 0x address format already documented in the schema. The description repeats the chain list but adds no new syntax or default semantics (default base is already in 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.

Purpose5/5

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

Specific verb+resource: reports whether a contract's source is verified on Sourcify and returns name, compiler, license, and ABI functions/events. This clearly separates it from siblings like evm_token (token metadata), evm_address (address info), and evm_call (RPC calls).

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

Usage Guidelines3/5

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

The scope is implied by the Sourcify verification framing, and the chains list helps pick valid inputs, but the description never states when to choose this over evm_call, evm_token, or evm_decode for ABI-related needs, nor does it give explicit exclusions.

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

evm_decodeEvm DecodeA
Read-only
Inspect

Function signatures for a 4-byte selector, and for calldata the decoded arguments. Signatures come from the openchain.xyz database, with 4byte.directory as fallback. Calldata is decoded against each candidate until one fits the selector and the arguments; bigints are returned as strings. Read-only. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
dataNoCalldata, 0x followed by hex (at least 4 bytes)
selectorNoOr only the selector: 0x followed by 8 hex characters

Output Schema

NameRequiredDescription
sourceNo
decodedNo
selectorNo
checkedAtNo
signaturesNo

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and openWorldHint, but the description adds rich behavioral detail: signature sources (openchain.xyz with 4byte.directory fallback), the decoding strategy against each candidate, that bigints are returned as strings, and payment terms including $0.002 per successful x402 call with failed calls uncharged. This goes well beyond what annotations provide.

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

Conciseness5/5

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

The description is front-loaded with the core purpose, then adds sources, decoding behavior, output format, and pricing in compact sentences. Every sentence contributes useful information without repetition or filler.

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

Completeness5/5

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

Given the output schema, 100% parameter schema coverage, and annotations covering safety, the description supplies the remaining context an agent needs: data sources, fallback behavior, decoding logic, bigint return format, and cost/charging semantics. No important detail for correct invocation is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents the data and selector parameters. The description reinforces the selector-vs-calldata input distinction but does not add substantial new parameter meaning beyond what the schema already supplies, so the baseline of 3 applies.

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

Purpose5/5

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

The description states a specific verb (decode) and resource (EVM function selector/calldata), and it clearly explains what is returned: function signatures for a selector and decoded arguments for calldata. An agent can distinguish this from sibling execution tools like evm_call or evm_simulate without 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.

Usage Guidelines3/5

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

Usage is implied by the input framing: use this when you have a 4-byte selector or calldata to decode. However, the description gives no explicit when-to-use, when-not-to-use, or alternative-tool guidance against siblings such as evm_call, evm_simulate, or encode.

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

evm_logsEvm LogsA
Read-only
Inspect

Event logs of a contract over recent blocks (default 1,000, max 5,000), newest first, max 100: block, transaction hash, topics and data. topic0 takes an event signature such as Transfer(address,address,uint256) or a 32-byte hash. Public nodes refuse very large results: narrow the range or add topic0. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNobase (default), ethereum, arbitrum, optimism or polygon
blocksNoBlocks to search back from the latest (max 5000)
topic0NoEvent signature, e.g. Transfer(address,address,uint256), or a 32-byte hash
contractYesContract address, 0x…

Output Schema

NameRequiredDescription
logsNo
chainNo
countNo
sourceNo
topic0No
windowNo
contractNo
checkedAtNo
truncatedNo
disclaimerNo

TDQS

A4.1/5.0
Behavior5/5

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

Annotations cover only readOnly/openWorld safety. The description adds substantial behavioral context the annotations do not: default 1,000 vs max 5,000 blocks, a 100-result cap, newest-first ordering, public-node refusal on large results, and a full cost model ($0.003 USDC per successful call via x402 on Base/Solana/Arc, failed calls not billed). This is exactly the non-structured 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.

Conciseness4/5

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

Front-loaded with purpose and result shape, then parameter detail, then constraints, then pricing — a logical order with little waste. It is slightly dense but every clause (defaults, cap, node limits, cost) carries information, so it is close to optimally sized.

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

Completeness5/5

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

For a 4-param tool with an output schema, the description need not explain returns, yet it still summarizes result fields. It covers purpose, defaults, limits, failure modes, and pricing, leaving an agent nothing essential missing before calling.

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

Parameters4/5

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

With 100% schema coverage the baseline is 3, but the description adds meaning beyond the schema: it supplies the default block window (1,000) that the schema omits (schema only states max 5000), gives a concrete topic0 signature example and the 32-byte-hash alternative, and states the 100-result cap. This meaningfully enriches parameter interpretation.

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

Purpose4/5

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

States a specific verb+resource: returns event logs of a contract over recent blocks, with result ordering (newest first) and shape (block, tx hash, topics, data). An agent can tell this apart from evm_tx or evm_transfers by the log-oriented framing. It does not, however, explicitly name which sibling to prefer for related queries, so it falls short of a 5.

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

Usage Guidelines3/5

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

Offers operational guidance ('narrow the range or add topic0' when nodes refuse large results), which is useful tuning advice, but gives no explicit when-to-use vs alternatives (e.g., evm_transfers for token movements, evm_decode for decoding). 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.

evm_nftEvm NftA
Read-only
Inspect

ERC-721 facts for one token: owner, collection name and symbol, tokenURI, and its metadata (name, description, image) when the URI is http(s) or ipfs. The metadata fetch has a 5-second timeout and a 256 KB cap; a failed fetch is reported in metadataNote and does not fail the call. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNobase (default), ethereum, arbitrum, optimism or polygon
tokenIdYesToken id, decimal
contractYesERC-721 contract, 0x…

Output Schema

NameRequiredDescription
chainNo
ownerNo
sourceNo
tokenIdNo
contractNo
metadataNo
tokenUriNo
checkedAtNo
collectionNo
disclaimerNo

TDQS

A4.2/5.0
Behavior5/5

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

With annotations only declaring readOnly/openWorld, the description carries the operationally important details: a 5-second metadata timeout, a 256 KB cap, failure surfaced via metadataNote rather than a thrown error, and $0.002 USDC charged via x402 only on success. That is exactly the behavior 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.

Conciseness4/5

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

Three sentences, each with a distinct job: what is returned, failure/cap semantics, then pricing. Well front-loaded with no filler, though the return-value enumeration slightly overlaps the output schema.

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

Completeness5/5

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

For a paid, read-only, open-world lookup, all decision-relevant facts are present: inputs documented by schema, outputs enumerated, failure semantics, timeout/size limits, and cost/charge policy. 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.

Parameters3/5

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

Schema coverage is 100% and the schema already documents chain (default base), tokenId (decimal string) and contract (0x…). The description adds no additional parameter semantics such as chain aliasing, tokenId formats beyond decimal, or contract validation behavior, so it sits at the baseline.

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

Purpose5/5

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

States a precise verb+resource: 'ERC-721 facts for one token', enumerating exactly what is returned (owner, collection name/symbol, tokenURI, metadata). The ERC-721 scoping cleanly distinguishes it from ERC-20/generic siblings like evm_token, evm_contract and token_metadata.

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

Usage Guidelines3/5

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

The conditional 'metadata when the URI is http(s) or ipfs' implies when metadata retrieval happens, which is useful usage context. However, it never states when to choose this tool over the many nearby siblings (evm_contract, evm_token, token_metadata, rpc_evm), so the agent must infer routing.

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

evm_simulateEvm SimulateA
Read-only
Inspect

Simulates an EVM transaction execution without broadcasting: { chain, from, to, data, value }. Returns eth_call output, gas estimate, success/revert status with decoded revert reason (Error(string), Panic(uint256)), and token balance if to is an ERC-20. State overrides not supported by public RPCs. Information only, not financial advice. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
toYesTarget contract 42-character 0x hex address
dataNoTransaction calldata in 0x hex format
fromNoSender 42-character 0x hex address
chainYesTarget EVM chain name (e.g. ethereum, base, arbitrum)
valueNoOptional value in wei (hex or decimal string)

Output Schema

NameRequiredDescription
toNo
fromNo
chainNo
tokenNo
sourceNo
successNo
providerNo
checkedAtNo
disclaimerNo
returnDataNo
gasEstimateNo
revertReasonNo
stateOverridesSupportedNo

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint, but the description adds substantial behavioral context: the exact billing model ($0.003 USDC per successful call, failed calls not charged), the payment rails (x402 on Base/Solana/Arc), decoded revert handling (Error(string), Panic(uint256)), and the state-override limitation of public RPCs. This is far beyond what the annotations convey.

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

Conciseness4/5

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

Strongly front-loaded: purpose first, then return shape, then caveats and price. Every sentence carries information, though the 'Information only, not financial advice' boilerplate is the one line that earns its place mainly as a compliance requirement rather than task guidance.

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

Completeness5/5

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

For a paid, read-only simulation tool with an output schema, this is complete: inputs, return contents, failure semantics, RPC limitation, and cost/payment model are all covered. 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.

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description enumerates the input fields and notes the conditional return ('token balance if to is an ERC-20'), but adds no format or syntax detail beyond what the schema already documents.

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

Purpose5/5

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

States a specific verb and resource ('Simulates an EVM transaction execution') and immediately distinguishes it from broadcasting siblings with 'without broadcasting'. An agent can tell it apart from evm_call, evm_tx, and rpc_evm without 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.

Usage Guidelines3/5

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

The phrase 'without broadcasting' implies the pre-flight use case, but there is no explicit when-to-use guidance, no named alternative, and no exclusion conditions. Usage is left to inference rather than stated.

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

evm_tokenEvm TokenA
Read-only
Inspect

On-chain facts about an ERC-20 contract on Base (default), Ethereum, Arbitrum, Optimism or Polygon, read over RPC: name, symbol, decimals, total supply, code size, whether it is a proxy (EIP-1967, EIP-1822 or the pre-1967 OpenZeppelin slots) with its implementation and admin, owner() and whether ownership is renounced, risky functions found in the bytecode, and plain warning flags. No paid security service is called. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNobase (default), ethereum, arbitrum, optimism or polygon
addressYesToken contract address, 0x…

Output Schema

NameRequiredDescription
nameNo
noteNo
chainNo
flagsNo
ownerNo
proxyNo
symbolNo
addressNo
hasCodeNo
sourcesNo
decimalsNo
checkedAtNo
codeBytesNo
disclaimerNo
codeScannedNo
totalSupplyNo
riskyFunctionsNo

TDQS

A4/5.0
Behavior4/5

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 non-obvious behavior: billing via x402 at $0.003 USDC per successful call, that failed calls are not charged, and that reads happen directly over RPC rather than via a paid security vendor.

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

Conciseness4/5

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

A single dense paragraph that front-loads the purpose and the enumerated outputs, then closes with the pricing caveat. It is longer than typical but every clause carries information (chains, proxy standards, pricing, no-charge-on-failure) with no filler.

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

Completeness5/5

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

An output schema exists, so return values need not be explained. With only two parameters, annotations covering safety, and the description covering chains, proxy standards detected, and payment terms, 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.

Parameters3/5

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

Schema description coverage is 100% and the description largely restates the schema's chain list (base default, ethereum, arbitrum, optimism, polygon). It adds no format details beyond what the schema already documents, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb (read on-chain facts over RPC) and resource (ERC-20 contract) and enumerates the exact data returned: name, symbol, decimals, total supply, code size, proxy status with implementation/admin, owner() and renouncement, risky bytecode functions, warning flags. This clearly distinguishes it from siblings like evm_contract, evm_address, or solana_token.

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

Usage Guidelines3/5

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

Gives useful context — the supported chains, that Base is the default, and that 'no paid security service is called' — which implicitly positions it against the audit sibling. However, it never states when to prefer this over evm_contract or any other sibling, and there are no explicit exclusions.

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

evm_transfersEvm TransfersA
Read-only
Inspect

ERC-20 transfers into and out of an address in a window of recent blocks (default 2,000, max 10,000), from Transfer logs, newest first, max 100 rows with token symbols. token limits the search to one contract. A busy address can be truncated: narrow the window to see the rest. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNobase (default), ethereum, arbitrum, optimism or polygon
tokenNoOptional ERC-20 contract, 0x…
blocksNoBlocks to search back from the latest (max 10000)
addressYesEVM address, 0x…

Output Schema

NameRequiredDescription
chainNo
countNo
tokenNo
sourceNo
windowNo
addressNo
checkedAtNo
transfersNo
truncatedNo
disclaimerNo

TDQS

A3.7/5.0
Behavior4/5

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

With readOnlyHint and openWorldHint already declared, the description adds substantial operational context: 2,000 default and 10,000 max blocks, 100-row cap, token symbols, truncation behavior, $0.003 USDC cost, x402 payment, and no charge for failures. The ordering phrase 'messy first' is unclear and slightly undercuts the otherwise strong disclosure.

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

Conciseness4/5

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

The most important framing, ERC-20 transfers in and out of an address, is front-loaded, followed by operational constraints and price. It is appropriately sized, though the final pricing sentence is dense and 'messy first' is awkward.

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

Completeness4/5

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

Because an output schema exists, return structure can be omitted, and the description covers source, limits, truncation, and payment. It is nearly complete, but it still leaves sibling selection and chain semantics to the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents chain, token, blocks, and address. The description adds some meaning for token (limits to one contract) and blocks (default and truncation), but does not elaborate on chain values or address format beyond the schema.

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

Purpose4/5

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

The description states a specific verb and resource: ERC-20 transfers into and out of an address, sourced from Transfer logs with a token filter. It is distinguishable from generic siblings like evm_logs or evm_tx by scope, but it does not explicitly name alternatives or state when it is preferable to them.

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

Usage Guidelines3/5

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

It gives operational context, such as narrowing the window when a busy address is truncated and using token to limit to one contract. However, it provides no explicit when-to-use or when-not guidance versus evm_tx, evm_logs, or token_search, leaving sibling selection to inference.

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

evm_txEvm TxA
Read-only
Inspect

Status, block, time, sender, recipient, value, gas used and fee (native and USD) of an EVM transaction, plus the ERC-20 Transfer events inside it (token, symbol, from, to, amount). A pending transaction returns status pending. Read over public RPC; a fallback node is used when the first refuses old receipts. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
hashYesTransaction hash, 0x + 64 hex characters
chainNobase (default), ethereum, arbitrum, optimism or polygon

Output Schema

NameRequiredDescription
toNo
feeNo
fromNo
hashNo
timeNo
blockNo
chainNo
valueNo
sourceNo
statusNo
gasUsedNo
checkedAtNo
transfersNo
disclaimerNo
nativeSymbolNo
contractCreatedNo
effectiveGasPriceGweiNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint, openWorldHint), and the description adds genuinely new behavior: pending transactions report status 'pending', a fallback node is used for stale receipts, and the exact pricing/billing model ($0.002 USDC via x402, failed calls uncharged). This is substantive context beyond the annotations, though retry/rate-limit nuance could go further.

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

Conciseness4/5

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

The first sentence front-loads the complete return payload, followed by pending-state, RPC-fallback, and pricing notes in a tight sequence. Slightly dense but every sentence carries information; no filler.

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

Completeness4/5

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

For a 2-param, read-only lookup with an output schema, the description is nearly complete: it covers the pending case, retrieval fallback, and payment mechanics. Output fields are described (redundant given the output schema) rather than routing guidance versus siblings, which is the main remaining gap.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (hash, chain) are already documented, including defaults and format. The description restates output fields rather than adding parameter meaning, so baseline 3 applies.

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

Purpose5/5

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

The description names the specific resource (an EVM transaction) and enumerates the exact fields returned (status, block, time, sender, recipient, value, gas/fee, plus ERC-20 Transfer events). An agent immediately knows this is a single-transaction detail lookup distinct from block, address, or transfer-list tools.

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

Usage Guidelines3/5

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

Usage is implied by the shape of the tool (fetch one tx by hash) but never stated against alternatives. It does not clarify when to prefer this over siblings like evm_transfers, evm_logs, btc_tx, or solana_tx, so the agent must infer chain/single-vs-list distinctions from tool names.

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

evm_walletEvm WalletA
Read-only
Inspect

Native balance and the major tokens (USDC, USDT, EURC, DAI, WETH, cbBTC and WBTC where listed) of an EVM address on Base (default), Ethereum, Arbitrum, Optimism, Polygon, or chain=all, with USD values from Coinbase spot prices. One Multicall3 call per chain. Zero balances are omitted, and only the listed tokens are checked, not every token the wallet holds. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNobase (default), ethereum, arbitrum, optimism, polygon or all
addressYesWallet address, 0x…

Output Schema

NameRequiredDescription
notesNo
chainsNo
addressNo
sourcesNo
totalUsdNo
checkedAtNo
disclaimerNo

TDQS

A4.2/5.0
Behavior5/5

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 execution model (one Multicall3 call per chain), a real coverage limitation (only listed tokens checked, not every token held), and a cost/billing model ($0.003 USDC via x402 per successful call, failures not charged). This is exactly the behavioral context 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.

Conciseness4/5

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

A single dense paragraph that is front-loaded with purpose, then coverage caveats, then pricing. Every sentence carries information (scope, limitation, cost) with no filler, though it is longer than strictly minimal and lacks visual structure.

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

Completeness5/5

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

An output schema exists, so return-value explanation is unnecessary. Combined with annotations covering the safety profile, the description supplies chains, token coverage, omissions, per-chain execution, and the payment model — everything an agent needs to call this correctly.

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

Parameters3/5

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

Schema coverage is 100% and both parameters are documented in the schema, so the baseline is 3. The description restates the chain options and default and clarifies that chain=all queries every chain, but adds little syntax or semantics beyond what the schema already provides.

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

Purpose5/5

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

States a specific verb+resource: retrieves native balance plus named tokens (USDC, USDT, EURC, DAI, WETH, cbBTC, WBTC) for an EVM address, with USD values. The wallet-level aggregate framing implicitly distinguishes it from evm_balance (native only) and evm_token (single token), and 'EVM address' separates it from solana_wallet.

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

Usage Guidelines3/5

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

Provides useful context — Base is the default chain, chain=all spans every chain, and zero balances are omitted — but never states when to prefer this over evm_balance or evm_token. Usage is implied rather than routed, with no explicit when-not guidance.

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

exifExifA
Read-only
Inspect

Camera make and model, lens, date taken, exposure (ISO, shutter, aperture, focal length), orientation, image size, software, and GPS latitude, longitude and altitude with a map link, from the EXIF of a JPEG, HEIC, TIFF or PNG image at a URL. Only the first 256 KB is read. A file that is not an image is 415; an image without EXIF is 200 with hasExif false. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYeshttps URL of a JPEG, HEIC, TIFF or PNG image

Output Schema

NameRequiredDescription
gpsNo
urlNo
noteNo
widthNo
cameraNo
formatNo
hasGpsNo
heightNo
hasExifNo
takenAtNo
exposureNo
finalUrlNo
bytesReadNo
checkedAtNo
orientationNo

TDQS

A4/5.0
Behavior5/5

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

Given readOnlyHint=true and openWorldHint=true, the description still adds substantial non-obvious behavior: only the first 256 KB is read (a truncation limit that can silently affect results), a non-image returns 415, an EXIF-less image returns 200 with hasExif=false, and billing is per successful call at $0.002 in USDC via x402 with failed calls free. These are exactly the operational details 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.

Conciseness4/5

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

The description is front-loaded with the extracted field list and then layers in format, read limit, error semantics and pricing – every clause carries information. It is a dense multi-clause run-on rather than clearly segmented sentences, which slightly hurts scannability, but there is no filler.

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

Completeness5/5

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

With an output schema present, return-value structure need not be explained, and the description covers everything else an agent needs: accepted input formats, the 256 KB truncation limit, both failure-mode semantics, and the payment model. Nothing required to invoke it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100% for the single url parameter, so the schema already defines the format and expected image types; baseline is 3. The description adds only the 256 KB partial-read behavior relevant to that URL, which is useful but marginal against what the schema supplies.

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

Purpose4/5

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

The description opens with a specific, concrete enumeration of what is extracted (make/model, lens, date, exposure, GPS) and the exact source (EXIF of a JPEG/HEIC/TIFF/PNG at a URL), which clearly separates it from generic image tools like image, describe_image, or ocr. It never names a sibling tool, so it stops short of the explicit differentiation a 5 requires.

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

Usage Guidelines3/5

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

Usage is only implied through format constraints, not stated as guidance. There is no 'use this instead of image/describe_image/ocr when you need raw camera metadata', and no statement of when EXIF extraction is inappropriate. The format list lets an agent infer applicability, but alternatives are left to inference.

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

extractExtractA
Read-only
Inspect

Structured data from a web page (url) or your own text: give a schema of up to 20 field names with what each holds, and get a JSON object with exactly those fields, null where the text does not state one. Llama 3.3 70B. Text is capped at 12,000 characters; a model answer that is not JSON is retried once, then not charged. Price: $0.004 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlNoWeb page to read (or text)
textNoText to read (up to 12,000 characters), instead of url
schemaYesField name to what the field holds, up to 20 fields
instructionsNoOptional extra instructions, up to 500 characters

Output Schema

NameRequiredDescription
noteNo
modelNo
fieldsNo
checkedAtNo

TDQS

A4.6/5.0
Behavior5/5

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

With only readOnlyHint/openWorldHint in annotations, the description carries the load well: 12,000-character text cap, 20-field schema cap, 500-char instructions cap, null-filling for absent values, model identity, one retry on non-JSON output that is not charged, and the exact $0.004 USDC/x402 payment terms with the supported chains. These are genuinely non-obvious operating and cost facts an agent must plan around.

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

Conciseness4/5

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

Purpose and mechanism are front-loaded, and the trailing clauses (retry policy, pricing, payment rails) each earn their place for a paid, metered tool. It is one dense paragraph with no formatting breaks, which makes the operational details slightly harder to scan, but there is no filler.

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

Completeness5/5

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

For a paid, open-world, loosely-typed tool with an output schema, the description covers inputs, input limits, output shape, failure/retry behavior, and cost. Nothing an agent needs to decide to call it and to predict its behavior is missing, even though the output schema already documents return shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so the baseline is 3, and the description adds real meaning on top: the schema parameter is bounded at 20 fields and its values drive null-filling in the output, text is capped at 12,000 chars, and instructions at 500. It is the output-coupling of the schema param that pushes it above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete transformation (arbitrary user-supplied field schema in, exactly-matching JSON object out) over two named input sources (url or own text). That 'user-defined generic schema' framing separates it from the fixed-purpose extraction siblings such as invoice_extract, resume_parse, entities and tables without needing to name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is explicit ('from a web page (url) or your own text', text 'instead of url'), so an agent knows the two invocation modes and their exclusivity. It stops short of naming alternatives or stating when not to use it (e.g., for invoices/resumes where a dedicated sibling exists), so it lands at clear-context-without-exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fda_adverse_eventsFda Adverse EventsA
Read-only
Inspect

The most reported adverse reactions to a drug in FDA's FAERS database: counts, total reports and the share that were serious. Reports are voluntary and show association, not proof of cause. Source: openFDA. Information only, not medical advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
drugYesGeneric drug name, e.g. ibuprofen
limitNoTop reactions, 1 to 25 (default 10)

Output Schema

NameRequiredDescription
drugNo
sourceNo
checkedAtNo
reactionsNo
disclaimerNo
attributionNo
totalReportsNo
seriousReportsNo
seriousSharePctNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, and the description adds real context beyond them: the data is voluntary and shows association rather than causation, the source is openFDA, it is not medical advice, and it discloses the x402 pay-per-call model with the fact that failed calls are not charged. It does not describe pagination or return shape, but an output schema exists to carry that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core value proposition, then caveats, source, disclaimer, and pricing in a compact multi-clause sentence. Most clauses earn their place, though the pricing/disclaimer tail is slightly dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations covering the safety profile and an output schema carrying the return shape, the description supplies the remaining essentials: source, data reliability caveat, and cost. Complete for a simple two-parameter lookup, with only minor gaps around result handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (drug, limit) are already documented in the schema. The description adds no syntax, format, or constraint details beyond it, making the baseline 3 correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: returns the most reported adverse reactions to a drug from FDA's FAERS database, with explicit output contents (counts, total reports, serious share). The FAERS framing clearly separates it from adjacent siblings like fda_label or clinical_trials.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the data caveat (voluntary reports, association not causation), which hints this is for signal detection, but there is no explicit when-to-use or when-not-to-use guidance and no named alternative sibling. A reasonable but not directive set of guidelines.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fda_labelFda LabelA
Read-only
Inspect

The latest US drug label (FDA SPL) for a brand or generic name: brand, generic name, manufacturer, indications, dosage, warnings and contraindications (each cut to 1,000 characters) and the set id. Information from the label only; it is not medical advice. Source: openFDA. Information only, not medical advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
drugYesBrand or generic drug name, e.g. advil or ibuprofen

Output Schema

NameRequiredDescription
drugNo
brandNo
setIdNo
dosageNo
sourceNo
genericNo
warningsNo
checkedAtNo
disclaimerNo
attributionNo
indicationsNo
manufacturerNo
effectiveTimeNo
contraindicationsNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnlyHint and openWorldHint, but the description adds substantial context beyond them: each field is truncated to 1,000 characters, the source is openFDA, and there is a per-call cost of $0.002 USDC via x402 with failed calls uncharged. The truncation and pricing disclosures are exactly the behavioral traits 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The return-field list is front-loaded and useful, but the disclaimer is repeated verbatim ('it is not medical advice' and again 'Information only, not medical advice'), which wastes space in an otherwise compact description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, yet the description still summarizes them. Combined with source, truncation limit, and pricing, an agent has everything needed to call this correctly and understand its cost.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single 'drug' parameter is fully documented in the schema with examples (advil, ibuprofen). The description's phrase 'for a brand or generic name' restates the schema rather than adding syntax or format detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (retrieves) and resource (latest US drug label / FDA SPL) and even enumerates the returned fields (brand, generic name, manufacturer, indications, dosage, warnings, set id). An agent can distinguish it from siblings like fda_adverse_events or clinical_trials by resource alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the resource description but there is no explicit when-to-use, when-not-to-use, or routing to alternatives such as fda_adverse_events or pubmed. The agent must infer that this is the label-lookup tool from the name and resource alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

feedFeedA
Read-only
Inspect

Items of an RSS, Atom or RDF feed, or of the feed a web page advertises: title, link, published date, author and a 300-character summary, newest first (max 50). since keeps items published on or after a date. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesFeed address, or a web page that advertises one
limitNo1 to 50 (default 20)
sinceNoOnly items published on or after this date, e.g. 2026-09-01

Output Schema

NameRequiredDescription
urlNo
feedNo
countNo
itemsNo
sinceNo
sourceNo
checkedAtNo
totalInFeedNo

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well past the readOnlyHint/openWorldHint annotations: it discloses the per-item 300-character summary truncation, newest-first ordering, a hard cap of 50 items, and the cost model ($0.002 USDC per successful call via x402 on Base, Solana or Arc, failures not charged). Pricing and truncation are exactly the kind of facts an agent needs before calling an open-world billed tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what the tool returns, then adds the date filter and the payment terms; every clause carries information. The first sentence is long and parenthetical-laden, but nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so field-level return detail is bonus rather than obligation, and the description still names the payload shape. Cost, ordering, caps, date semantics, and the accepted input (feed URL or advertising page) are all covered, leaving no material gap for a 3-parameter read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents url, limit (1-50, default 20) and since with an example. The description restates the since semantics and the max-50 cap without adding new format or syntax detail, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the resource precisely: items of an RSS, Atom or RDF feed, and also the auto-discovered feed a web page advertises, plus the returned fields and ordering. That is enough to separate it from page-reading siblings like read or extract, though it never names an alternative explicitly and the verb is left implicit ('Items of...').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance, and no sibling (e.g. sitemap, links, read) is named as the alternative. Usage is implied by the resource description and by the note that 'since keeps items published on or after a date', which is enough for an agent but requires inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

finance_loanFinance LoanA
Read-only
Inspect

Loan and investment calculator in exact cents, no outside source. mode=annuity: monthly payment, total interest and the full amortisation schedule (up to 600 months). mode=compound: future value of an initial sum plus monthly contributions. mode=npv or irr: discount or internal rate of return of a list of cashflows (up to 200, the first at time 0). Rates are percentages from 0 to 100 a year (per period for npv and irr); terms up to 50 years. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
modeYesannuity (default), compound, npv or irr
rateNoAnnual rate in percent, 0 to 100 (annuity, compound); rate per period in percent for npv (-99 to 1000)
cashflowsNoComma-separated cashflows for npv and irr, e.g. -1000,300,400,500 (first at time 0)
principalNoLoan amount (annuity) or starting sum (compound), up to two decimals (optional for compound)
termYearsNoTerm in years, up to 50 (annuity, compound)
termMonthsNoTerm in months, 1 to 600, instead of termYears
contributionNoMonthly contribution for compound, up to two decimals (optional)

Output Schema

NameRequiredDescription
modeNo
rateNo
monthsNo
sourceNo
scheduleNo
checkedAtNo
principalNo
totalPaidNo
disclaimerNo
lastPaymentNo
totalInterestNo
monthlyPaymentNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and openWorldHint annotations, the description discloses important behavior: pricing of $0.002 USDC per successful call via x402, that failed calls are not charged, that calculations use exact cents with no outside source, and that outputs are capped at 600 months and 200 cashflows. These are material operational details 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-structured, front-loading the tool's purpose and then using mode-labeled clauses to cover each calculation path. It includes pricing and failure behavior without unnecessary repetition, and the length is proportionate to a seven-parameter multi-mode paid calculator.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the description does not need to explain return values. Given that, the description covers the essential context: all four modes, their inputs and constraints, exact-cent behavior, rate and term limits, and payment/failure semantics, leaving no major gap for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all seven parameters. The description still adds cross-parameter meaning by explaining rate ranges and annual versus per-period interpretation, that cashflows start at time 0 and are capped at 200, and that terms are limited to 50 years or 600 months.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific financial calculator resource and enumerates its four modes: annuity, compound, npv, and irr. It also distinguishes the tool with exact-cent calculations and no outside source, giving an agent a clear sense of what it does beyond generic arithmetic or units conversion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what each mode computes, including monthly payment/amortisation for annuity, future value for compound, and discount/IRR for cashflows. This supports mode selection, but it does not explicitly state when not to use the tool or name sibling alternatives, so it falls short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

flightsFlightsA
Read-only
Inspect

Flight fares for one route and date, one-way or round trip: the cheapest, the fastest and the cheapest nonstop option, then up to 20 itineraries sorted by price with carrier, stops, duration, departure and arrival times (local and UTC), every flight segment and aircraft. Cabin, maximum stops and market (sets the currency) are optional. Fares for a single traveller from Ignav; a fare search, not a booking. Price: $0.05 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
toYesArrival airport, 3-letter IATA code, e.g. LHR
dateYesDeparture date YYYY-MM-DD (today to 330 days ahead)
fromYesDeparture airport, 3-letter IATA code, e.g. IST
cabinNoeconomy (default), premium_economy, business or first
limitNoItineraries to return, 1-20, default 10
marketNo2-letter country code that sets the currency, default US (USD); e.g. GB, DE, TR
returnNoReturn date YYYY-MM-DD for a round trip (optional)
maxStopsNoMaximum stops per direction: 0, 1, 2 or 3 (optional)

Output Schema

NameRequiredDescription
noteNo
countNo
queryNo
sourceNo
fastestNo
cheapestNo
currencyNo
checkedAtNo
observedAtNo
itinerariesNo
cheapestNonstopNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations: discloses per-call cost ($0.05 USDC via x402 on Base/Solana/Arc), that failed calls are not charged, that fares are for a single traveller, and that market drives the currency. This is exactly the payment and failure semantics an agent needs before invoking a paid read tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and return shape, then the optional filters, then the payment note. Dense but every clause carries information; the sentences run long, which slightly hurts scanability but not substance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be detailed, yet the description still sketches the response structure. Combined with scope, optional filters and payment terms, 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all eight parameters are already documented in the schema (IATA codes, date range, cabin values, limit 1-20, market currency). The description restates cabin, max stops and market's currency role without adding syntax or format 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and scope ('Flight fares for one route and date, one-way or round trip') and enumerates exactly what comes back: cheapest/fastest/cheapest-nonstop, then up to 20 itineraries sorted by price. No sibling covers flights, so there is nothing to confuse it with, and the verb 'fare search, not a booking' is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly positions the tool: a fare search rather than a booking, for a single traveller, with optional filters (cabin, max stops, market). It does not name an alternative tool or state exclusions, but with no flight sibling there is nothing to route against, leaving context clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foodFoodA
Read-only
Inspect

Packaged food by barcode (EAN-8, UPC-A, EAN-13 or GTIN-14) or by name: product name, brand, quantity, Nutri-Score, NOVA group, nutrients per 100 g (energy, fat, saturated fat, carbohydrates, sugars, fibre, protein, salt), allergens, labels, ingredients text and front image URL. Open Food Facts data (ODbL, attribution in source). A barcode not in the database is a 404, not charged. Community data: values can be missing or wrong. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
nameNoProduct name words, 2 to 100 characters (optional, when no barcode)
limitNoResults for a name search, 1 to 20, default 5
barcodeNoEAN-8, UPC-A, EAN-13 or GTIN-14 digits (optional)

Output Schema

NameRequiredDescription
countNo
queryNo
sourceNo
productsNo
checkedAtNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, yet the description adds substantial context: pricing ($0.002 USD per successful call via x402 on Base/Solana/Arc), no charge on failure, 404 rather than charge for missing barcodes, community-data caveat, and ODbL licensing/attribution. This is exactly the extra behavioral signal the annotations do not cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the return payload, then source, caveat and cost, so the most selection-relevant content comes first. The long nutrient enumeration is slightly verbose, but each clause carries signal an agent would otherwise have to infer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet for a paid open-world lookup the description still supplies the critical operational facts: data source, error semantics (404 for unknown barcodes), data-quality caveat, licensing, and billing behavior including which failures are free. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (barcode, name, limit) are already documented and the baseline is 3. The description echoes the barcode formats and confirms the name lookup, but adds no syntax, bounds, or interaction rules beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (packaged food) and precisely what it returns (name, brand, quantity, Nutri-Score, NOVA group, per-100g nutrients, allergens, labels, ingredients, image), plus the two lookup keys (barcode formats or name). This is fully distinguishable from generic sibling tools like package_search or producthunt.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains the two input modes (by barcode or by name) but never states when to prefer one over the other or when not to use this tool versus any sibling. Usage is implied from the input examples rather than an explicit when/when-not rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fxFxA
Read-only
Inspect

Currency exchange rates from the European Central Bank (about 30 currencies, back to 1999): latest or a given date, amount conversion, or a daily time series between two dates. Source: ECB reference rates via Frankfurter. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
toNoTarget currencies, comma-separated (default: all)
endNoYYYY-MM-DD: time series end (default today)
dateNoYYYY-MM-DD for a past day
fromNoBase currency, default USD
startNoYYYY-MM-DD: time series start
amountNoAmount to convert, default 1

Output Schema

NameRequiredDescription
baseNo
dateNo
ratesNo
amountNo
sourceNo
convertedNo

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, but the description adds substantial context beyond them: paid pricing model ($0.002 USDC per successful call via x402 on Base/Solana/Arc) and that failed calls are not charged. This is exactly the kind of cost/behavior 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the capability and source, then the pricing constraint. No redundant sentences; every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is unnecessary. The description covers capability modes, data scope, source, and payment terms—everything needed for an agent to decide and call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all six parameters are already documented with formats and defaults in the input schema. The description's mode summary (latest/date/conversion/series) loosely maps to the parameter groups but adds no new syntax or default detail. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (currency exchange rates), names the source (ECB via Frankfurter), and scopes coverage (~30 currencies, back to 1999). An agent can distinguish it from crypto_convert/crypto_price because the fiat ECB source is explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Enumerates the supported modes (latest, a given date, amount conversion, daily time series), which tells the agent what kinds of requests this tool handles. It does not explicitly exclude or route to a sibling, 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.

gasGasA
Read-only
Inspect

Gas prices on Base (default), Ethereum, Arbitrum, Optimism, Polygon or Solana, or chain=all for every chain at once: the base fee and slow, normal and fast priority fees, the latest block, and what a plain transfer and an ERC-20 transfer cost in native token and USD. EVM figures come from eth_feeHistory over the last 20 blocks; Solana from recent prioritization fees. Cached 15 seconds. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainNobase (default), ethereum, arbitrum, optimism, polygon, solana or all

Output Schema

NameRequiredDescription
blockNo
chainNo
sourceNo
transferNo
checkedAtNo
costBasisNo
disclaimerNo
baseFeeGweiNo
nativeSymbolNo
erc20TransferNo
nativePriceUsdNo
priorityFeeGweiNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations: discloses data provenance (eth_feeHistory over 20 blocks, Solana prioritization fees), a 15-second cache, the $0.002 USDC x402 charge, and that failed calls are free. Cost and freshness are exactly the behavioral facts 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Chain coverage and output fields come first, then provenance, caching, and pricing as separate short clauses. Dense but every sentence carries non-redundant information; nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, one-parameter tool with an output schema, this covers everything material: scope, default, data sources, cache staleness, and payment mechanics. No gaps an agent would need to guess at.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter is already fully documented in the schema, so baseline is 3; the description adds the useful fan-out semantics of chain=all ('every chain at once') and reinforces the default. Little beyond that, since the enum of chains is duplicated from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Gas prices') and enumerates exactly which chains are covered, plus what the response contains (base fee, slow/normal/fast priority fees, latest block, transfer costs). An agent can distinguish it from btc_fees or defi_fees without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Makes the default explicit ('Base (default)') and explains that chain=all returns every chain at once, which is the main usage decision point for this tool. It never names an alternative sibling such as btc_fees for Bitcoin or defi_fees, so exclusion guidance is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

geocodeGeocodeA
Read-only
Inspect

Place names to coordinates and back: up to 5 matches for a name, or the place at a coordinate. Each match has a display name, latitude and longitude, country code and type. Attribution: © OpenStreetMap contributors, ODbL. Results are cached seven days. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoPlace name, e.g. Berlin
latNoFor reverse geocoding: latitude
lonNoFor reverse geocoding: longitude

Output Schema

NameRequiredDescription
queryNo
sourceNo
resultsNo
checkedAtNo
attributionNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld annotations, the description discloses the match limit (5), the returned fields (display name, lat/lon, country code, type), 7-day caching, attribution/licensing (OpenStreetMap, ODbL), and a precise payment model: $0.002 USDC per successful call via x402 on Base/Solana/Arc with failed calls uncharged. These are exactly the behavioral traits an agent needs before invoking a paid, cached geocoder.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core capability is front-loaded in the first two sentences, followed by attribution and pricing details. It is dense but every sentence carries operational information (match cap, returned fields, license, caching, pricing); nothing reads as filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a paid external geocoding tool with an output schema present, the description covers the critical unknowns: cost, payment rail, billing on success only, caching duration, attribution requirements, and the shape of results. An agent can decide whether to call it and how to interpret the two modes without further documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value by clarifying the two mutually exclusive modes — a name query returning up to 5 matches versus a coordinate pair returning the place at that location — which reinforces how q versus lat/lon are intended to be used together.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource pair ('Place names to coordinates and back') and covers both forward and reverse geocoding in one sentence. It is clear what the tool does, but it never names or distinguishes itself from nearby siblings such as us_geocode, places, or address_parse.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the two modes described ('up to 5 matches for a name, or the place at a coordinate'), so an agent can infer when each branch applies. However, there is no explicit guidance on when to prefer this over us_geocode, places, or address_parse, and no stated prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_issuesGithub IssuesA
Read-only
Inspect

Issues or pull requests of a GitHub repository, searched by words and state (open, closed or all), newest updated first: number, title, state, labels, author, comments, dates and link. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoWords to search for (optional)
repoYesowner/name or a github.com URL
typeNoissue (default) or pr
limitNo1 to 30 (default 10)
stateNoopen (default), closed or all

Output Schema

NameRequiredDescription
repoNo
itemsNo
queryNo
totalNo
sourceNo
checkedAtNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely useful non-structured behavior: per-call pricing ($0.002 USDC via x402 on Base/Solana/Arc), that failed calls are not charged, and result ordering (newest updated first). It does not mention pagination 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and return shape are front-loaded in a single dense sentence, followed by the pricing caveat. Slightly packed but no filler; the price detail earns its place because it affects whether an agent should call it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the return-field listing is a bonus rather than a requirement, and annotations cover the read-only/open-world profile. Adding payment terms, failure billing behavior, and sort order makes this complete for an agent deciding and calling correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters (including defaults for type and limit) are already documented in the schema. The description restates default state behavior and sorting but contributes no additional parameter syntax or constraints, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb and resource: 'Issues or pull requests of a GitHub repository, searched by words and state', plus a summary of returned fields. It clearly conveys what is fetched, but it never names the sibling it sits beside (github_search, github_repo, github_releases), so an agent must infer which GitHub tool to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied through the query/state phrasing; there is no explicit when-to-use statement or routing advice against github_search or github_repo. An agent can infer that words+state filter issues, but nothing tells it when this beats the alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_releasesGithub ReleasesA
Read-only
Inspect

The latest releases of a GitHub repository: tag, name, date, pre-release flag, the first 1,500 characters of the notes, and the number of assets. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
repoYesowner/name or a github.com URL
limitNo1 to 10 (default 5)

Output Schema

NameRequiredDescription
repoNo
sourceNo
releasesNo
checkedAtNo

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/openWorldHint annotations by disclosing the paid-call model ($0.002 USDC via x402 on Base, Solana or Arc), that failed calls are not charged, and that release notes are truncated to the first 1,500 characters. The truncation and billing behavior are exactly the non-obvious traits 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the payload front-loaded and no filler. Slight redundancy: the returned-field list partially restates what the output schema already exposes, but it is brief and aids scanning rather than bloating the text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter, output-schema-backed, read-only tool, this covers purpose, cost, failure billing and response truncation; 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents 'repo' (owner/name or github.com URL) and 'limit' (1-10, default 5). The description adds no parameter-level meaning, so the baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the exact resource ('the latest releases of a GitHub repository') and enumerates what is returned (tag, name, date, pre-release flag, notes prefix, asset count), which lets an agent distinguish it from siblings like github_repo, github_issues and github_user. It never names those siblings explicitly, but the resource noun alone is differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the resource name — an agent can infer 'call this when you want a repo's releases'. There is no statement of when to prefer it over github_repo (which may also carry release data) and no prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_repoGithub RepoB
Read-only
Inspect

A public GitHub repository: stars, forks, watchers, open issues and pull requests, license, default branch, created and pushed dates, topics, languages with shares, latest release, commits in the last four weeks and the top five contributors. Up to six GitHub requests per call. Commit statistics are null while GitHub computes them. Source: GitHub REST API. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
repoYesowner/name, e.g. cloudflare/workers-sdk, or a github.com URL

Output Schema

NameRequiredDescription
urlNo
forkNo
repoNo
forksNo
starsNo
sourceNo
topicsNo
licenseNo
archivedNo
pushedAtNo
watchersNo
checkedAtNo
createdAtNo
languagesNo
openIssuesNo
descriptionNo
contributorsNo
defaultBranchNo
latestReleaseNo
primaryLanguageNo
openPullRequestsNo
commitsLast4WeeksNo

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnlyHint and openWorldHint; the description adds genuinely useful behavioral context beyond them: a hard cost ceiling of six GitHub requests per call, the caveat that commit statistics are null while GitHub computes them, and a per-call x402 price with failed calls uncharged. What's missing is any note on rate limiting or response latency, but the disclosure is well above the annotation baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The resource is front-loaded, but the bulk of the description is an enumeration of return fields that the existing output schema already supplies, which is redundant length. The operationally valuable sentences (request limit, null caveat, pricing) are buried at the end rather than front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with an output schema and read-only annotations, the description covers the operationally important extras: cost, request budget, and a data-completeness caveat. It lacks only usage routing against the github_* siblings, which is a modest gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single 'repo' parameter, which already documents the owner/name format and accepts a github.com URL. The description adds no syntax or format detail beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (a public GitHub repository) and enumerates the exact scope of data it covers: stars, forks, open issues/PRs, license, releases, commits, contributors. That scope implicitly separates it from siblings like github_issues, github_releases and github_user, though no sibling is named explicitly and no verb ('fetch', 'get') is stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance and no routing to alternatives such as github_issues, github_releases or github_user for narrower data. The agent must infer that this is the repo-overview tool from the field list alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_userGithub UserA
Read-only
Inspect

A GitHub user's public profile (name, company, location, blog, bio, followers, public repos, creation date) and their five most-starred repositories that are not forks. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
userYesGitHub login

Output Schema

NameRequiredDescription
bioNo
urlNo
blogNo
nameNo
loginNo
sourceNo
companyNo
locationNo
topReposNo
checkedAtNo
createdAtNo
followersNo
publicReposNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely useful non-schema behavior: a per-call price of $0.002 USDC via x402 across Base, Solana, or Arc, and that failed calls are not charged. It does not mention rate limits or auth requirements, so it falls 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that leads with what is returned and closes with the cost model. The parenthetical field list is somewhat long, but every element is informative, so it stays efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be spelled out, yet the description still characterizes them; it also covers pricing and billing behavior. The main gap is the absence of any guidance on when to pick this over sibling GitHub tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter ('user') with 100% schema description coverage ('GitHub login'), so the schema carries the semantics. The description adds nothing about accepted formats (login vs. numeric ID, case sensitivity), making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (a GitHub user's public profile) and enumerates the returned fields plus the exact repository selection rule (five most-starred non-forks), which clearly separates it from github_repo, github_search, github_issues, and github_releases without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is for fetching a user's profile by login. There is no explicit when-to-use, when-not-to-use, or pointer to alternatives such as github_search for discovering users or github_repo for repository detail.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

grantsGrantsA
Read-only
Inspect

US federal grant opportunities from Grants.gov matching keywords: number, title, agency, open and close dates (YYYY-MM-DD), status and link, newest opening date first. Grants.gov matches keywords anywhere in the full listing, not only the title. Posted and forecasted opportunities by default. US government data. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qYesKeywords
limitNo1 to 25 (default 10)
statusNoposted, forecasted, closed or archived (optional)

Output Schema

NameRequiredDescription
queryNo
totalNo
grantsNo
sourceNo
checkedAtNo
attributionNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and openWorldHint, but the description adds substantial behavioral context the agent could not infer: a metered cost of $0.002 USDC per successful call via x402 (Base, Solana or Arc), that failed calls are not charged, and that keyword matching spans the full listing rather than just the title. These materially affect 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense paragraph with purpose front-loaded and no filler; the output-field list and pricing clause each carry weight. It is slightly long, but every clause either scopes the result set or disambiguates behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't explain return values, yet it still names key fields and sorting, and it covers the defaults, matching scope, and billing model. For a 3-parameter read-only search tool, 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: it explains how 'q' is interpreted ('matches keywords anywhere in the full listing, not only the title'), which changes query phrasing, and notes the default status set. Date format and sort order are surfaced as output expectations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource+source: federal grant opportunities from Grants.gov matched by keywords, with the returned fields enumerated (number, title, agency, dates, status, link). 'US federal' and 'Grants.gov' cleanly separate it from the eu_tenders sibling even without naming it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'matching keywords' plus the stated default of posted and forecasted opportunities, so an agent can tell when a plain keyword query is appropriate. However, no explicit when-to-use/when-not guidance or pointer to the nearest alternative (eu_tenders) is given, leaving routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hashHashA
Read-only
Inspect

Hashes of a text or base64 input (up to 1 MB): MD5, SHA-1, SHA-256, SHA-384, SHA-512 and CRC-32, and HMAC-SHA-256 or HMAC-SHA-512 when a key is given. Hex and base64 output. MD5 and CRC-32 are implemented here and checked against RFC 1321 and the standard CRC test vector. Body { input, encoding, algorithms, key }. Pure code and WebCrypto, no outside request. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
keyNoKey for the HMAC algorithms, up to 1024 characters (JSON body field)
inputYesThe text, or base64 when encoding is base64 (JSON body field)
encodingNotext (default) or base64
algorithmsNoComma-separated: md5, sha1, sha256, sha384, sha512, crc32, hmac-sha256, hmac-sha512 (default: all but the HMACs)

Output Schema

NameRequiredDescription
bytesNo
sourceNo
resultsNo
checkedAtNo

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is exceptionally strong on behavioral traits beyond the annotations. It specifies the implementation environment ('Pure code and WebCrypto'), the pricing structure ($0.002), input limits (up to 1MB), and technical verification status for certain algorithms (RFC 1321).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Despite being technical and detailed, the structure is highly efficient. It flows logically from core function to supported methods, constraints, output format, and operational costs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool definition is extremely robust. It provides an exhaustive list of functionality, implementation details, performance constraints (limit), and financial costs, making it complete for any agent attempting to use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even with 100% schema coverage, the description adds critical semantic meaning. It clarifies that the 'input' parameter can be text or base64 depending on the 'encoding' setting and precisely defines the expected format of the 'algorithms' string (comma-separated list).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The purpose is clearly defined as hashing text or base64 input. It specifies a wide variety of supported cryptographic functions (MD5, SHA, CRC, HMAC), which makes the resource usage precise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While it doesn't explicitly list alternatives, it provides strong usage guidance by detailing when specific parameters are needed (e.g., providing a key for HMAC, specifying an encoding, or listing desired algorithms).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

headersHeadersA
Read-only
Inspect

Security headers of a URL's final response: Strict-Transport-Security, Content-Security-Policy, X-Frame-Options (or CSP frame-ancestors), X-Content-Type-Options, Referrer-Policy, Permissions-Policy, Cross-Origin-Opener-Policy and Cross-Origin-Resource-Policy, each with present, value, ok and advice. Also cookies missing Secure, HttpOnly or SameSite (names only), version leaks in Server or X-Powered-By, and a grade from A to F. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesPage URL or domain, e.g. example.com

Output Schema

NameRequiredDescription
urlNo
gradeNo
leaksNo
scoreNo
statusNo
cookiesNo
headersNo
finalUrlNo
checkedAtNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and openWorldHint; the description adds genuinely non-obvious behavior: a per-call charge of $0.002 USDC via x402 on Base/Solana/Arc, and that failed calls are not billed. That is high-value context for deciding whether to invoke. It stops short of covering failure modes (unreachable host, timeouts) or how the final response is reached, keeping it below 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single front-loaded paragraph that leads with what is checked before listing details and pricing. The enumeration of eight header names is long but each is a concrete output category. Minor waste: with an output schema present, the per-header return shape ('present, value, ok and advice') could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only network tool with a full output schema and annotations, the description covers scope, output categories and the payment model. The only real gap is the absence of routing guidance against the crowded set of sibling inspection tools, which is covered under usage guidelines rather than completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter exists and the schema documents it at 100% coverage ('Page URL or domain, e.g. example.com'). The description adds one useful nuance — that it operates on the URL's *final* response, implying redirect following — but no format or normalization 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource and scope: the security headers of a URL's final response, enumerated by name, plus cookie flags, version leaks and an A–F grade. An agent immediately knows this is a HTTP security-header audit. It never names or distinguishes itself from adjacent siblings such as ssl, certs, dns, redirects, web_security_txt or vulns, so differentiation is left implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this versus the many overlapping security/inspection siblings (audit, ssl, vulns, web_security_txt, redirects). The phrase 'final response' hints that redirects are followed, but nothing tells the agent what it should NOT be used for or what prerequisite steps exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hiringHiringA
Read-only
Inspect

Search the current Hacker News 'Who is hiring?' thread: companies hiring, filtered by keywords and remote, with contact emails and links. Price: $0.01 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoKeywords, all must match
limitNoMax results, up to 100
remoteNo1 = remote only

Output Schema

NameRequiredDescription
totalNo
threadNo
resultsNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only and open-world profile, but the description adds material behavior an agent needs: a $0.01 USDC charge per successful call via x402 across Base/Solana/Arc, with failed calls free. That pricing/charging semantics is not derivable from the schema or annotations and is genuinely useful 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with what it searches, followed by results and pricing. No filler, and the payment caveat earns its place for a paid tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and read-only/safety behavior is covered by annotations. The description covers scope, result contents, and cost; only the 'limit' parameter and freshness/refresh behavior are left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents q, limit, and remote. The description only echoes keyword and remote filtering and says nothing about limit or the 'all must match' behavior beyond what the schema provides, so it neither compensates nor detracts.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search) and a precisely scoped resource (the current Hacker News 'Who is hiring?' thread), plus what a result contains (companies, contact emails, links). This distinctly separates it from generic siblings like hn, hn_search, and crypto_news without needing to name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the resource description ('current ... thread'), so an agent can infer this is for finding active hiring posts rather than general HN content. However, it never states when not to use it or points to an alternative such as hn_search for non-hiring queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hnHnA
Read-only
Inspect

Hacker News stories or comments from the Algolia search API: keyword search (q) or the current front page (mode=front), optionally since a date. Stories give title, URL, HN link, points, comments, author and time. Comments give their text (400 characters, HTML stripped) and the story title. Up to 50 results. Public data, no key. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoKeywords
modeNofront: the current front page (stories only)
typeNostory (default) or comment
limitNoMax results, 1-50, default 20
sinceNoYYYY-MM-DD: only items from this day on

Output Schema

NameRequiredDescription
queryNo
totalNo
sourceNo
resultsNo
returnedNo
checkedAtNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Going well beyond the readOnlyHint/openWorldHint annotations, it discloses the return shape (title, URL, HN link, points, comments, author, time for stories; 400-char HTML-stripped text plus story title for comments), the 50-result ceiling, the absence of an API key, and the exact cost model: $0.002 in USDC per successful call via x402 on Base, Solana or Arc, with failed calls uncharged.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense, front-loaded paragraph: purpose first, then output shape, then bounds, then auth, then price. Every sentence carries information an agent needs before calling, with no repetition of the title or name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a payment-gated, read-only search tool with five optional parameters and a declared output schema, the description covers purpose, output, limits, auth and billing. Remaining gaps are minor: interaction between mode and the other filters, and any rate-limit or error behavior beyond the no-charge-on-failure promise.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics the schema does not: that mode=front yields stories only, that comment bodies are truncated to 400 characters with HTML stripped, and that the result ceiling is 50. It doesn't resolve ambiguity such as whether q is ignored in front mode or that all params are typed as strings in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names the concrete source (Hacker News via the Algolia search API) and the two operating modes, keyword search and front page, so the resource and verbs are unambiguous. What holds it below a 5 is that it never distinguishes itself from the sibling tool hn_search, whose name suggests exactly the same capability.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains how to invoke each mode (q for keyword search, mode=front for the current front page, since for a date cutoff), which implies when each is appropriate. It never states when to prefer this over hn_search, nor any exclusion such as the fact that mode=front returns stories only and presumably ignores q or type.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

holidaysHolidaysA
Read-only
Inspect

Public holidays of a country (ISO 2 code) for a year (default: this year): date, local and English names, and whether the holiday is nationwide or regional with its counties. Source: Nager.Date. An empty list is a valid answer. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
yearNo1900 to 2100 (default: this year)
countryYesISO 3166 alpha-2 code, e.g. DE

Output Schema

NameRequiredDescription
yearNo
countNo
sourceNo
countryNo
holidaysNo
checkedAtNo

TDQS

A3.9/5.0
Behavior5/5

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 (Nager.Date), that an empty list is a valid answer, the per-call price and payment mechanism (x402 on Base/Solana/Arc), and that failed calls are not charged. These are meaningful behavioral details that an agent cannot get 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: it leads with what the tool returns, then adds source, empty-result validity, and billing terms. Every sentence adds useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only lookup with an output schema and readOnly/openWorld annotations, the description covers purpose, result shape, data source, empty-result behavior, and cost. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters with type and examples. The description restates the default year and ISO 2 code without adding new semantics or format details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (public holidays), the key dimensions (country ISO code, year), and the returned fields (date, names, nationwide/regional with counties). It is clear what the tool does, but it does not explicitly differentiate from potentially related siblings such as business_days or date_calc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit when-to-use guidance, no alternatives, and no exclusions. The tool's purpose is self-evident, but an agent is left to infer usage context entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ibanIbanA
Read-only
Inspect

IBAN validation with no network call: ISO 13616 length and structure for every country in the SWIFT IBAN registry, the mod-97 checksum, national check digits where a public algorithm exists (FR, ES, IT, BE, NL, NO, FI, PL, PT and the Balkan countries), and the split into bank code, branch code and account. Returns the electronic and print format. Pass ibans= for up to 50 at once. No bank name or BIC lookup (no dataset is bundled). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
ibanNoOne IBAN. Spaces, dashes and lowercase are accepted
ibansNoAlternative: up to 50 IBANs, comma-separated

Output Schema

NameRequiredDescription
bbanNo
ibanNo
countNo
inputNo
validNo
checksNo
accountNo
countryNo
invalidNo
resultsNo
bankCodeNo
ibanPrintNo
bankLookupNo
branchCodeNo
countryCodeNo
nationalCheckNo
expectedLengthNo
ibanElectronicNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint and openWorldHint, so the description carries the real behavioral burden and does so: no network call required for validation, returns electronic and print formats, and a payment model ($0.002 USDC via x402) with the important guarantee that failed calls are not charged. Minor gaps: no statement of what an invalid IBAN returns or the shape of the country/check-digit verdict.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core capability and packs the scope, exclusions, return values and price into compact clauses with no filler. Dense but readable; the pricing sentence is long yet earns its place by stating the no-charge-on-failure rule.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not enumerate return fields, and it still names the key outputs (electronic/print format, bank/branch/account split). Scope limits, country coverage source, batch cap, and cost model are all covered, so 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already documents space/dash/lowercase tolerance and the 50-IBAN comma-separated batch. The description largely restates 'Pass ibans= for up to 50 at once' and adds no format detail or precedence rule for what happens if both 'iban' and 'ibans' are sent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (IBAN validation) and enumerates exactly what is checked: ISO 13616 length/structure across the SWIFT registry, mod-97 checksum, national check digits for named countries, and the bank/branch/account split. It also names the boundary against the sibling 'swift' tool by declaring 'No bank name or BIC lookup'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear consumption model: single 'iban' or batch 'ibans=' up to 50, plus an explicit exclusion (no BIC/bank-name lookup) that routes that need elsewhere. Lacks an explicit statement of when a caller should not validate (e.g., non-IBAN account formats), but the intended context is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

imageImageA
Read-only
Inspect

Generate an image from a text prompt (FLUX.1 schnell). Returns a base64 JPEG. Fast, 1024x1024. Price: $0.005 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
stepsNo1-8, default 4
promptYesUp to 2048 chars

Output Schema

NameRequiredDescription
mimeNo
modelNo
image_base64No

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint/openWorldHint; the description goes well beyond them by disclosing output format (base64 JPEG), resolution (1024x1024), latency character ('Fast'), and a full billing model: $0.005 USDC per successful call via x402 on Base, Solana or Arc, with failed calls not charged. That payment and failure-billing detail is exactly the operational context 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence pair, front-loaded with the action and model, then output format, then cost. No filler, and the most decision-relevant facts (what it does, what it returns, what it costs) all appear before any elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter generation tool with an output schema and annotations, everything an agent needs is present: the model, output type and size, and the payment protocol including the no-charge-on-failure guarantee. Return-value structure is covered by the output schema, so nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (prompt up to 2048 chars, steps 1-8 default 4) are already documented structurally. The description adds no parameter-level meaning such as how 'steps' trades off quality vs speed or how prompt length affects results, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Generate an image from a text prompt'), names the underlying model (FLUX.1 schnell), and specifies the return artifact (base64 JPEG). This cleanly separates it from sibling analyzers like describe_image or ocr, which take images rather than produce them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The trigger condition (you have a text prompt and want an image) is implied by the verb, but there is no explicit when-to-use guidance, no mention of alternatives such as describe_image, and no stated prerequisites for the paid x402 flow beyond the price itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

invoice_extractInvoice ExtractA
Read-only
Inspect

Structured data from an invoice: seller and buyer (name, address, tax ID), invoice number, dates, currency, line items, subtotal, tax, total and payment details, with null for anything absent. The arithmetic is checked (line sum against subtotal, subtotal plus tax against total) and mismatches are returned. PDF with a text layer by URL or base64, or plain text. Price: $0.005 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlNohttps link to a PDF invoice with a text layer (JSON body field)
textNoThe invoice text (JSON body field); or give url or pdf_base64 instead
pdf_base64NoThe PDF as base64, up to 15 MB (JSON body field)

Output Schema

NameRequiredDescription
modelNo
checksNo
sourceNo
invoiceNo
checkedAtNo
disclaimerNo
allChecksPassNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint, openWorldHint), the description discloses behavior the structured fields cannot: absent fields are returned as null, cross-field arithmetic is validated and mismatches are surfaced, and pricing/billing semantics are given ($0.005 USDC per successful call via x402; failed calls not charged). That last point is critical operational context 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the extraction output, then validation behavior, then accepted inputs, then cost — each sentence carries distinct, necessary information with no filler or repetition of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only extraction tool with a full output schema and no required parameters, the description covers input formats, null/validation behavior, 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents url, text, and pdf_base64. The description only reinforces the format constraint (text-layer PDF) and the mutual-exclusivity of the three inputs, adding marginal value over the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb+resource (extract structured data from an invoice) and enumerates the exact fields returned (seller/buyer, tax IDs, dates, line items, totals, payment details). An agent can immediately distinguish this from generic siblings like pdf, ocr, or extract because it commits to invoice-specific output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage context by stating accepted inputs ('PDF with a text layer by URL or base64, or plain text'), which is useful for routing, but it never names an alternative (e.g., use ocr for scanned PDFs without a text layer) or gives an explicit when-to-use/when-not statement relative to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ipIpA
Read-only
Inspect

Who owns an IP address: network name, CIDR, owner, abuse contact (RDAP), ASN and holder (RIPEstat), and reverse DNS. Private, reserved and documentation addresses are refused with 400. Public registry data only. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
ipYesIPv4 or IPv6 address

Output Schema

NameRequiredDescription
ipNo
asnNo
ownerNo
sourceNo
networkNo
versionNo
checkedAtNo
reverseDnsNo
abuseContactNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds material context beyond that: it names the data sources (RDAP, RIPEstat), the 400 refusal behavior for non-public ranges, and the x402 payment model including that failed calls are free — valuable for an agent deciding whether to call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with zero padding: what it returns, the failure condition, and the cost model are each front-loaded and earn their place. Nothing is repeated from structured fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained; the description still covers the inputs' constraint (public only), the error path (400), the data provenance, and the billing model. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single 'ip' parameter is already documented as IPv4 or IPv6. The description adds nothing about format, edge cases, or input handling 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Who owns an IP address') and enumerates exactly what is returned: network name, CIDR, owner, abuse contact, ASN, holder, and reverse DNS. An agent can immediately distinguish this from siblings like dns, domain, or evm_address.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly states the operative constraint: private, reserved, and documentation addresses are refused with 400, and only public registry data is used. That tells the agent when the tool will fail, but it does not explicitly name an alternative sibling for those cases, keeping it 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.

json_repairJson RepairA
Read-only
Inspect

Repairs broken JSON: markdown fences, comments, trailing commas, single quotes, unquoted keys, Python literals (True, False, None) and truncated endings. Pure code first; the model is asked once only when code cannot repair it. Optional JSON Schema check covers type, required, properties, items, enum, minimum, maximum, minLength, maxLength and pattern. Input max 1 MB. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textYesThe broken JSON text (max 1 MB)
schemaNoOptional JSON Schema to validate the repaired value against

Output Schema

NameRequiredDescription
fixesNo
validNo
valueNo
problemsNo
checkedAtNo
usedModelNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/openWorldHint annotations: a deterministic-first then single model fallback, a 1 MB input cap, and a paid x402 pricing model ($0.002 USDC per successful call on Base, Solana or Arc) with failed calls free. The payment and billing-failure semantics are exactly the context 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, all front-loaded: capability first, then fallback strategy, then validation scope, then limits and price. No restatement of the title and no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation. Given only two parameters, the description still covers everything an agent must know before calling: input size limit, what validation is supported, the model-fallback behavior, and the payment requirement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it restates the 1 MB cap on 'text' and spells out which JSON Schema keywords the optional validation actually enforces (type, required, properties, items, enum, minimum/maximum, minLength/maxLength, pattern), which the schema property text does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Repairs broken JSON') and then enumerates the exact failure modes handled: markdown fences, comments, trailing commas, single quotes, unquoted keys, Python literals, truncated endings. That enumeration distinguishes it from the sibling json_validate, which checks rather than fixes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The line 'Pure code first; the model is asked once only when code cannot repair it' tells the agent the repair strategy and its cost/latency implications. It does not explicitly say 'use json_validate instead when the JSON is already well-formed,' so the sibling routing is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

json_validateJson ValidateA
Read-only
Inspect

Validates JSON data against a JSON Schema (draft 2020-12): valid true or false, and up to 50 errors with the instance path, the keyword and the message. Schema and data are each limited to 200 KB. Remote $ref targets are not fetched. No network call. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
dataYesAny JSON value to validate
schemaYesA JSON Schema (object or boolean)

Output Schema

NameRequiredDescription
draftNo
validNo
errorsNo
sourceNo
checkedAtNo
errorCountNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only state readOnlyHint and openWorldHint; the description goes well beyond them by disclosing the 200 KB per-payload cap, the 50-error cap, the refusal to fetch remote $refs, and the billing rule that failed calls are free. This is exactly the kind of operational context 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first clause and every subsequent sentence carries distinct information (output shape, limits, ref policy, price). The single dense paragraph does blend billing mechanics with core semantics, which is slightly harder to scan than separate sentences would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with an output schema, all the missing risk information is covered: input size limits, network/ref behavior, error volume, and payment terms. No assumption is left for the agent to make about cost or failure modes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100% for the two parameters, so the baseline is 3; the description earns above that by adding the 200 KB size limit on both 'schema' and 'data' and by pinning the accepted schema dialect (draft 2020-12). It does not add value beyond the schema for anything else.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

A specific verb (validates) plus resource (JSON data against a JSON Schema), with the draft version pinned. It distinguishes itself from nearby siblings like json_repair (repair) and validate (generic validation) without needing the schemas opened.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is clear from the purpose and the stated constraints ('Remote $ref targets are not fetched. No network call.'), which implicitly tell the agent when this tool will not work. It stops short of naming an alternative such as json_repair for malformed input, so there is no explicit when-not/alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jwt_decodeJwt DecodeA
Read-only
Inspect

Decodes a JWT (up to 16 KB): header, payload, registered claims as ISO dates, expired and not-yet-valid flags, algorithm and signature length. With jwksUrl (public https) the signature is checked with WebCrypto for RS, PS and ES algorithms against the matching key. 'none' is never accepted; HMAC needs the secret. Tokens are secrets: this tool does not store or log them. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
tokenYesThe JWT, three base64url parts separated by dots (up to 16 KB)
jwksUrlNoPublic https URL of the JWKS to verify with (optional)

Output Schema

NameRequiredDescription
kidNo
typeNo
claimsNo
headerNo
sourceNo
expiredNo
payloadNo
verifiedNo
algorithmNo
checkedAtNo
notYetValidNo
signatureBytesNo
verifiedReasonNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly and openWorld annotations, the description discloses size limits, which claims are normalized to ISO dates, validity flags, supported verification algorithms, security handling of secrets, and pricing behavior. It also clarifies that tokens are not stored or logged and failed calls are not charged. These details materially help an agent understand side effects, cost, and constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core decode behavior and then adds verification, security, and pricing details in a compact paragraph. Every sentence adds operational value, and there is no redundant restatement of the name or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description does not need to enumerate return fields in detail, yet it still names the key result components. Combined with full schema coverage and annotations, it provides enough context for correct invocation, including limits, verification behavior, secret handling, and cost model.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters. The description still adds meaningful semantics: jwksUrl must be a public https URL and triggers WebCrypto signature verification against the matching key for specific algorithm families. It also reinforces that token is secret and capped at 16 KB.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it decodes a JWT and returns header, payload, registered claims, validity flags, algorithm, and signature length. It also bounds the input at 16 KB, so the agent knows exactly what operation is being performed. No sibling tool covers JWT decoding, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear conditional usage for the optional verification path: with jwksUrl, signatures are checked using WebCrypto for RS, PS, and ES algorithms. It also notes that 'none' is never accepted and HMAC needs the secret. It does not explicitly state when to prefer this tool over alternatives, but there is no direct sibling alternative for JWT decoding.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

langLangA
Read-only
Inspect

The language of a text with franc-min: ISO 639-3 and ISO 639-1 codes, the English name, confidence from 0 to 1, the script (Latin, Cyrillic, Arabic...) and the three next most likely languages. Send texts= (a JSON array of up to 20 strings) for a batch. Under 20 characters the answer is und with a note. 61 languages. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textNoUp to 5,000 characters
textsNoAlternative: a JSON array of up to 20 strings, e.g. ["Hallo","Merhaba"]

Output Schema

NameRequiredDescription
countNo
lengthNo
scriptNo
resultsNo
iso639_1No
languageNo
checkedAtNo
confidenceNo
alternativesNo
languageNameNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and openWorldHint, but the description adds real behavioral context the agent could not otherwise know: the 20-string batch cap, the sub-20-character failure mode with 'und' plus note, the 61-language coverage, the x402 pricing model and payment chains, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: the purpose and output shape come first, then batching, edge case, and pricing. The final pricing sentence is long but carries distinct information, so little waste overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is not required, and the description still covers batching, minimum-length behavior, language count, and the payment model. What is missing is error/edge behavior for non-text or oversized input beyond the 5,000-character schema note.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are already documented, and the description largely repeats them (texts= as a JSON array of up to 20 strings). The only genuine addition is the sub-20-character behavior tied to the text parameter, which warrants the baseline 3 rather than higher.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (detect the language of a text) and names the engine (franc-min) plus the exact output fields, so it is immediately distinguishable from siblings like translate, text_tone, or sentiment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete operative guidance: send texts= for batches, and texts under 20 characters return 'und' with a note. It does not name alternatives or explicitly say when not to use it (e.g., vs translate), 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.

law_ecfrLaw EcfrA
Read-only
Inspect

Searches the US eCFR by keyword or retrieves the current text of a specific section (title, part, section) via the official eCFR API. Returns hierarchy, heading, text (max 50,000 characters), last amended date, and official URL. Coverage: current CFR as published on ecfr.gov. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoKeyword search query (max 200 characters)
partNoCFR part number (e.g. 1020) for section lookup
limitNoMax search results (1–25, default 10)
titleNoCFR title number (1–50) for section lookup
sectionNoCFR section number (e.g. 1020.210) for section lookup

Output Schema

NameRequiredDescription
countNo
queryNo
totalNo
sourceNo
resultsNo
checkedAtNo
disclaimerNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnlyHint, openWorldHint), and the description meaningfully adds the return payload (hierarchy, heading, text capped at 50,000 chars, last-amended date, official URL), the data coverage, and the x402 payment model where failed calls are not charged. The payment/charging behavior is important context an agent cannot get from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the core purpose, and each sentence carries information (modes, return fields, coverage, pricing). No filler, though the coverage sentence is marginally expendable relative to the rest.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and safety annotations supplied, the description need not explain return values, yet it still summarizes them. It covers the payment/auth requirement, data coverage, and both call modes; only edge cases like conflicting/partial parameter sets are unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds real value by grouping the parameters into two invocation modes (q for search vs. title/part/section for section lookup), a pairing the schema does not express. It also notes the 50,000-character text cap, which is a response-side constraint tied to usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific verbs (searches, retrieves) and a precise resource (US eCFR via the official API), and clearly separates two operating modes: keyword search vs. single-section lookup. It does not name or differentiate from the adjacent sibling law_federal_register, which covers a different legal corpus, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies how to select a mode (use q for keyword search; title/part/section for section retrieval) but never states when to prefer this tool over siblings or when not to use it. Usage is inferable from the mode framing rather than explicitly guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

law_federal_registerLaw Federal RegisterA
Read-only
Inspect

Searches Federal Register documents via the official API (public domain). Filter by terms, agency slug, document type (rule, proposed rule, notice, presidential document) and date range. Each result includes title, document number, type, agencies, publication date, effective date, comment end date, abstract, and PDF/HTML URLs. limit max 50. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoKeyword search terms (max 200 characters)
typeNoDocument type: RULE, PRORULE, NOTICE, PRESDOCU
limitNoMax results (1–50, default 20)
agencyNoAgency slug (e.g. securities-and-exchange-commission)
dateGteNoPublication date on or after (YYYY-MM-DD)
dateLteNoPublication date on or before (YYYY-MM-DD)

Output Schema

NameRequiredDescription
countNo
totalNo
sourceNo
resultsNo
checkedAtNo
disclaimerNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely non-derivable behavioral context: the payment model ($0.003 USDC via x402, failed calls not charged) and the max limit of 50. It stops short of 5 only because it omits pagination/rate-limit behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loads the core operation, then the available facets, then return fields and cost. Every sentence carries information, though the enumerated result fields overlap heavily with the existing output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only search tool with an output schema and full schema coverage, this is close to complete: it covers operation, filters, cost, and limit. The lingering gap is sibling differentiation (law_ecfr) rather than anything blocking invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all six parameters in detail. The description largely restates the schema's facets and does not add syntax or format hints beyond what is present, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource ('Searches Federal Register documents') and enumerates the filterable facets (terms, agency slug, document type, date range), so the tool's function is unambiguous. It does not, however, differentiate itself from the law_ecfr sibling or other legal/regulatory search tools, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the listed filters (searching US federal regulatory documents by term/agency/type/date), but the description never states when to prefer this over alternatives such as law_ecfr or congress. No explicit when-to-use or when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

leiLeiA
Read-only
Inspect

Legal entity lookup in GLEIF by 20-character LEI or company name (best match plus up to 5 alternatives): legal name, status, jurisdiction, addresses, registration status and renewal date, direct and ultimate parent (or the reporting-exception reason), child counts with the first 10 direct children, and a one-line kycSummary. Source: GLEIF Global LEI Index (CC0). Price: $0.005 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qYesA 20-character LEI or a company name

Output Schema

NameRequiredDescription
leiNo
queryNo
sourceNo
statusNo
childrenNo
legalNameNo
matchedByNo
kycSummaryNo
matchScoreNo
alternativesNo
directParentNo
jurisdictionNo
registrationNo
ultimateParentNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only and open-world access. The description adds real behavioral context beyond them: the pricing model ($0.005 USDC per successful call), the x402 payment rails (Base, Solana, Arc), and the important failure guarantee that failed calls are not charged, plus the CC0 licensing of the source.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and payload, followed by a compact source/pricing sentence. Every clause is informative, though the long enumerated return-field list is dense and partly redundant with the output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return fields needn't be enumerated, but doing so is harmless. Combined with annotations covering safety and the description covering pricing and failure behavior, an agent has enough to invoke this correctly; the only gap is routing guidance against sibling registry tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter, so the schema already documents that q accepts a 20-character LEI or a company name. The description largely restates this, though 'best match plus up to 5 alternatives' adds useful behavioral color about name-based queries. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Legal entity lookup in GLEIF') plus the exact input forms (20-character LEI or company name). The GLEIF source scope distinguishes it from generic siblings like company_registry or entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the trigger conditions clear (LEI or company name lookup) and explains the best-match-plus-alternatives behavior, so usage is implied. However, it never states when to prefer this over sibling registry tools such as company_registry, entities, or uk_company, nor any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

llms_txtLlms TxtA
Read-only
Inspect

Whether a site publishes /llms.txt and /llms-full.txt: the parsed llms.txt (title, summary, sections with their links) and the size of llms-full.txt. Reads the site itself, through the same URL guard and size cap as the page tools. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesSite address, https://…

Output Schema

NameRequiredDescription
siteNo
sourceNo
llmsTxtNo
llmsFullNo
checkedAtNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint annotation: it discloses the URL guard and size cap, the exact price and payment rails (x402 on Base/Solana/Arc), and that failed calls are not charged. That is precisely the paid-call context 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Return shape is front-loaded in the first clause, then behavioral constraints, then pricing. It is a single dense paragraph that stays on topic, though the pricing sentence could be trimmed slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not enumerate return fields, yet it summarizes them anyway. Cost, guardrails, and failure charging are all covered, leaving nothing an agent needs missing before calling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single required url parameter, so the schema carries the parameter burden. The description adds the semantic constraint that the URL is read under the same guard/cap as page tools, which is meaningful but not additional per-parameter syntax.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (llms.txt / llms-full.txt) and exactly what is returned: parsed title, summary, sections with links, and the size of llms-full.txt. 'Whether a site publishes' frames the tool as an existence check plus parse, which is distinguishable from siblings like robots, sitemap, and read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'reads the site itself, through the same URL guard and size cap as the page tools' implies the context (LLM-oriented site discovery) but never states when to prefer this over sitemap or robots, nor any prerequisite about which sites actually publish llms.txt. Usage is inferable, not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

macroMacroA
Read-only
Inspect

Official rate and macro series in one call, by name: fed_funds, us_cpi, us_core_cpi, us_unemployment, us_10y, us_2y, us_mortgage_30y, us_gdp, wti_oil, brent_oil, henry_hub_gas, us_house_price_index, ecb_deposit_rate, ecb_main_refi_rate and euro_area_hicp. Latest value, change vs previous and vs a year earlier, and observations. Up to 6 series. FRED (US public domain), the ECB Data Portal and Eurostat. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
fromNoOnly observations from this date (YYYY-MM-DD) on
limitNoObservations per series, 1-120, default 12
seriesYesUp to 6 series names, comma-separated: fed_funds, us_cpi, us_core_cpi, us_unemployment, us_10y, us_2y, us_mortgage_30y, us_gdp, wti_oil, brent_oil, henry_hub_gas, us_house_price_index, ecb_deposit_rate, ecb_main_refi_rate, euro_area_hicp

Output Schema

NameRequiredDescription
seriesNo
sourceNo
licenseNo
checkedAtNo

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld annotations, the description discloses pricing ($0.002 USDC per successful call via x402 on Base, Solana or Arc), that failed calls are not charged, the data provenance and licensing (FRED public domain, ECB, Eurostat), and the batch cap of 6 series. This is exactly the extra 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the capability, then output shape, then commercial/source details — every sentence carries information. The long comma-separated series list duplicates the schema enumeration and slightly bloats the text, keeping it below a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description still summarizes the return shape (latest value, change vs previous and vs a year earlier, observations). Combined with provenance, pricing and the batch limit, nothing material needed to invoke the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents from, limit and series. The description only restates the series names and the 6-series cap, which duplicates the schema rather than adding format or defaulting nuance, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete resource (official rate and macro series from FRED, ECB Data Portal, Eurostat) and enumerates the exact series accepted, so an agent knows precisely what it gets. It does not differentiate from the sibling econ_indicator, which is the nearest competing tool, leaving a small ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The enumerated series list implicitly tells an agent when this tool applies (official macro/rate data), and the 'up to 6 series' batch constraint is stated. However, there is no explicit when-to-use/when-not guidance and no mention of econ_indicator, fx, or markets as alternatives for overlapping data needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

markdownMarkdownA
Read-only
Inspect

Markdown to HTML with GitHub-flavoured tables and strikethrough, heading ids, the list of headings and links, and a word count. Raw HTML in the input is escaped unless allowHtml is true; links and images with javascript:, vbscript: or data: addresses are removed. Pure code, no outbound request. Input up to 200 KB. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
gfmNoGitHub-flavoured Markdown, default true
markdownYesThe Markdown text, up to 200 KB
allowHtmlNoKeep raw HTML from the input, default false (escaped)
headingIdsNoGive each heading an id, default true

Output Schema

NameRequiredDescription
htmlNo
linksNo
sourceNo
optionsNo
headingsNo
checkedAtNo
wordCountNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well past the annotations: discloses HTML escaping unless allowHtml, removal of javascript:/vbscript:/data: URLs, the 200 KB input cap, and the billing model ($0.002 per successful call via x402, failures not charged) — all decision-relevant. One tension: it asserts 'no outbound request' while openWorldHint=true is declared; the description is the more trustworthy of the two, but the mismatch is worth noting rather than treating as a contradiction of a readOnly-style safety claim.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences, front-loaded with the conversion and its outputs before the security, limits and pricing facts. Nearly every clause earns its place; the output-feature list is slightly run-on, which keeps it just under maximum.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the description still covers the items that matter for correct invocation: size limit, escaping/sanitization semantics, determinism, and payment. Nothing an agent needs to call this successfully is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds meaning the schema does not carry: which features gfm actually enables (tables, strikethrough), what headingIds produces, and the sanitization rules applied to links and images. It stops short of mapping every flag by name, leaving the schema to do the final binding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (Markdown to HTML) and enumerates the exact output surface: GFM tables/strikethrough, heading ids, headings and links lists, and a word count. That detail separates it cleanly from neighbours such as text_readability, text_outline or encode without the agent needing to diff schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the agent can infer 'I have Markdown, I want HTML'. The 'pure code, no outbound request' line hints at when privacy matters, but no alternative sibling is named and there is no explicit when-not guidance. Adequate but leaves routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

marketsMarketsA
Read-only
Inspect

Search Panta prediction markets (USDC on Solana) by keywords, phase or category. Compact rows: question, YES/NO implied probability from live prices, volume, close and resolution times, resolution source. Powered by Panta. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoKeywords, all must match (title, description, category)
limitNoMax results, 1-20, default 10
statusNoprimary (open for buys), secondary, resolved or cancelled
categoryNoOptional: sports, crypto, politics, entertainment, finance, science, world, other

Output Schema

NameRequiredDescription
totalNo
resultsNo
poweredByNo
disclaimerNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint and openWorldHint; the description adds real behavioral context beyond them — a $0.002 USDC cost per successful call, x402 payment on Base/Solana/Arc, and the fact that failed calls are not charged. The 'information only, not financial advice' line also sets expectations about output nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and scope, then a compact row description, then pricing. Slightly wasteful: 'Powered by Panta' repeats the platform name already given, and the disclaimer is boilerplate, though defensible for a prediction-market tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers scope, filter axes, cost/auth mechanics and the shape of results, and an output schema exists so return values need no further explanation. Missing is any note on whether limit/pagination caps results (the schema caps at 20) or on rate limiting, but nothing essential to a correct call is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the four parameters are already documented. The description restates keywords/category and introduces the term 'phase' for what the schema calls 'status' (primary/secondary/resolved/cancelled), which adds loose terminology rather than new meaning. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Search), a specific resource (Panta prediction markets on Solana/USDC) and the filter axes (keywords, phase, category). Naming the Panta platform implicitly separates it from the Polymarket-flavoured siblings (pm_search, prediction_polymarket), but it never explicitly contrasts itself with them, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer 'use this to find prediction markets by keyword/category', but there is no when-to-use/when-not statement and no routing to alternatives such as markets_brief, markets_quote or pm_search. The paid-per-call model is disclosed but not framed as a reason to prefer a cheaper sibling for simple lookups.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

markets_briefMarkets BriefA
Read-only
Inspect

One Panta prediction market in depth: current YES/NO odds, recent trading activity and a short neutral AI summary of what it asks, what resolves it and what the price implies. No advice. Powered by Panta. Price: $0.01 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
idYesPanta market id, from GET /api/markets

Output Schema

NameRequiredDescription
marketNo
summaryNo
disclaimerNo
recentActivityNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description usefully adds billing behavior: $0.01 in USDC per successful call, x402 payment on Base/Solana/Arc, and failed calls are not charged, though it omits auth flow details and 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the returned contents, then adds the no-advice qualifier and the essential pricing model. It is three tight sentences with no padding, and the cost sentence earns its place because it affects invocation decisions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only paid brief tool with an output schema, the description supplies purpose, cost, payment rails, and failure-billing behavior. Nothing critical for correct invocation is missing, and return-value details are correctly left to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the single id parameter is already documented as 'Panta market id, from GET /api/markets.' The description adds no syntax, format, or usage meaning beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the resource (one Panta prediction market) and the exact contents returned: current YES/NO odds, recent trading activity, and a neutral AI summary. It is specific but does not explicitly distinguish itself from siblings such as markets, markets_quote, or pm_event, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Contains no explicit when-to-use or when-not-to-use guidance. It implies a deep dive on a single market, but never names alternatives or conditions that would route an agent to or away from this tool over the many related prediction-market siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

markets_build_buyMarkets Build BuyAInspect

Build an unsigned Panta buy transaction (Solana v0, base64, plus the raw instructions) for your own wallet to sign and broadcast. SiteCheck never signs, holds keys or custodies funds. Then report the signature to POST /api/markets/report (free). Price: $0.01 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
idYesPanta market id (the market's event address, base58), from GET /api/markets
sideYesyes or no
walletYesThe buyer's Solana wallet (base58). It pays and signs; SiteCheck never does.
amountUsdcYesUSDC to spend, as a decimal string, e.g. "5.00"
maxSlippageBpsNo1-5000, default 100 (1%)

Output Schema

NameRequiredDescription
orderNo
disclaimerNo
transactionNo
instructionsNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing custody posture ('never signs, holds keys or custodies funds'), the exact payment model ($0.01 USDC via x402 on Base/Solana/Arc), and that failed calls are not charged. These are critical operational facts an agent can't get from readOnlyHint/openWorldHint alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight, front-loaded sentences: action, then custody disclaimer, then follow-up and pricing. Every sentence carries useful information; the parenthetical encoding detail is slightly dense but justified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation. For a mutating, paid tool the description covers the full lifecycle — build, sign, report, cost — leaving nothing an agent needs to call it correctly unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all five parameters including defaults and formats. The description reinforces the wallet's payer/signer role but adds no syntax or format detail beyond what the schema provides, matching the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource: 'Build an unsigned Panta buy transaction', with the encoding (Solana v0, base64) and output (raw instructions). This is clearly distinguishable from read-oriented siblings like markets_quote or markets_brief.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes the full workflow context — sign/broadcast yourself, then report the signature to POST /api/markets/report. It doesn't explicitly name alternative sibling tools or state when-not-to-use, but the surrounding flow is clear enough for correct selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

markets_quoteMarkets QuoteA
Read-only
Inspect

Quote a YES or NO buy on a Panta market for a USDC amount and wallet: expected shares, average fill price, fee and price impact against the spot price. Nothing is signed or sent. Powered by Panta. Price: $0.005 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
idYesPanta market id (the market's event address, base58), from GET /api/markets
sideYesyes or no
walletYesThe buyer's Solana wallet (base58). It pays and signs; SiteCheck never does.
amountUsdcYesUSDC to spend, as a decimal string, e.g. "5.00"

Output Schema

NameRequiredDescription
spotPriceNo
disclaimerNo
priceImpactNo
expectedFillNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond annotations: confirms nothing is signed or sent (consistent with readOnlyHint=true), and discloses the payment model that annotations do not cover — $0.005 USDC per successful call via x402 on Base/Solana/Arc, with failed calls not charged. This is exactly the kind of auth/cost context 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three front-loaded sentences: what it computes, that it is non-mutating, then the pricing. Tight overall, though 'Powered by Panta.' is redundant with the title and adds nothing an agent can act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return fields need not be spelled out (the description lists them anyway as a bonus). Combined with the cost/settlement disclosure and full schema coverage, an agent has everything required to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (id, side, wallet, amountUsdc) is already documented with format hints in the schema. The description only restates 'USDC amount and wallet' and 'YES or NO' without adding syntax or constraint detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource (quote a YES/NO buy on a Panta market), the exact input domain (USDC amount, wallet), and the exact outputs (expected shares, average fill price, fee, price impact vs spot). The line 'Nothing is signed or sent' effectively separates it from the sibling execution path (markets_build_buy) without needing to name it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context: this is a non-signing preview of a buy, useful before committing. However it never explicitly names markets_build_buy (or markets/markets_brief) as the alternative for actually executing, so an agent must infer the when-to-use boundary rather than read it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

media_transcriptMedia TranscriptA
Read-only
Inspect

Speech to text from a media link: TikTok, X, SoundCloud, Facebook, Dailymotion, podcasts, Drive or Dropbox links, direct audio or video files. Text, timestamped segments, language, duration; speaker labels on request. Price from maxMinutes (default 5, up to 120): direct file up to 25 MB $0.002 + $0.0006/min, other links $0.002 + $0.0009/min, speakers=1 $0.01/min. Longer media is refused unpaid. YouTube returns captions. No speech is a 404, not charged. Takes about 30 s; allow a 60 s timeout. Price: $0.0065 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesPublic link to the video, audio file or podcast episode (http or https)
languageNoSpoken language code such as en, tr or pt-BR (optional, detected by default)
speakersNo1 = label the speakers (optional; $0.01 per minute of maxMinutes)
maxMinutesNoLongest media to accept, 1 to 120, default 5. Sets the price: a direct audio or video file up to 25 MB $0.002 + $0.0006 per minute, other links $0.002 + $0.0009 per minute

Output Schema

NameRequiredDescription
textNo
modelNo
titleNo
methodNo
sourceNo
languageNo
platformNo
segmentsNo
checkedAtNo
maxMinutesNo
source_noteNo
speakerLabelsNo
durationSecondsNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations: discloses latency (~30 s, allow a 60 s timeout), payment model (x402 in USDC on Base/Solana/Arc, $0.0065 per successful call), that failed calls and no-speech 404s are not charged, and that oversized media is refused. For a paid, external-facing tool this is exactly the operational 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose, then outputs, then pricing, then timing/payment — a sensible ordering with no filler sentences. The pricing clause is a dense run-on that partly duplicates the schema, which keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though an output schema exists, the description still previews the return shape (text, timestamped segments, language, duration, optional speaker labels) and covers cost, latency, failure modes and payment. Nothing an agent needs to call this correctly or budget for it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents url, language, speakers and maxMinutes, including the same per-minute pricing. The description adds only marginal semantics (maxMinutes sets the price tier and caps accepted length), so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Speech to text from a media link") and enumerates exactly which platforms/URL types are accepted, which lets an agent distinguish it from text-only siblings. It stops short of naming or contrasting the closest alternatives (transcribe, youtube_transcript), so it falls just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The platform enumeration plus the "Longer media is refused unpaid" and "YouTube returns captions" lines give clear context for when this tool applies and what it will do. There are no explicit exclusions or routing statements pointing the agent to a sibling for a given case, so it is clear-context without alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

metaMetaA
Read-only
Inspect

SEO and sharing metadata of one web page, read from its HTML without JavaScript: final URL and status, title and description with their lengths, canonical, robots meta, lang, hreflang, Open Graph and Twitter card tags, JSON-LD types and objects, favicon, heading outline, word count, and an issues list of plain sentences. robots.txt is respected. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesPage URL or domain, e.g. example.com

Output Schema

NameRequiredDescription
urlNo
langNo
iconsNo
titleNo
issuesNo
jsonLdNo
robotsNo
statusNo
twitterNo
finalUrlNo
headingsNo
hreflangNo
canonicalNo
checkedAtNo
openGraphNo
wordCountNo
contentTypeNo
descriptionNo

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and openWorldHint annotations, the description discloses the non-JS execution model, robots.txt compliance, the per-success price of $0.002 USDC via x402 across Base, Solana, or Arc, and crucially that failed calls are not charged. Those are exactly the behavioral facts an agent needs before incurring cost on an open-world fetch.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose, extraction mode, and scope lead the sentence, followed by the field inventory and then the payment terms, so the most decision-relevant information is front-loaded. The long field enumeration is dense but each item is a genuine output capability; only the payment clause is somewhat verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so enumerating return values is redundant but harmless, and annotations already cover the read-only, open-world profile. The one real gap is failure modes: what happens for non-HTML, 4xx, or blocked-by-robots pages is not stated beyond the 'not charged' promise.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with full schema description coverage, so the schema already carries the meaning (page URL or bare domain, e.g. example.com). The description only restates 'one web page' and adds no format or normalization detail beyond the schema, which is the expected baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource, the SEO and sharing metadata of one page, and enumerates exactly which fields come back (title, canonical, robots, hreflang, OG/Twitter tags, JSON-LD, headings, word count), so the agent knows what it gets. The 'read from its HTML without JavaScript' clause separates it from rendering-based siblings such as pagespeed, though no sibling is actually named.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: one page, static HTML, robots.txt honored, so an agent can infer this is for SEO or link-preview auditing rather than full rendering or crawling. There is no explicit when-to-use, when-not-to-use, or pointer to alternatives like headers, robots, sitemap, or extract.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

moderateModerateA
Read-only
Inspect

Safety check of a text or a chat turn with Llama Guard 3: safe or unsafe, and the violated categories (S1 to S14, named in plain words). Send text, or messages (up to 20 turns). Classifies only; it does not change or block anything. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textNoText to check, up to 8,000 characters
messagesNoOr chat turns: {role: user or assistant, content}, up to 20

Output Schema

NameRequiredDescription
safeNo
modelNo
sourceNo
checkedAtNo
categoriesNo

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover only readOnlyHint and openWorldHint, so the description carries real additional weight: it discloses the pricing model ($0.002 USDC per successful call via x402 on Base, Solana or Arc), that failed calls are free, and that the operation is non-mutating ('does not change or block anything'). These are exactly the traits an agent needs before invoking a paid external classifier.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with what the tool returns, followed by input modes, scope limits, and cost. Every sentence carries information an agent cannot get from the structured fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-format detail is unnecessary; the description still supplies the category range and safe/unsafe framing. For a two-param, zero-required paid classifier, 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters including the 8,000-character and 20-turn limits. The description restates the 20-turn cap and names the category space but adds no syntax or format detail beyond the schema, which matches the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names the specific verb (safety check/moderation), the engine (Llama Guard 3), the resource (text or chat turn), and the precise output taxonomy (safe/unsafe plus S1–S14 categories in plain words). This is distinguishable at a glance from siblings like classify, sentiment, violations, or redact.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States the two accepted input modes ('Send text, or messages (up to 20 turns)') and explicitly bounds the tool's role with 'Classifies only; it does not change or block anything,' which tells the agent not to expect enforcement. It stops short of naming alternatives (e.g. sentiment/classify) or when-not-to-use conditions, so it does not reach a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

npiNpiA
Read-only
Inspect

US healthcare providers from the NPPES NPI Registry: look up one by its 10-digit NPI (check digit verified) or search by name with an optional state. Each provider gives type, name, credential, status, primary taxonomy and practice address. Information only, not medical advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
nameNoFirst and last name, or last name
stateNoTwo-letter US state, e.g. CA
numberNo10-digit NPI

Output Schema

NameRequiredDescription
queryNo
sourceNo
checkedAtNo
providersNo
attributionNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so safety is covered; the description adds genuinely non-obvious behavior: check-digit verification, per-call cost of $0.002 USDC via x402 on specific chains, and that failed calls are not charged. The only gap is no mention of result limits or pagination when searching by name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource and its two modes, then capabilities, then cost — every clause carries information. The 'not medical advice' disclaimer is arguably boilerplate but is short.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists and annotations cover the safety profile, so the description only needs to convey modes, returned fields, and payment model — 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.

Parameters4/5

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 adds real meaning by specifying the 10-digit format with check-digit verification for 'number' and clarifying that state is optional to the name search. It doesn't say what happens if both name and number are omitted or supplied together.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the specific resource (US healthcare providers from the NPPES NPI Registry), the two access modes (exact NPI lookup vs. name/state search), and the returned fields, which cleanly separates it from siblings like clinical_trials or fda_label.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly lays out the two usage modes — 'look up one by its 10-digit NPI' or 'search by name with an optional state' — so an agent knows which parameter combination to pick. It stops short of naming an alternative tool for related healthcare data or stating when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ocrOcrA
Read-only
Inspect

Reads the text of an image (JPEG, PNG, GIF or WEBP, up to 4 MB) with Llama 3.2 11B Vision on Workers AI. Send an https url or base64 image, and optionally a language hint. Returns the full text with its line breaks, the lines, a language guess and the model that answered. An image with no readable text is a 422 and is not charged. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlNohttps URL of the image
imageNoAlternative: the image as base64, up to 4 MB
languageNoOptional hint, e.g. English or German

Output Schema

NameRequiredDescription
mimeNo
textNo
bytesNo
linesNo
modelNo
languageNo
checkedAtNo
languageNameNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds substantial behavioral detail beyond the annotations: pricing in USDC, x402 payment chains, no charge for failed calls, a 422 for images with no readable text, and the exact model used. These details are highly useful for an agent planning 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loaded: core purpose first, then invocation, return information, error behavior, and pricing. Every sentence provides actionable information without padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the description is complete. It covers inputs, formats, limits, return fields, error behavior, pricing, and model, while safety is already covered by annotations and return structure is backed by an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents url, image, and language. The description reinforces that url and image are alternatives and that language is an optional hint, but adds little syntax or meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: reads the text of an image via OCR. It names supported formats, size limit, and the underlying vision model, so an agent can distinguish this from general image or description tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains how to invoke the tool by sending an HTTPS URL or base64 image, and notes an optional language hint. However, it does not explicitly state when to use this tool instead of siblings such as describe_image or extract, nor does it list exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

packagePackageA
Read-only
Inspect

Facts about a package on npm, PyPI or crates.io: latest version and date, license, description, repository, maintainers (npm), weekly downloads (npm), a deprecated or yanked flag, and how many known vulnerabilities the latest version has (OSV). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
nameYesPackage name
ecosystemYesnpm, pypi or crates

Output Schema

NameRequiredDescription
nameNo
sourceNo
licenseNo
checkedAtNo
ecosystemNo
deprecatedNo
repositoryNo
descriptionNo
maintainersNo
publishedAtNo
latestVersionNo
vulnerabilitiesNo
weeklyDownloadsNo
deprecationMessageNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnlyHint, openWorldHint), so the bar is lower, and the description still adds genuinely useful behavioral context: it discloses cost ($0.002 USDC per successful call, paid via x402 on named chains) and that failed calls are not charged. That billing/charge-failure semantics is not derivable from annotations or schema. It stops short of describing pagination, latency, or error modes for missing packages.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The value proposition is front-loaded in the first sentence, with pricing in a separate trailing sentence. The field list is long but each item earns its place by describing returned facts. Only mild density cost from packing all fields into one run-on sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter lookup with a defined output schema and read-only/open-world annotations, this is nearly complete: it covers scope, ecosystems, returned fields, and payment behavior. Missing only the explicit handoff to package_search for name discovery and any note on missing-package behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented and the baseline is 3. The enumerated data fields describe the response, not the parameters; the description adds no syntax, casing, or scoping detail beyond what the schema already says for name and ecosystem.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete resource (a package) across three named ecosystems and enumerates exactly what facts are returned (latest version/date, license, repo, maintainers, weekly downloads, deprecation/yank flag, vulnerability count). That is far more specific than a title restatement. It does not, however, explicitly distinguish itself from the sibling package_search, leaving the search-vs-lookup boundary implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is a direct lookup by exact package name plus ecosystem, while package_search is presumably for discovery. The description never states when to prefer this over package_search or what preconditions exist (e.g., exact-name match required), so the agent must infer the routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pagespeedPagespeedA
Read-only
Inspect

Google PageSpeed Insights for one public URL: the Lighthouse scores (performance, seo, accessibility, best-practices), the lab Core Web Vitals (FCP, LCP, CLS, TBT, Speed Index), the CrUX field data when Google has it (LCP, INP, CLS), and the top five opportunities with estimated savings. Mobile by default. A run takes 10 to 40 seconds and is cached for an hour. Keyless calls share Google's quota, so a busy moment is a 503. Price: $0.005 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYeshttp or https URL of a public page, e.g. https://example.com/
strategyNomobile (default) or desktop
categoriesNoperformance (default), seo, accessibility, best-practices; comma-separated

Output Schema

NameRequiredDescription
urlNo
sourceNo
finalUrlNo
strategyNo
checkedAtNo
fieldDataNo
categoriesNo
labMetricsNo
measuredAtNo
opportunitiesNo
lighthouseVersionNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/openWorldHint annotations: run latency of 10-40 seconds, one-hour caching, 503 as the busy-quota failure mode, a $0.005 USDC charge per successful call via x402, and the fact that failed calls are not charged. This is exactly the operational detail an agent needs before committing to a paid, slow call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then cost/latency/failure information in tight sentences with no filler. The enumeration of returned artifacts is somewhat redundant given an output schema exists, costing it a point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid, slow, external-quota tool, the description covers cost, latency, caching, failure mode, defaults, and scope. With an output schema present it need not explain return structure, and 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents url, strategy, and categories including defaults. The description only echoes 'Mobile by default' rather than adding format, constraint, or interaction detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Google PageSpeed Insights for one public URL') and enumerates exactly what it returns: Lighthouse scores, lab Core Web Vitals, CrUX field data, and top five opportunities. An agent can distinguish it from adjacent siblings like audit, headers, or ssl without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives usable operating context ('one public URL', 'Mobile by default', keyless quota sharing), which implies when the tool applies. However, it never names an alternative or a when-not condition, so the agent must infer the boundary against siblings like audit or headers itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pdfPdfA
Read-only
Inspect

PDF to text: send an https link or base64 (up to 15 MB) and get the text page by page plus title, author, page count and dates. Text PDFs only: a scanned PDF without a text layer answers 422 and is not charged. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlNohttp(s) link to a PDF
maxCharsNoCut the text at this many characters, 1000-500000, default 100000
pdf_base64NoAlternative: the PDF as base64

Output Schema

NameRequiredDescription
noteNo
textNo
charsNo
pagesNo
titleNo
authorNo
byPageNo
creatorNo
subjectNo
producerNo
createdAtNo
truncatedNo
modifiedAtNo
pagesReturnedNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already covering read-only and open-world behavior, the description adds substantial operational context: a 15 MB input limit, failure behavior for scanned PDFs, exact pricing, successful-call-only billing, and supported payment networks. This is unusually transparent for invocation and cost planning.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and input format, then adds constraints, failure behavior, and pricing in compact sentences. Every sentence carries useful information for a paid API call, with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema, annotations, and 100% schema coverage, the description supplies the remaining essential context: supported inputs, size limit, text-PDF-only restriction, failure behavior, and billing. An agent has enough to decide when and how to call it without needing undocumented assumptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents url, maxChars, and pdf_base64. The description adds a meaningful constraint not in the schema: inputs are capped at 15 MB, and it reinforces that the user sends either a link or base64. It does not elaborate on maxChars beyond what the schema already provides, so it improves but does not fully own parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: convert a PDF to text, accepting a link or base64 and returning text plus metadata. It distinguishes itself from related sibling tools such as ocr, extract, and read by making clear it is for text PDFs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear usage context and a strong negative condition: text PDFs only, while scanned PDFs without a text layer return 422 and are not charged. It does not explicitly name an alternative sibling such as ocr for scanned documents, so it falls short of full alternative-routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perps_accountPerps AccountA
Read-only
Inspect

A Hyperliquid account by address: account value, margin used and withdrawable amount in USD, and each open position with side, size, entry and mark price, unrealised PnL, leverage and liquidation price. Read-only. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
addressYesHyperliquid account address, 0x…

Output Schema

NameRequiredDescription
sourceNo
addressNo
checkedAtNo
positionsNo
disclaimerNo
marginUsedUsdNo
accountValueUsdNo
withdrawableUsdNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only and open-world scope, so the description earns credit for adding genuinely new behavior: a $0.002 USDC cost per successful call via x402 on Base/Solana/Arc, and explicitly that failed calls are not charged. That billing/failure semantics is not derivable from annotations and materially affects an agent's willingness to call. It stops short of 5 only because no rate limits or failure modes are described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the primary purpose and return contents, followed by the safety disclaimer and pricing. Every sentence carries information, though the 'Information only, not financial advice' clause is boilerplate that slightly dilutes an otherwise dense definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the description need not explain return structure, yet it helpfully summarizes the payload anyway. Combined with annotations covering safety and the description covering cost, an agent has what it needs to call this correctly; only the ambiguity about what counts as a valid Hyperliquid address is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter and schema description coverage is 100%, so the schema already documents the 0x address format. The description adds the phrase 'by address' but no additional semantics such as chain scope or expected address type beyond what the schema states, making this the baseline case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (a Hyperliquid account retrieved by address) and enumerates the exact returned content: account value, margin used, withdrawable amount, and per-position side/size/entry/mark price/unrealised PnL/leverage/liquidation price. This is unambiguous against siblings such as perps_markets (market data) or evm_wallet (generic balances).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly guides usage via the read-only framing and the field list, but never states when to choose this over perps_markets, evm_wallet, or solana_account, nor any precondition (e.g. address must be a Hyperliquid account, not just any 0x address). The context is inferable but not spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perps_marketsPerps MarketsA
Read-only
Inspect

Hyperliquid perpetual futures: mark and oracle price, hourly and annualised funding, open interest in coins and USD, 24 h volume and maximum leverage, sorted by volume. With coin, that market only. Public data, cached 30 seconds. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
coinNoOptional symbol such as BTC or ETH
limitNo1 to 50 (default 10)

Output Schema

NameRequiredDescription
sourceNo
marketsNo
checkedAtNo
disclaimerNo
marketCountNo

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld annotations, the description discloses caching (30 seconds), the exact cost ($0.002 USDC per successful call), the payment mechanism (x402 on Base, Solana or Arc), and that failed calls are not charged. These are material operational facts an agent needs before invoking a paid endpoint and are not present in the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with the returned data and scoping rule, then the operational notes. The 'Information only, not financial advice' clause is boilerplate that a stricter reader might cut, but overall the sentences carry distinct facts with little redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-field explanation is not strictly required, yet the description still covers scope, caching, cost and payment rails. It omits details like how 'limit' interacts with sorting or rate-limit consequences of the cache, but nothing critical to a correct call is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters and the baseline is 3. The description adds genuine semantic value by clarifying that supplying 'coin' switches the call to a single-market lookup rather than a volume-sorted list, which is behavioral meaning the schema text does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific resource (Hyperliquid perpetual futures) and enumerates the exact fields returned (mark/oracle price, funding, open interest, volume, max leverage), so an agent knows precisely what it gets. It does not, however, distinguish itself from close siblings like crypto_funding or perps_account, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied via 'With coin, that market only' and 'sorted by volume' — enough to infer you can broaden or narrow scope, but there is no explicit when-to-use-this-vs-alternative guidance. With sibling tools covering funding and perps accounts, the routing rules are 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.

phonePhoneA
Read-only
Inspect

Checks and formats a phone number with libphonenumber: valid and possible flags, E.164, international and national formats, country, calling code and line type (mobile, fixed line, toll free and so on). Without a + sign, give the country. No network call. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
numberYesPhone number, e.g. +44 20 7946 0958
countryNoISO alpha-2 default country when the number has no +, e.g. DE

Output Schema

NameRequiredDescription
e164No
typeNo
inputNo
validNo
sourceNo
countryNo
nationalNo
possibleNo
checkedAtNo
callingCodeNo
internationalNo

TDQS

A4/5.0
Behavior4/5

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 behavior: a per-call price ($0.002 USDC via x402 on Base/Solana/Arc), the billing rule that failed calls are free, and that the lookup itself makes no network call. That pricing/payment information is exactly the kind of auth/cost context annotations cannot convey. Minor deduction: 'No network call' sits awkwardly against openWorldHint=true and the x402 payment step, which does involve an HTTP exchange, leaving the agent slightly unsure what 'no network' scopes to.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core verb+resource, then outputs, then the country rule, then cost — a sensible importance ordering with little waste. The output enumeration is somewhat redundant given an output schema exists, which keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter, read-only lookup with a full schema, an output schema, and annotations covering safety, the description supplies everything else an agent needs: what it returns, the required country fallback, the fact that no external lookup occurs, and the payment model. Nothing material to correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are documented, including the country's 'when the number has no +' semantics, so the baseline is 3. The description's 'Without a + sign, give the country' restates that same dependency rather than adding format, precedence, or error-handling detail, so it adds no value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair (checks and formats) plus the exact resource (a phone number) and names the underlying library (libphonenumber), then enumerates the outputs it produces (valid/possible flags, E.164, international/national, country, calling code, line type). No sibling in the very large list competes for this resource, so it is trivially distinguishable from email_check, iban, vat or the generic validate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is one operational rule — 'Without a + sign, give the country' — which tells the agent how to pair the two arguments, but nothing states when to prefer this tool over the generic `validate` sibling or when it is inappropriate (e.g. partial numbers, extensions). Usage is implied by the purpose rather than spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

placesPlacesA
Read-only
Inspect

Points of interest near a point (lat and lon, or a place name geocoded through OpenStreetMap) within up to 5 km: pharmacies, restaurants, cafes, hospitals, ATMs, banks, fuel, EV charging, hotels, supermarkets, parking, schools, police, toilets. Name, distance, address parts, opening hours, phone and website when tagged. OpenStreetMap data (ODbL). Up to 50 results. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
latNoLatitude (with lon)
lonNoLongitude (with lat)
limitNoPlaces to return, 1 to 50, default 20
placeNoPlace name, geocoded (instead of lat and lon)
radiusNoRadius in metres, 50 to 5000, default 1000
categoryYesrestaurant, cafe, pharmacy, hospital, atm, bank, fuel, ev_charging, hotel, supermarket, parking, school, police or toilets

Output Schema

NameRequiredDescription
countNo
pointNo
placesNo
sourceNo
radiusMNo
categoryNo
checkedAtNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover read-only and open-world traits. Beyond that, the description discloses data provenance (OpenStreetMap, ODbL), a result cap (50), the exact returned fields when tagged, and an unusual pricing/auth model ($0.002 USDC via x402 on Base/Solana/Arc, failed calls free). That pricing detail is genuinely non-obvious and valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then progressively adds source, output fields, and pricing. Dense but information-bearing; the pricing sentence is slightly verbose yet earns its place as it affects whether an agent should call at all.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description still summarizes returned fields (name, distance, address, hours, phone, website), which is a bonus. Combined with source, limits, and cost, an agent has everything needed to invoke this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already documented (including default values and ranges). The description's 'within up to 5 km' mirrors the radius cap and the category list mirrors the enum, adding little 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Points of interest near a point') with explicit scope (up to 5 km), two input modes (lat/lon or geocoded place name), and an enumerated category list. An agent can instantly distinguish this from geocode, distance, or address_parse siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied through the input description (lat/lon vs place name) but there is no explicit when-to-use/when-not guidance and no alternative routing. Given nearby siblings like geocode and us_geocode, an explicit 'use X to resolve an address first' would have added real value.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pm_activityPm ActivityA
Read-only
Inspect

Fetches recent trading and on-chain lifecycle activity (trades, splits, merges, redemptions) for a Polymarket user or proxy wallet address. Includes market question titles, action types, amounts, and transaction hashes. Limit up to 100 items. Information only, not financial advice. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
limitNoMaximum activity records to return (max 100)
walletYesPolymarket EVM proxy or user address (0x hex, 42 chars)

Output Schema

NameRequiredDescription
sourceNo
walletNo
activityNo
checkedAtNo
disclaimerNo
activityCountNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds genuinely useful behavioral context beyond them: the cost model ($0.003 USDC per successful call via x402 across Base/Solana/Arc) and that failed calls are not charged. Auth/payment requirements are surfaced, though rate limits or pagination behavior are not.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core purpose, then what is returned, then the limit, then compliance/pricing notes. Slightly padded by the 'Information only, not financial advice' disclaimer, but every other sentence carries information and the ordering is sensible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be detailed, and the description still summarizes the payload (question titles, action types, amounts, tx hashes). Combined with the payment disclosure, an agent has what it needs to call it correctly; only sibling differentiation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both the wallet address and the limit parameter. The description only restates 'Limit up to 100 items', adding no format or syntax detail beyond what the schema provides; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Fetches') and resource ('trading and on-chain lifecycle activity') scoped to a Polymarket user or proxy wallet, and enumerates the activity types (trades, splits, merges, redemptions). It is clear on its own, but it never distinguishes itself from close siblings like pm_trades or pm_history, which an agent must otherwise guess between.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the general context (retrieve activity for a wallet) but offers no when-to-use guidance, no exclusions, and no mention of the alternative activity tools (pm_trades, pm_history) that overlap heavily. Nothing tells the agent when this is the right pick versus a sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pm_eventPm EventA
Read-only
Inspect

Fetches details for a single Polymarket event by slug or numeric ID, including all associated markets, outcome tokens, implied probability prices, volume, liquidity, resolution source, rules, and start/end dates. Information only, not financial advice. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
idNoEvent numeric or unique ID
slugYesEvent slug identifier on Polymarket

Output Schema

NameRequiredDescription
idNo
urlNo
slugNo
titleNo
activeNo
closedNo
sourceNo
volumeNo
endDateNo
marketsNo
checkedAtNo
liquidityNo
startDateNo
disclaimerNo
descriptionNo
marketsCountNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint, so safety is covered. The description adds meaningful context beyond annotations: the exact cost ($0.003 USDC per successful call), the payment rails (x402 on Base/Solana/Arc), and that failed calls are not charged. It still doesn't mention pagination, rate limits, or error conditions, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then a returned-fields list, then payment/logistics. Three sentences with little waste, though the 'Information only, not financial advice' disclaimer is boilerplate that displaces more useful routing guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value documentation is not required, yet the description nevertheless summarizes the payload. Combined with full schema coverage, annotations, and explicit cost/payment semantics, 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both slug and id are documented in the schema itself. The description echoes 'by slug or numeric ID' but adds no format, precedence, or conflict-handling detail (e.g., what happens if both are supplied). Baseline 3 applies when the schema carries the parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Starts with a specific verb+resource ('Fetches details for a single Polymarket event by slug or numeric ID') and enumerates the payload (markets, outcome tokens, prices, volume, liquidity, rules, dates). This clearly separates it from sibling discovery tools like pm_search and from narrower pm_* tools such as pm_orderbook or pm_trades.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'single event by slug or numeric ID', so an agent can infer this is the detail-lookup tool rather than a list/search tool. However, it never explicitly states when to prefer this over pm_search, pm_resolved, or prediction_polymarket, nor that slug must be obtained elsewhere. No exclusions or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pm_historyPm HistoryA
Read-only
Inspect

Fetches historical price points for a Polymarket outcome token across standard intervals (1h, 6h, 1d, 1w, max) or with custom fidelity. Timestamps formatted in ISO. Maximum 1,000 points. Information only, not financial advice. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
limitNoMaximum data points to return (max 1000)
tokenIdYesOutcome CLOB token ID (numeric string)
fidelityNoMinutes between points, 1 to 1440 (e.g. 60 for hourly); default: Polymarket's own resolution for the interval
intervalNoTime interval: 1h, 6h, 1d, 1w, or max

Output Schema

NameRequiredDescription
sourceNo
historyNo
tokenIdNo
intervalNo
checkedAtNo
truncatedNo
disclaimerNo
pointsCountNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnlyHint and openWorldHint; the description adds genuinely new behavioral context: x402 payment mechanics, the $0.003 USDC cost per successful call, that failed calls are free, the 1,000-point cap, and ISO timestamp formatting. This is meaningful disclosure beyond the annotations, though it doesn't cover rate limits or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and scoping, then layers on limits, formatting, and pricing. Reasonably tight, though the 'Information only, not financial advice' clause is boilerplate that consumes space without aiding invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value explanation is unnecessary, and the description adequately covers cost, payment chain, caps, and timestamp format. It is nearly complete for a read-only price-history call, missing only guidance on interval/fidelity trade-offs and failure modes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all four parameters (tokenId, limit, fidelity, interval) are already documented in the schema, including the interval enum values and fidelity default. The description restates the interval set and the point cap but adds no syntax or edge-case detail beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (fetches), resource (historical price points), and scope (Polymarket outcome token), which cleanly separates it from siblings like pm_orderbook, pm_trades, or pm_resolved. It stops short of naming those alternatives, so it's clear but not sibling-differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to reach for it (historical price series for a token) but never states when-not to use it or points to alternatives such as pm_orderbook for current depth or pm_trades for fills. Usage is inferred from the resource name rather than guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pm_holdersPm HoldersA
Read-only
Inspect

The largest position holders of each outcome of one Polymarket market (condition id from /api/pm/event): wallet, public name if the holder shows one, shares held, and each holder's share of the listed top holders' total. Polymarket's Data API lists the top holders only, so totals cover those wallets, not the whole outcome supply. Up to 50 per outcome. Information only, not financial advice. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
limitNoHolders per outcome, 1 to 50, default 20
marketYesMarket condition id (0x + 64 hex), as returned by /api/pm/event

Output Schema

NameRequiredDescription
noteNo
marketNo
sourceNo
outcomesNo
questionNo
checkedAtNo
disclaimerNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld annotations, it discloses the data-scope limitation (Polymarket's Data API only lists top holders, so percentages cover those wallets, not full outcome supply), the 50-per-outcome cap, and the pricing model ($0.003 USDC via x402 on Base/Solana/Arc, no charge for failed calls). The failure-billing and scope caveats are exactly the kind of 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose, scope caveat, cap and price are front-loaded in a single efficient paragraph. The 'Information only, not financial advice' sentence is boilerplate disclaiming that doesn't help an agent decide or invoke, costing it the top score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value documentation is optional, yet the description still summarises what each holder record contains. Combined with the scope caveat, cap, prerequisite endpoint and pricing, 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — limit is documented as 'Holders per outcome, 1 to 50, default 20' and market as the condition id from /api/pm/event. The description's 'Up to 50 per outcome' merely echoes the schema, adding no syntax or format detail beyond it, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific verb and resource — the top position holders of every outcome of one Polymarket market — and enumerates the returned fields (wallet, public name, shares, share-of-total). This is clearly distinct from siblings like pm_trades, pm_orderbook, pm_activity and pm_leaderboard.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear input dependency by telling the agent the market id comes from /api/pm/event, which implies usage context. However, it never states when to prefer this over pm_leaderboard, pm_wallet or pm_trades, and offers no explicit exclusions, so guidance remains implied rather than directive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pm_leaderboardPm LeaderboardA
Read-only
Inspect

Fetches top-ranked traders on Polymarket ranked by overall profit or trading volume across customizable time windows (day, week, month, all). Includes rank, wallet address, username/pseudonym if public, profit PnL, and total trading volume. Information only, not financial advice. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
limitNoNumber of top traders to return (max 100)
sortByNoMetric to rank by: profit (default) or volume
windowYesTime window: day, week, month, or all

Output Schema

NameRequiredDescription
countNo
sortByNo
sourceNo
windowNo
checkedAtNo
disclaimerNo
leaderboardNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds genuinely valuable context beyond that: the x402 payment model, the $0.003 USDC price per successful call, payment chains (Base, Solana, Arc), and the fact that failed calls are not charged. It also enumerates returned fields, which is useful for 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then return fields, then the pricing/disclaimer. Every sentence carries information, though it is on the denser side; the 'not financial advice' clause and pricing detail are somewhat boilerplate but relevant for a paid information tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the description still helpfully previews the payload fields. Combined with full schema coverage, readOnly/openWorld annotations, and the pricing transparency, nothing an agent needs to select or invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (limit, sortBy, window) are already documented in the schema. The description restates the ranking metrics and the day/week/month/all windows but adds no syntax or format detail beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Fetches) and resource (top-ranked traders on Polymarket) with the ranking dimension (overall profit or trading volume) and time scoping. This clearly distinguishes it from siblings like pm_wallet, pm_trades, and pm_holders, which deal with individual wallets or trade feeds rather than a ranked leaderboard.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the resource type: an agent can infer this is the tool for leaderboard/ranking queries. However, the description gives no explicit when-to-use guidance, no exclusions, and does not name alternatives like pm_wallet for a single trader's stats, leaving the routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pm_orderbookPm OrderbookA
Read-only
Inspect

Fetches resting order book depth for a Polymarket outcome token (or market slug and outcome name). Returns top 20 bids and asks, midpoint price, spread, depth within 1/2/5 cents, and last trade price. Information only, not financial advice. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
slugNoMarket slug if tokenId is unknown
outcomeNoOutcome name (e.g. Yes or No) when slug is provided
tokenIdYesOutcome CLOB token ID (numeric string)

Output Schema

NameRequiredDescription
midNo
asksNo
bidsNo
depthNo
marketNo
sourceNo
spreadNo
bestAskNo
bestBidNo
tokenIdNo
asksCountNo
bidsCountNo
checkedAtNo
disclaimerNo
lastTradePriceNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and openWorldHint; the description goes well beyond by disclosing the paid-call model ($0.003 USDC per successful call via x402 on Base/Solana/Arc) and that failed calls are not charged. That billing/auth context is exactly the kind of behavioral detail 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and return payload, then pricing; two sentences carry real information. The 'Information only, not financial advice' line is boilerplate that does not earn much space, but overall it is tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity read tool with an output schema already covering returns, the description supplies the remaining essentials: data source (Polymarket), the two input paths, and the full cost/payment profile. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each parameter is already documented, which sets the baseline at 3. The description adds the either/or path (tokenId, or slug plus outcome name) that the schema does not spell out, though it slightly conflicts with tokenId being the sole required field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Fetches resting order book depth for a Polymarket outcome token') and enumerates exactly what comes back (top 20 bids/asks, midpoint, spread, depth within 1/2/5 cents, last trade). The Polymarket/outcome-token scoping distinguishes it from the generic crypto_orderbook and the sibling pm_* family without needing the schema opened.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the scoping ('Polymarket outcome token') and the note that slug+outcome can substitute for tokenId, but there is no explicit when-to-use versus crypto_orderbook or markets_quote, and no stated exclusions or prerequisites. Adequate but leaves routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pm_resolvedPm ResolvedA
Read-only
Inspect

Fetches recently resolved prediction markets from Polymarket and Manifold over the last N days (max 30). Includes question, winning outcome, final prices/probabilities, resolution timestamp, and resolution source. Optional keyword filter. Information only, not financial advice. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoOptional keyword filter
daysYesLookback window in days (1 to 30)
limitNoMaximum resolved markets to return (max 50)

Output Schema

NameRequiredDescription
daysNo
countNo
sourceNo
checkedAtNo
disclaimerNo
venuesCheckedNo
resolvedMarketsNo
venuesUnavailableNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds genuinely non-structured context: the paid-call model ($0.003 USDC per successful call via x402 on Base/Solana/Arc) and the fact that failed calls are not charged, which affects whether and how an agent should invoke it. It does not cover rate limits 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded paragraph that opens with the action and scope before listing returned fields, the filter, the disclaimer, and the price. Dense but efficient; the returned-field enumeration is partly redundant with the output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, yet it still summarizes them, and it adds source coverage, the time bound, and the payment terms. An agent has enough to call it correctly; only the routing decision against sibling market tools is under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented in the schema; the description only restates the max-30 constraint on days and the optional keyword filter. Per the baseline rule, this is a 3 with no extra 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ("Fetches recently resolved prediction markets") and names the data sources (Polymarket, Manifold) plus the lookback scope. It stops short of distinguishing itself from close siblings like pm_history, pm_event, or pm_search, so an agent cannot tell from the description alone which one to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by "recently resolved" and the max-30-day window, and the keyword filter is described, but there is no explicit when-to-use/when-not or reference to alternative tools for historical or open (unresolved) markets. The disclaimer and pricing note inform the caller but do not guide tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pm_tradesPm TradesA
Read-only
Inspect

Fetches latest trade executions for a Polymarket condition ID or token. Returns timestamp, side (BUY/SELL), outcome label, execution price, size, value in USDC, and taker proxy wallet address. Limit up to 100 trades. Information only, not financial advice. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
limitNoMaximum trades to return (max 100)
marketYesMarket condition ID or asset token ID

Output Schema

NameRequiredDescription
marketNo
sourceNo
tradesNo
checkedAtNo
disclaimerNo
tradesCountNo

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as read-only and open-world. The description adds important behavioral context beyond that: per-call pricing, x402 payment networks, the fact that failed calls are not charged, and a non-financial-advice disclaimer.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and the description is reasonably compact. Some return-field detail overlaps with the output schema and the 'not financial advice' disclaimer is boilerplate, but the pricing information justifies the length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the paid, open-world nature of the tool and the presence of an output schema, the description covers the essential non-schema context: cost, payment mechanism, failure charging, and identifier type. It could be stronger with explicit sibling routing or pagination/ordering notes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented in the schema. The description repeats the 'condition ID or token' meaning and the 100-trade limit but adds no new syntax, format, or constraint information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Fetches'), a specific resource ('latest trade executions'), and the Polymarket identifier type ('condition ID or token'). This distinguishes it from siblings such as pm_orderbook, pm_holders, and pm_activity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what the tool returns but gives no explicit guidance on when to use it versus alternatives like pm_history, pm_activity, or pm_orderbook. Usage is only implied by the purpose statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pm_walletPm WalletA
Read-only
Inspect

Open positions of a Polymarket wallet (proxy wallet address): market, outcome, size, average entry price, current price, value in USDC, cash and percent PnL, plus totals of the listed positions and Polymarket's own portfolio value. The largest 500 positions are listed; truncated says when there are more. Information only, not financial advice. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
walletYesPolymarket EVM proxy or user address (0x hex, 42 chars)

Output Schema

NameRequiredDescription
sourceNo
totalsNo
walletNo
checkedAtNo
positionsNo
truncatedNo
disclaimerNo
portfolioValueNo
positionsCountNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover read-only and open-world; the description adds substantive behavior: a hard truncation at the largest 500 positions, a 'truncated' flag signalling more data exists, and a per-call price of $0.003 USDC paid via x402 on Base/Solana/Arc with failed calls uncharged. Cost and failure-billing semantics are exactly the kind of operational 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences, front-loaded with what is returned, followed by the result cap, then pricing, then a compliance disclaimer. Each sentence carries distinct information and nothing is repeated from the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return shape need not be re-explained, yet the description still enumerates the key result fields and the truncation behavior. Pricing, failure handling, and scope are all covered, leaving nothing an agent needs in order to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single required parameter is fully documented there (EVM proxy or user address, 0x hex, 42 chars). The description's parenthetical '(proxy wallet address)' reinforces but does not materially extend the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and scope: open positions of a Polymarket wallet, with the exact fields returned (market, outcome, size, entry/current price, PnL). An agent can distinguish it from pm_trades or pm_activity because it is explicitly positions-only. It stops short of naming any sibling tool to route away from, so it is clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the resource ('open positions of a wallet'), which is enough for an agent to know the trigger. There is no explicit when-to-use/when-not guidance and no pointer to alternatives such as pm_history or pm_trades for closed or executed activity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

postcodePostcodeA
Read-only
Inspect

Place names and coordinates for a postcode. GB adds district, ward and constituency (postcodes.io); other countries use Zippopotam.us for ZIP and postal codes. A postcode that does not exist answers 404, not charged. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
codeYesPostcode or ZIP code
countryYesISO 3166 alpha-2 code, e.g. GB

Output Schema

NameRequiredDescription
codeNo
placesNo
sourceNo
countryNo
checkedAtNo
attributionNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and openWorldHint annotations, the description discloses failure behavior (404 for nonexistent postcodes), billing behavior (failed calls not charged), price ($0.002 per successful call), payment method (x402 on Base, Solana, or Arc), and source-specific output differences for GB versus other countries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, starting with the core purpose and then adding source behavior, error handling, and pricing. Every sentence adds useful information without repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists and annotations cover read-only/open-world behavior, the description provides everything else an agent needs: country-specific source behavior, failure handling, and payment details. 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are documented in the schema. The description adds meaningful context for the country parameter by explaining that GB uses postcodes.io and provides extra district/ward/constituency data, while other countries use Zippopotam.us for ZIP and postal codes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the resource and returned data: place names and coordinates for a postcode. It implicitly differentiates from broader geocoding by focusing on postal-code lookups, but it does not explicitly name a sibling alternative or use a direct verb phrase.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains country-specific behavior (GB gets district/ward/constituency via postcodes.io; other countries use Zippopotam.us) and notes that nonexistent postcodes return 404. However, it gives no explicit guidance on when to choose this over siblings such as geocode, places, or address_parse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prediction_polymarketPrediction PolymarketA
Read-only
Inspect

Active Polymarket prediction markets matching search words, or one market by slug: the question, each outcome with its price as an implied probability, volume, liquidity, end date and link. Closed markets are left out. Source: Polymarket Gamma API. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoSearch words, e.g. bitcoin
slugNoOr one market's slug
limitNo1 to 20 (default 5)

Output Schema

NameRequiredDescription
queryNo
sourceNo
marketsNo
checkedAtNo
disclaimerNo

TDQS

A3.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover read-only and open-world hints; the description goes well beyond them. It discloses that closed markets are omitted, the upstream source (Polymarket Gamma API), a per-call price of $0.002 USDC paid via x402 across Base/Solana/Arc, that failed calls are not charged, and a financial-advice disclaimer. Those payment and filtering behaviors are not derivable 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and output shape are front-loaded in the first sentence, with pricing and disclaimer trailing. It is dense but every clause carries information; the only slight bloat is the legal/boilerplate tail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return-value explanation is not required, yet the description still summarizes it. With read-only/open-world annotations, a disclosed data source, pricing model, and closed-market exclusion, an agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds only marginal meaning, clarifying that 'q' is search words and 'slug' selects a single market as an alternative mode; the limit range and defaults live entirely in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: fetch active Polymarket prediction markets by search words or by slug, and enumerates the returned fields (question, outcome prices as implied probability, volume, liquidity, end date, link). The scope is clear and the exclusion of closed markets sharpens it. It does not, however, differentiate itself from siblings such as pm_search, pm_event, or pm_resolved, which an agent must otherwise disambiguate on its own.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the two invocation modes (search words vs. a single slug) but gives no when-to-use guidance, no prerequisites, and no routing against the many neighboring pm_* tools. An agent is left to guess whether prediction_polymarket or pm_search is the right entry point.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

producthuntProducthuntA
Read-only
Inspect

Product Hunt launches: today's top launches, the newest in one topic (for example artificial-intelligence), or a text search over the newest launches. Each has name, tagline, votes, comments, launch time, links and topics. Today is the top 20 by ranking kept when posted on today's UTC date; search covers the newest 60 launches only. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoWords to match in the name or tagline, for mode search
modeNotoday (default), topic or search
limitNoLaunches to return, 1 to 20, default 10
topicNoTopic slug for mode topic, e.g. artificial-intelligence

Output Schema

NameRequiredDescription
dateNo
modeNo
noteNo
countNo
postsNo
sourceNo
scannedNo
checkedAtNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/openWorldHint annotations, the description discloses the cost model ($0.002 in USDC per successful call via x402 on Base, Solana or Arc) and that failed calls are not charged, plus result-bound behavior (top 20 ranked, newest 60 for search). These are agent-relevant economics and scope facts that annotations cannot supply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Roughly four dense sentences that are front-loaded with the modes before the field list, limits and pricing. Every sentence carries information, though the field enumeration and pricing sentence could be tightened slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a 4-parameter, no-required, all-optional schema, an existing output schema, and annotations covering safety and openness, the description fills the remaining gaps: what each mode returns, the caps on results, and the payment mechanics. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each of q, mode, topic and limit is already documented, and the baseline is 3. The description adds a concrete topic slug example and clarifies that mode 'today' means a ranked top-20 snapshot, but it says nothing about the limit parameter's 1-20 range beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (Product Hunt launches) and enumerates the three distinct retrieval modes (today's top launches, newest in a topic, text search), so an agent can immediately tell what it returns and in what shape. The field list (name, tagline, votes, comments, launch time, links, topics) reinforces the resource identity and distinguishes it from generic search siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains the selection logic between modes (topic example 'artificial-intelligence', search intent) and states concrete constraints: today = top 20 by ranking anchored to the UTC date, search = newest 60 only. It stops short of explicit when-not-to-use guidance or naming an alternative sibling (e.g. hn_search for Hacker News), so it is clear context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pubmedPubmedA
Read-only
Inspect

PubMed articles matching words, optionally from a year: PMID, title, first five authors, journal, date, DOI and link. Two NCBI requests. Attribution: PubMed (NCBI). Information only, not medical advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qYesSearch words
fromNoFirst publication year, e.g. 2020
limitNo1 to 20 (default 10)

Output Schema

NameRequiredDescription
queryNo
totalNo
sourceNo
articlesNo
checkedAtNo
disclaimerNo
attributionNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only and open-world profile, and the description adds genuinely non-obvious behavior: two NCBI round trips (latency/cost implication), an attribution requirement, and a per-successful-call price with the explicit note that failed calls are not charged. It stops short of noting rate limits or NCBI throttling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core capability and output fields are front-loaded in the first sentence, followed by operational facts (request count, attribution, price). It is dense and slightly run-on but almost 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.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter read tool with a full output schema, the description covers what it searches, what it returns, cost, and billing failure semantics. Remaining gaps (rate limits, result ordering, pagination) are minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented ('Search words', 'First publication year, e.g. 2020', '1 to 20 (default 10)'). The description only restates the optional year, adding no query syntax, boolean, or field-tag guidance beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('PubMed articles matching words, optionally from a year') and even enumerates the returned fields (PMID, title, authors, journal, date, DOI, link). It never distinguishes itself from overlapping siblings such as research_papers, arxiv, doi, or clinical_trials, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use or when-not-to-use guidance and names no alternative. With siblings like arxiv, research_papers, clinical_trials, and doi in the catalog, the agent gets no help deciding which literature source to pick.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

qrQrA
Read-only
Inspect

A QR code for a text of up to 300 characters (a URL, Wi-Fi login or contact card), generated locally. format=svg returns the image itself as image/svg+xml; format=json returns the version, the module count, the SVG and a data URI. Error correction L, M, Q or H (default M); size from 128 to 1024 pixels (default 512). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
eccNoL, M, Q or H (default M)
sizeNoPixels, 128 to 1024 (default 512)
textYesUp to 300 characters
formatNosvg (default) or json

Output Schema

NameRequiredDescription
eccNo
svgNo
textNo
dataUriNo
modulesNo
versionNo
checkedAtNo

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses local generation, exact format-dependent outputs, error correction levels, size range, pricing of $0.002 USDC per successful call via x402, supported payment networks, and that failed calls are not charged. This is unusually rich behavioral context for an agent deciding whether and how to call the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and then efficiently covers formats, error correction, size, and pricing. Every sentence adds information relevant to calling the tool correctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists, the description still provides enough about format-dependent returns, local generation, payment behavior, and failure charging to make the tool fully understandable. 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters and defaults. The description adds useful meaning beyond the schema by giving concrete text examples and explaining what format=svg versus format=json returns, including version, module count, SVG, and data URI.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it generates a QR code for text such as a URL, Wi-Fi login, or contact card. It immediately distinguishes this from sibling utilities like image or encode by naming the exact output and input domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the clear purpose, and the description explains format choices and constraints, but it does not explicitly say when to use this tool versus alternatives or when not to use it. With no direct QR sibling, the guidance is adequate but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

readReadA
Read-only
Inspect

Read one web page as clean Markdown (or plain text) for an LLM: the main content without menus, cookie banners and footers, plus title, description, author, published date, language and canonical URL; links on request. robots.txt is respected (a disallowed page is refused and not charged). No JavaScript is run. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesPage URL (http or https)
linksNo1 = also return the page's links (up to 300)
formatNomarkdown (default) or text
imagesNo1 = keep images with alt text as Markdown images
maxCharsNoCut the content at this many characters, 500-200000, default 30000

Output Schema

NameRequiredDescription
urlNo
langNo
noteNo
charsNo
titleNo
authorNo
formatNo
statusNo
contentNo
finalUrlNo
siteNameNo
canonicalNo
fetchedAtNo
truncatedNo
wordCountNo
contentTypeNo
descriptionNo
publishedAtNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/openWorldHint annotations: states robots.txt enforcement and that a disallowed page is refused AND not charged, that no JavaScript runs, that only successful calls cost $0.002 USDC, the payment rails (x402 on Base/Solana/Arc), and that failures are free. This is exactly the cost/auth/limit context 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense, front-loaded paragraph with zero filler — purpose first, then behavior, then pricing. It is tightly packed near the limit of comfortable reading, but every clause carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present the description needn't document return shape, yet it still names the metadata returned. Combined with robots handling, JS behavior and full pricing/payment detail, 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so url, links, format, images and maxChars are already documented. The description adds marginal value by noting links are returned 'on request', that text output is possible, and that metadata fields (title, description, author, published date, language, canonical URL) come back, but it adds no 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Read one web page as clean Markdown') and immediately scopes it with the exact deltas an agent cares about: main content extracted, boilerplate stripped. Among a large sibling set (extract, markdown, pdf, sitemap, robots, web_archive), 'one web page' at a given URL clearly distinguishes it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear operating conditions that govern when it applies: robots.txt respected, disallowed pages refused, no JavaScript executed. It never names an alternative sibling (e.g. extract, markdown, web_archive) for when this is the wrong choice, 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.

recallsRecallsA
Read-only
Inspect

US product recalls in one schema from openFDA enforcement reports (food, drug, device) and CPSC: date, product, firm, reason, FDA Class I/II/III mapped to high/medium/low (CPSC severity is derived from the hazard text), distribution and states, and the official link. Filter by keyword, since date (default 30 days), source and classification; up to 100 rows. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoKeyword in the product or firm name
limitNoMax rows, 1-100, default 20
sinceNoYYYY-MM-DD, default 30 days ago, at most one year back
sourceNofda, cpsc or fda,cpsc (default both)
classificationNoClass I, Class II, Class III or high, medium, low

Output Schema

NameRequiredDescription
queryNo
totalNo
resultsNo
sourcesNo
returnedNo
severityNoteNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and openWorldHint, but the description adds substantial non-obvious behavior: per-call pricing ($0.003 USDC), the x402 payment rails (Base, Solana, Arc), the fact that failed calls are not charged, the FDA Class I/II/III to high/medium/low mapping, and that CPSC severity is derived from hazard text. These are exactly the traits 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the resource and sources, then filters, then pricing, and every clause carries information. It is dense but not padded; the only mild cost is a single long opening sentence that packs many facts together.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and the description covers sources, field set, filter dimensions, defaults, row cap, and cost model. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents q, limit, since, source, and classification, and the description largely restates those same filters and defaults. It adds no syntax or format 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('US product recalls') plus the exact upstream sources (openFDA enforcement reports for food/drug/device and CPSC) and the fields returned. An agent can distinguish it from siblings like enforcement_actions or fda_adverse_events without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It describes how to narrow results (keyword, since date with a 30-day default, source, classification) and the 100-row ceiling, which implies intended usage. However, it never states when to prefer this over related siblings such as enforcement_actions or food, nor any exclusions, so routing guidance 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.

redactRedactA
Read-only
Inspect

Replaces personal data in a text with placeholders: e-mail addresses, phone numbers, IBANs (mod 97 checked), payment card numbers (Luhn checked only), IPv4 addresses and, with names true, person names found by the chat model. Returns the redacted text and counts per type. Original values are never returned. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textYesText, up to 20,000 characters
namesNotrue to also replace person names (uses the chat model)
typesNoAny of email, phone, iban, card, ip (default all)

Output Schema

NameRequiredDescription
textNo
countsNo
sourceNo
checkedAtNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint and openWorldHint, so safety is partly covered, yet the description adds real value beyond them: that originals are never returned, that names use the chat model (nondeterministic), that card detection relies on Luhn only (weaker, more false positives), and the per-call pricing/billing model including that failed calls are free.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core operation and the enumerated types, then caveats, then pricing. Every sentence carries information, though the pricing sentence is long and could be trimmed without loss.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be detailed, yet the description still summarizes them ('redacted text and counts per type'). Coverage of types, caveats, cost, and data-handling guarantees is strong; only explicit when-to-use guidance is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already documents the names flag, the type enum, and the default-all behavior. The description largely restates these; the 'Luhn checked only' and 'mod 97 checked' caveats add marginal semantic depth but don't materially extend parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (replaces) and resource (personal data in text), then enumerates the exact entity types handled. An agent immediately knows this is a PII-anonymization tool and can distinguish it from siblings like extract or entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through the conditional 'with names true' clause, but never states when to prefer this over alternatives (e.g. entities or extract) or any preconditions. Usage is inferable but not guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

redirectsRedirectsA
Read-only
Inspect

The redirect chain of a URL, hop by hop (at most 10 hops): each URL, its status, the Location it points to, and whether the hop goes from http to https or changes host. Returns the final URL and status, total hops, loop true when a URL repeats, and the Strict-Transport-Security header of the final response. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesPage URL or domain, e.g. example.com

Output Schema

NameRequiredDescription
urlNo
hopsNo
hstsNo
loopNo
maxHopsNo
finalUrlNo
checkedAtNo
totalHopsNo
truncatedNo
finalStatusNo

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly and openWorld annotations, the description discloses the 10-hop limit, loop detection behavior, HSTS header inclusion, and a precise pricing model ($0.002 USDC per successful call, failed calls not charged). These are material behavioral traits an agent needs before invoking the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core behavior and uses compact, information-dense sentences. It is somewhat packed with return-field details and pricing, but every sentence earns its place and nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a single-parameter tool with an output schema and readOnly/openWorld annotations, the description is fully sufficient: it covers scope, hop limits, loop handling, output highlights, and billing. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the single url parameter is already documented as accepting a page URL or domain. The description adds no further parameter syntax or format details beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource and operation: retrieving a URL's redirect chain hop by hop, with a clear cap of 10 hops. It is readily distinguishable from sibling tools like headers, dns, or ssl by its focus on redirect chains, though it does not explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the description of what the tool returns, but there is no explicit guidance on when to choose this over siblings such as headers or ssl, nor any stated exclusions. Adequate but with clear gaps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

regex_generateRegex GenerateA
Read-only
Inspect

A regular expression from a description, with examples that must match and examples that must not. The pattern is returned only when every example passes when tested in the service (one retry with the failures). Patterns with nested quantifiers are refused to avoid catastrophic backtracking. Examples are up to 10 strings of 300 characters each. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
matchesYesStrings the pattern must match (1-10 items, each max 300 characters)
nonMatchesNoStrings the pattern must not match (0-10 items, each max 300 characters)
descriptionYesWhat the pattern should match, in plain words (max 500 characters)

Output Schema

NameRequiredDescription
noteNo
flagsNo
testsNo
patternNo
checkedAtNo
explanationNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

It discloses key behavior beyond annotations: the pattern is returned only after every example passes, one retry is made with failures, nested quantifiers are refused to prevent catastrophic backtracking, examples are capped, and failed calls are not charged. Pricing and payment methods are also stated, with no contradiction of readOnlyHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a tight, front-loaded paragraph. Every sentence carries useful information: generation behavior, retry logic, safety refusal, limits, and pricing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, return-value details need not be repeated. The description covers all operationally important context: how the pattern is validated, retry/refusal behavior, example size limits, and payment conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already defines matches, nonMatches, and description with their types and limits. The description restates example limits but adds no dialect, format, or other parameter-level meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it generates a regular expression from a plain-language description, with explicit match/non-match examples. It is distinguishable from all siblings, none of which offer regex generation, and the constraints are front-loaded.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used when you need a regex and can supply examples, but it does not explicitly state when to use it versus alternatives or when not to use it. No sibling alternative for regex generation exists, so the missing guidance is less costly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rerankRerankA
Read-only
Inspect

Orders up to 50 documents by relevance to a query with the BGE reranker and returns rank, index and score for each. Use it after a keyword or vector search to pick the best few. Scores compare documents within one call only. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
queryYesThe question or search, up to 500 characters
documentsYes1 to 50 documents, up to 2,000 characters each

Output Schema

NameRequiredDescription
countNo
modelNo
queryNo
resultsNo
checkedAtNo

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond the annotations: per-call pricing ($0.002 USDC), the payment rails (x402 on Base/Solana/Arc), that failed calls are free, and the critical caveat that scores are only comparable within a single call. Annotations only declare read-only/open-world, so these additions are genuinely valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four compact sentences in a logical order: what it does, when to use it, the score-comparability caveat, then pricing. Every sentence carries distinct information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return fields need not be re-explained, and the description still covers cost, payment, failure behavior, and score semantics. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both params are documented there (query <=500 chars, 1-50 documents <=2000 chars each). The description restates the document cap but adds no new syntax or format detail, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (orders/reranks) and resource (documents) plus the engine used (BGE reranker) and the exact returned fields (rank, index, score). It is immediately distinguishable from embedding or chunking siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use it after a keyword or vector search to pick the best few" gives a clear trigger context and workflow position. It does not name an alternative tool explicitly, but the when-to-use guidance is strong and unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

research_papersResearch PapersA
Read-only
Inspect

Searches OpenAlex (CC0) for scholarly works: title, authors with institutions, year, venue, DOI, open-access PDF link, citation count, topic and abstract (max 2,000 characters). Filters: publication year range, open access only, minimum citations; sort by relevance, citations or date (citations and date search the words as one phrase). Limit max 25. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qYesSearch words (1-200 characters)
sortNorelevance (default), citations or date
limitNoResults, 1-25 (default 10)
toYearNoLatest publication year (optional)
fromYearNoEarliest publication year (optional)
openAccessNoOnly open-access works (default false)
minCitationsNoMinimum citation count (default 0)

Output Schema

NameRequiredDescription
sortNo
countNo
queryNo
totalNo
sourceNo
resultsNo
checkedAtNo

TDQS

A4.2/5.0
Behavior4/5

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 meaningful context they don't: the $0.002 per-successful-call pricing via x402 with chains listed, the fact that failed calls are not charged, and the abstract cap of 2,000 characters. It stops short of discussing pagination 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense paragraph that front-loads the source, resource, and returned fields before moving to filters, sorting, and pricing. Every clause carries distinct information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the return format need not be described, yet the description enumerates key fields and fully covers filters, sort behavior, limit bounds, and cost. It is essentially complete for an agent to call it correctly, with only minor gaps like error or empty-result behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds a real nuance absent from the schema: that citations/date sorting treats the search words as one phrase. It also restates filter semantics (year range, open access only, minimum citations) that corroborate the terse schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Searches') plus the exact resource and source ('OpenAlex (CC0) for scholarly works'), and enumerates the returned fields. This clearly distinguishes it from scholarly siblings like pubmed, arxiv, and doi without opening their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description details filters and sort modes, which implies the search context, but never states when to choose this tool over pubmed/arxiv/doi or any exclusions. 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.

resume_parseResume ParseA
Read-only
Inspect

Structured data from a CV or resume: name, contact details, location, links, summary, skills, languages, certifications, work experience and education, with null or empty lists where the text has nothing. Plain text, or a PDF with a text layer by URL or base64. Dates are kept as written. Price: $0.005 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlNohttps link to a PDF CV with a text layer (JSON body field)
textNoThe CV text (JSON body field); or give url or pdf_base64 instead
pdf_base64NoThe PDF as base64, up to 15 MB (JSON body field)

Output Schema

NameRequiredDescription
modelNo
resumeNo
sourceNo
checkedAtNo
disclaimerNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/openWorldHint annotations by disclosing pricing ($0.005 USDC per successful call via x402 across Base/Solana/Arc), that failed calls are not charged, that missing fields come back as null/empty lists, and that dates are preserved as written. It also flags the PDF-text-layer precondition that determines whether a call can succeed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the output shape, then input formats, then pricing. Three sentences, all earning their place, though the enumerated field list is slightly dense. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a 100%-covered schema and a dedicated output schema, the description needs only to convey inputs, behavior, and cost, all of which it covers. The only real gap is the absence of sibling routing, which matters given the crowded extract/ocr/pdf neighborhood.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the three optional inputs (url, text, pdf_base64) are already documented. The description restates the accepted input modalities but adds no syntax or format detail beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (parsing a CV/resume into structured data) and enumerates the exact output fields (name, contact, location, skills, work experience, education, etc.), which clearly separates it from generic siblings like extract, ocr, or read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete input-acceptance guidance ('plain text, or a PDF with a text layer by URL or base64') but never states when to prefer this over the generic extract/ocr/pdf siblings or when-not to use it. Usage is implied by the resume-specific framing rather than explicitly routed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

robotsRobotsA
Read-only
Inspect

Checks whether a URL's path may be crawled under robots.txt (RFC 9309): the verdict for a user agent (default: *, Googlebot, Bingbot, GPTBot, ClaudeBot, PerplexityBot, Google-Extended and CCBot), the rule that decided it and its line, crawl-delay, sitemaps and the matching group's lines. Longest rule wins, allow wins a tie, * and $ work. No robots.txt means everything is allowed; a server error is a 503, not charged. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesA page URL on the site whose robots.txt is checked
userAgentNoOne crawler name to check, e.g. Googlebot (optional; default lists the common crawlers)

Output Schema

NameRequiredDescription
urlNo
noteNo
pathNo
originNo
sourceNo
statusNo
resultsNo
sitemapsNo
checkedAtNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds substantial behavior beyond the read-only/open-world annotations: it explains the returned verdict, deciding rule and line, crawl-delay, sitemaps, matching group lines, and tie-breaking logic. It also discloses important edge cases and pricing/error behavior, including no robots.txt allowing everything and server errors returning 503 without charge.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loads the core purpose and then adds the necessary algorithmic and billing details. It could be more scannable, but almost every sentence carries relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema and annotations, the description is complete enough for correct invocation. It covers the core logic, edge cases, pricing, and error behavior without requiring the agent to infer critical details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the schema documents both parameters well. The description still adds meaning by expanding the default user-agent set and clarifying that the URL identifies the page whose site's robots.txt is checked.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise verb and resource: checking whether a URL path may be crawled under robots.txt per RFC 9309. It clearly distinguishes the tool from adjacent tools such as sitemap, llms_txt, and web_security_txt by focusing specifically on robots.txt crawl verdicts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage context is clear: use this to determine robots.txt crawl eligibility for a given URL and optional user agent. It does not explicitly name alternatives or exclusions, but the intended scenario is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rpc_evmRpc EvmA
Read-only
Inspect

Read-only JSON-RPC pass-through for 20+ EVM chains (ethereum, base, arbitrum, optimism, polygon, bsc, avalanche, gnosis, linea, scroll, zksync, mantle, blast, celo, fantom, sonic, unichain, opbnb, zora, mode, metis, cronos). Single or batch calls (up to 10). Write methods refused. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
batchNoOptional batch of up to 10 { method, params } calls
chainYesTarget EVM chain name (e.g. ethereum, base, arbitrum)
methodNoJSON-RPC read method (e.g. eth_blockNumber, eth_call)
paramsNoJSON-RPC parameters array

Output Schema

NameRequiredDescription
chainNo
sourceNo
chainIdNo
providerNo
responseNo
checkedAtNo
disclaimerNo

TDQS

A3.9/5.0
Behavior5/5

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 batch ceiling of 10, that write methods are refused, that pricing is $0.002 USDC per successful call via x402 on Base/Solana/Arc, and that failed calls are not charged. That billing and rejection behavior is exactly the non-obvious context 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense, front-loaded paragraph that opens with read-only pass-through and then layers batch limit, refusal policy and pricing. The 21-chain enumeration is long but earns its place because chain has no enum, though the payment-rail detail is the least load-bearing clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering safety, the description need not explain return values, and it covers cost, billing failure semantics, batch limits and write rejection. The remaining gap is routing guidance against the specialized evm_* tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; each property already carries its own description. The description adds only the chain enumeration (useful since chain has no enum) and the batch size cap, which the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: a read-only JSON-RPC pass-through scoped to 20+ named EVM chains, with single or batch invocation. It is clearly distinguishable from generic helpers, but it never names a sibling (e.g. evm_call, evm_block) to draw the boundary with the specialized EVM tools that overlap it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is the raw-escape-hatch for arbitrary read methods, and the 'write methods refused' clause tells it what will be rejected. There is no explicit statement of when to pick this over the many specialized evm_* siblings, nor any prerequisite/auth guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rpc_solanaRpc SolanaA
Read-only
Inspect

Read-only JSON-RPC pass-through for Solana mainnet. Allowed methods: getAccountInfo, getBalance, getTransaction, getSignaturesForAddress (limit <= 100), getTokenAccountsByOwner, getTokenSupply, getSlot, getBlockTime, getLatestBlockhash, getMultipleAccounts (<= 20). Write methods and getProgramAccounts refused. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
methodYesSolana JSON-RPC read method (e.g. getSlot, getBalance)
paramsNoJSON-RPC parameters array

Output Schema

NameRequiredDescription
sourceNo
providerNo
responseNo
checkedAtNo
disclaimerNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/openWorldHint annotations by disclosing cost ($0.002 USDC per successful call), the payment rail (x402 on Base, Solana or Arc), and that failed calls are not charged — pricing an agent cannot discover from schema. It also discloses enforcement behavior (which methods are refused) and result caps, which directly affect planning.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core identity ('read-only JSON-RPC pass-through for Solana mainnet') and packs limits, refusals and pricing into a tight block with no filler. It reads as one dense run-on sentence chain, which is efficient but slightly harder to scan than separated constraints would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value details are rightly omitted, and payment, refusal and result-cap behavior are all covered. The remaining gap is that a generic pass-through gives no guidance on the per-method `params` array layout, which is the main thing an agent could get wrong when calling it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description genuinely adds meaning by enumerating the valid values for the `method` parameter that the schema only gestures at with 'e.g. getSlot, getBalance'. It still does not explain how `params` must be shaped per RPC method, leaving the per-method argument layout undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific mechanism and scope: read-only JSON-RPC pass-through for Solana mainnet, with an explicit enumeration of allowed methods. This distinguishes it from write-capable or parsed-data siblings such as solana_account or solana_tx, though those siblings are never named, so the agent must still infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete usage bounds: the exact allowed method list, per-method caps (getSignaturesForAddress limit <= 100, getMultipleAccounts <= 20), and explicit refusals (write methods, getProgramAccounts). It does not name an alternative tool to use when a call would be refused or when a higher-level sibling would be simpler, so routing guidance is only partially complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sanctionsSanctionsA
Read-only
Inspect

Screen one person, company, vessel or aircraft name against the OFAC SDN and Consolidated lists, the EU consolidated list, the UN Security Council list and the UK Sanctions List (official files, refreshed daily). Fuzzy matching with aliases, transliteration and an optional country and date of birth to sharpen the score. Returns each possible match with its list, entry ID, score, programmes and official link. A screening aid, not a legal determination. Price: $0.01 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
dobNoDate of birth for a person: YYYY-MM-DD, YYYY-MM or YYYY (optional)
nameYesName to screen (person, company, vessel or aircraft), up to 200 characters
typeNoperson or entity (optional, sharpens the score)
listsNoComma-separated lists, default all: ofac-sdn, ofac-consolidated, eu-sanctions-map, un-consolidated, uk-sanctions
countryNoCountry or nationality, ISO code or name (optional, raises or lowers the score)
thresholdNoMatch threshold 50-100, default 85 (lower finds more and more false alarms)

Output Schema

NameRequiredDescription
hitNo
queryNo
sourceNo
matchesNo
bestScoreNo
checkedAtNo
disclaimerNo
listsCheckedNo
listsVersionNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and openWorldHint, but the description adds substantial behavior: fuzzy matching with aliases and transliteration, daily refresh of source files, a cost model ($0.01 USDC per successful call via x402 on Base/Solana/Arc with failed calls not charged), and an explicit legal disclaimer. This is exactly the kind of 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and resource, then layers matching behavior, return shape, disclaimer and pricing. Four dense sentences with little waste, though the pricing/return sentence could be trimmed since an output schema exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid, read-only screening tool the description covers scope, matching method, data freshness, cost and limitations, and an output schema already defines the return structure. Nothing an agent needs in order to decide or invoke correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all six parameters including the threshold range and list names. The description reinforces how country, DOB and threshold influence the match score but adds no syntax or format detail beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('screen') plus the exact resource (one person, company, vessel or aircraft name) and enumerates the five named lists checked. An agent can immediately tell this apart from sibling tools like company_registry, lei, uk_company or violations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys context ('screening aid, not a legal determination', official files refreshed daily) and hints that country/DOB/type 'sharpen the score', but never states when to choose this over adjacent siblings such as company_registry, lei or uk_insolvency. Usage is implied rather than prescribed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

screen_debarmentScreen DebarmentA
Read-only
Inspect

Searches the World Bank Listing of Ineligible Firms and Individuals for debarred and ineligible firms and individuals. Each hit: list, name, country, grounds, from/to dates, source URL. If a list is unreachable, returns listsUnavailable and 503 when none are checked. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
nameYesName or keyword to search (1–200 characters)
limitNoMax results per source (1–50, default 20)
countryNoOptional ISO-2 country code filter

Output Schema

NameRequiredDescription
countNo
sourceNo
resultsNo
checkedAtNo
disclaimerNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld annotations, it discloses the return shape per hit, the failure behavior (listsUnavailable field, 503 when no lists are checked), and the pricing/charging model including that failed calls are free. This is rich behavioral context an agent needs before committing 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then return fields, error behavior and pricing — every sentence carries information. Slightly dense, but nothing is wasted and the important cost/behavior facts are present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid, read-only screening tool, the description covers purpose, output shape, error handling, and cost model; an output schema exists but the description still conveys the non-obvious failure modes and billing, leaving an agent fully equipped to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (name, limit, country) are fully documented in the schema. The description adds no meaning 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (Searches) and a precise, named resource (the World Bank Listing of Ineligible Firms and Individuals). It distinguishes itself naturally from sibling screening tools like sanctions and screen_export_control by scoping to the World Bank debarment list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied (compliance/procurement screening) but there is no explicit when-to-use or when-not-to guidance, and it never names the alternatives it competes with (sanctions, screen_export_control). Adequate but with a clear gap for routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

screen_export_controlScreen Export ControlA
Read-only
Inspect

Searches the US trade.gov Consolidated Screening List (Entity List, SDN, Denied Persons, Unverified, ITAR Debarred, etc.) by name and optional country. Each hit includes list name, aliases, addresses, programs, federal register notice, and match score. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
nameYesName or keyword to search (1–200 characters)
limitNoMax results to return (1–50, default 20)
countryNoOptional ISO-2 country code filter (e.g. RU, CN, IR)

Output Schema

NameRequiredDescription
countNo
totalNo
sourceNo
resultsNo
checkedAtNo
disclaimerNo

TDQS

A4/5.0
Behavior4/5

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 genuinely useful context beyond that: the shape of each hit (list name, aliases, addresses, programs, FR notice, match score) and an explicit pricing model of $0.003 USDC per successful call via x402, with failed calls free. The cost/paid-call disclosure 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly packed sentences with zero filler: what it searches, what a result contains, and what it costs. The resource and scope are front-loaded before the return-content and pricing details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 100% schema coverage, an output schema present, and safety annotations in place, the description's remaining burden is light and mostly met (coverage of lists, result fields, and cost). The one gap is that it doesn't route the agent against overlapping screening siblings such as screen_debarment or sanctions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented in the schema (range, default, ISO-2 examples). The description only echoes 'by name and optional country' and adds no format or constraint detail beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Searches) and a precisely named resource (US trade.gov Consolidated Screening List), then enumerates the covered sub-lists (Entity List, SDN, Denied Persons, Unverified, ITAR Debarred). This distinguishes it from nearby siblings like screen_debarment and sanctions without 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case (screen a name/entity against consolidated trade lists) and notes the optional country filter. However it never says when to prefer this over screen_debarment, sanctions, or enforcement_actions, and gives no exclusions or prerequisites. Usage is inferable but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sec_13fSec 13fA
Read-only
Inspect

Returns the latest Form 13F-HR holdings for an institutional investor by CIK or name search. Each holding: issuer, class, CUSIP, value in USD, shares, put/call flag, largest first. Capped at 500 rows. Also returns the total value from the cover page, filing date and reporting period. Source: SEC EDGAR (public domain). EDGAR requests ≤10/s. Price: $0.004 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
cikNoFiler CIK number (10-digit, with or without leading zeros)
nameNoFiler name to search EDGAR (used when cik is not given; picks the top match)
limitNoMax holdings rows to return (1–500, default 100)

Output Schema

NameRequiredDescription
cikNo
noteNo
sourceNo
edgarUrlNo
holdingsNo
checkedAtNo
filerNameNo
truncatedNo
disclaimerNo
filingDateNo
holdingsCountNo
totalValueUsdNo
entriesInFilingNo
reportingPeriodNo
totalValueSourceNo

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnlyHint and openWorldHint, and the description adds substantial beyond that: a 500-row cap, ≤10 req/s EDGAR limit, public-domain source, and a full pricing model ($0.004 USDC per successful call via x402, failed calls not charged). That is exactly the behavioral context annotations cannot provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then return shape, then constraints and cost. Every sentence is informative, though explaining return fields is partly redundant given an output schema exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an external, paid, rate-limited data tool it covers purpose, inputs, output shape, row cap, source, rate limit, and billing, which is everything an agent needs to call it correctly. The presence of an output schema means return values need not be spelled out, making coverage more than sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented in the schema, including that name is used when cik is absent and the 1–500 limit range. The description largely echoes this, 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Returns the latest Form 13F-HR holdings for an institutional investor'), which is clearly distinct from generic filing tools. It does not, however, explicitly name any sibling (e.g. sec_filings, sec_insiders) to differentiate itself, so it lands at a clear-but-not-routing 4.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It signals the two input modes ('by CIK or name search') and that name is used when CIK is absent, implying when each applies. But it never states when to reach for this tool versus the many other SEC siblings, leaving usage context to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sec_eventsSec EventsA
Read-only
Inspect

The latest 8-K current reports of a US company (ticker or CIK) with their item codes explained in plain words (1.01 material agreement, 2.02 results, 5.02 executive change and so on). Each filing links to its document. US government data. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
limitNo1 to 20 (default 10)
companyYesTicker or CIK

Output Schema

NameRequiredDescription
cikNo
sourceNo
companyNo
filingsNo
checkedAtNo
matchedByNo
attributionNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only and open-world access, so the safety profile is covered. The description adds genuinely useful behavioral context beyond them: it is a paid call ($0.002 USDC via x402 across Base/Solana/Arc) and failed calls are not charged — critical 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core behavior is front-loaded in the first sentence, and the pricing sentence is dense but each clause carries load-bearing information (cost, payment rails, failure policy). Nothing is redundant with the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value structure need not be explained. The description covers data source (US government), scope (latest 8-Ks), item-code interpretation, document links, and pricing — everything an agent needs to call it correctly, with only sibling routing left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (company, limit) are already documented. The description restates that company accepts a ticker or CIK but adds no format, range, or default detail beyond the schema, so the baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource and scope: the latest 8-K current reports for a US company, with item codes explained. The 8-K specificity implicitly separates it from broader siblings like sec_filings or sec_search, but it never names an alternative explicitly, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the scope — fetch recent material-event filings for one company — but there is no explicit when-to-use guidance and no mention of when to prefer sec_filings, sec_search, or sec_insiders instead. The agent must infer the routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sec_filingsSec FilingsA
Read-only
Inspect

Recent SEC EDGAR filings of a company (10-K, 10-Q, 8-K and more), found by ticker, CIK or name. A name that matches several filers returns candidates with HTTP 400, not charged. Each filing gives the form, filing and report dates, description, index page and primary document. Source: SEC EDGAR, public domain. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
formsNoComma-separated form types, e.g. 10-K,10-Q,8-K. Default: all
limitNoMax filings, 1-50, default 10
companyYesTicker (AAPL), CIK (320193) or company name

Output Schema

NameRequiredDescription
noteNo
formsNo
sourceNo
companyNo
filingsNo
returnedNo
checkedAtNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely non-redundant behavior: ambiguous names return candidates with HTTP 400 and are not charged, failed calls are never charged, and pricing is stated per successful call. That is meaningful disclosure beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence, followed by disambiguation, return fields, source, and pricing in a compact single paragraph with no repetition. The pricing/source sentences are secondary but earn their place for a paid x402 endpoint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be spelled out, and the description still gives a useful summary of each filing's fields. Annotations plus schema plus the disambiguation and payment notes leave little an agent needs to call this correctly; only sibling routing is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each of the three parameters is already documented with its format and defaults. The description mentions the accepted identifier kinds and example forms, but adds no syntax, delimiter, or range detail 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (recent SEC EDGAR filings) and enumerates the accepted lookup keys (ticker, CIK, name) plus form types, so an agent knows exactly what it retrieves. It does not, however, contrast itself against close siblings such as sec_search, sec_financials, sec_events, or sec_insiders, leaving the agent to infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the stated inputs (a company identifier) rather than declared: there is no 'use this instead of X when Y' guidance among the many sec_* and company_* siblings. It does, however, describe the ambiguous-name path, which gives some practical context for how a call will behave.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sec_financialsSec FinancialsA
Read-only
Inspect

Key figures per fiscal year or quarter from a company's SEC XBRL filings, the numbers it tagged itself: revenue, net income, operating income, assets, liabilities, equity, cash, operating cash flow, diluted EPS and shares outstanding. Each value carries the form and filing date it came from. Ticker or CIK. Source: SEC XBRL API, public domain. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
yearsNoFiscal years (or 4 x quarters), 1-10, default 5
periodNoannual (default) or quarterly
companyYesTicker (AAPL) or CIK (320193)

Output Schema

NameRequiredDescription
notesNo
yearsNo
periodNo
sourceNo
companyNo
periodsNo
currencyNo
checkedAtNo

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnlyHint and openWorldHint, and the description goes well beyond them: it discloses the data source (SEC XBRL API, public domain), provenance of each value (the form and filing date it came from), the exact payment model ($0.003 USDC via x402 on Base/Solana/Arc) and the failure policy (failed calls not charged). This is precisely the kind of 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what the tool returns, then provenance, accepted identifiers, and pricing — logical ordering with almost no filler. The field enumeration is long but each item is substantive, so only minor tightening is possible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the return shape need not be explained, and the annotations cover the safety profile. The description fills the remaining gaps — source, provenance, identifier forms, and cost/charging semantics — leaving nothing an agent needs in order to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents company, years, and period, and the description's 'Ticker or CIK' merely restates the schema's own example. The 'per fiscal year or quarter' phrasing loosely maps to the period parameter but adds no format or syntax detail. Baseline 3 for a fully documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (key financial figures per fiscal year/quarter) drawn from SEC XBRL filings and enumerates the exact fields returned. An agent can tell this is a fundamentals-lookup tool rather than a filing-document tool. It does not, however, explicitly distinguish itself from siblings like sec_filings or sec_search, which a reader must infer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied — you call it to get tagged financial figures for a ticker/CIK — but there is no explicit when-to-use, when-not-to-use, or naming of the SEC sibling alternatives that would let an agent route confidently between sec_financials, sec_filings, sec_events, and sec_search.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sec_insidersSec InsidersA
Read-only
Inspect

The latest Form 4 insider transactions of a US company (ticker, CIK or name): insider name and role, transaction date, code (P buy, S sell, A grant, M exercise, F tax withholding), shares, price and shares owned afterwards, with the filing link. Common-stock lines only; derivative grants are not listed. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
limitNoFilings to read, 1 to 10 (default 5)
companyYesTicker, CIK or company name

Output Schema

NameRequiredDescription
noteNo
countNo
sourceNo
companyNo
checkedAtNo
disclaimerNo
filingsReadNo
transactionsNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnly/openWorld, but the description adds high-value behavior: pay-per-call pricing ($0.003 USDC via x402 on Base/Solana/Arc), the failure policy (failed calls are not charged), a code legend for interpreting results, and explicit data-scope limits. This is substantially more than the annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first clause, followed by a dense but useful return-field list, the scope caveat, and the pricing note. Nothing is redundant, though the first sentence is long and could be split for scanability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be re-explained, and the description still supplies the essentials an agent needs: input scope, excluded data, interpretation codes, and the payment model. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both 'company' (ticker/CIK/name) and 'limit' (1-10, default 5). The description's only param-relevant content ('ticker, CIK or name') duplicates the schema and adds no new syntax, format, or constraint detail. Baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'latest Form 4 insider transactions of a US company', and enumerates exactly what is returned (insider name/role, date, code, shares, price, ownership, filing link). The data scope is narrow and distinct from the many other sec_* siblings, so an agent can identify it immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is strongly implied by the resource definition (you call this for insider Form 4 activity), and a content exclusion is given ('common-stock lines only; derivative grants are not listed'). However, no sibling alternative is named despite a crowded sec_* / congress neighborhood, and there is no explicit 'use X instead' routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

securities_idSecurities IdA
Read-only
Inspect

A security by ISIN, CUSIP or ticker (with an optional exchange code): its OpenFIGI id, name, ticker, exchange, security type and market sector, and for an ISIN the issuer's LEI and legal name from GLEIF. ISIN and CUSIP check digits are verified before the call. Attribution: FIGI by OpenFIGI; LEI by GLEIF. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
isinNoISIN, 12 characters
cusipNoCUSIP, 9 characters
tickerNoTicker, e.g. AAPL
exchangeNoOptional OpenFIGI exchange code, e.g. US or LN

Output Schema

NameRequiredDescription
queryNo
issuerNo
sourceNo
checkedAtNo
disclaimerNo
securitiesNo
attributionNo

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/openWorldHint annotations, the description discloses real behavioral traits: ISIN and CUSIP check digits are validated before the call, ISINs additionally yield the issuer's LEI and legal name from GLEIF, and there is explicit pricing ($0.002 USDC per successful call via x402 on Base/Solana/Arc) with failed calls not charged. This is unusually rich operational context that an agent needs to budget and reason about cost.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The identifying purpose and returned fields are front-loaded in the first sentence, followed by two short, information-dense sentences on validation/attribution and payment. Slightly long as a single run-on opening clause, but every sentence carries distinct value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present the description need not restate return values, yet it still lists them for scannability, and it covers validation, sources, and payment model. The only residual gap is that the one-of identifier requirement (zero required params) is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful semantics the schema does not: that exchange is optional, that ISIN (unlike CUSIP/ticker) unlocks LEI/legal-name enrichment, and implicitly that one of the three identifiers is the actual input despite zero required parameters. It stops short of an explicit one-of constraint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the exact resource (a security identified by ISIN, CUSIP or ticker), the lookup source (OpenFIGI, with GLEIF enrichment for ISINs) and enumerates the returned fields. It is clearly a securities-identifier resolver rather than a generic search, though it never names or contrasts a specific sibling such as company_ticker or lei.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the identifier inputs and the note that exchange is optional, but there is no explicit when-to-use / when-not-to-use guidance and no routing to an alternative tool. An agent must infer the trigger condition from the parameter set alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sentimentSentimentA
Read-only
Inspect

Sentiment of one text, or up to 20 (texts, a JSON array), each up to 2,000 characters: POSITIVE or NEGATIVE with the model's confidence, from DistilBERT SST-2. Best for short English text. It measures the wording, not whether the statement is true. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textNoOne text, up to 2,000 characters
textsNoJSON array of up to 20 texts

Output Schema

NameRequiredDescription
countNo
modelNo
labelsNo
resultsNo
checkedAtNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations by disclosing the exact per-call cost ($0.002 USDC via x402 across Base, Solana or Arc), that failed calls are not charged, per-item character and batch-size limits, and the fact that the model judges wording rather than truth. These are precisely the operational facts 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence ordered from capability to limits to model to caveat to pricing, with no filler. Every clause carries information the agent can act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return shape need notbe explained, and the description covers the remaining unknowns: capacity limits, model provenance, semantic caveat and cost/charging behavior. Nothing material for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented in structured data; the description restates the same 2,000-character and 20-item limits. It adds only a mild clarification that the two parameters are alternatives ("one text, or up to 20"), which the schema does not express.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (sentiment of one text or up to 20), names the exact output labels (POSITIVE/NEGATIVE with confidence) and the underlying model (DistilBERT SST-2). It does not explicitly distinguish itself from adjacent siblings such as text_tone, classify or moderate, so an agent must infer the boundary from the label set alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Best for short English text" gives a clear usage context and implicitly excludes long or non-English input, and "measures the wording, not whether the statement is true" warns against a common misuse (fact-checking). No alternative tool is named, so the exclusion side is only 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.

sitemapSitemapA
Read-only
Inspect

All URLs a website lists in its XML sitemaps (from robots.txt, /sitemap.xml or /sitemap_index.xml, following indexes), with lastmod, newest first. Filter by path prefix and changed-since date. For agents that need a site's page list before reading pages. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesSite URL or domain
limitNoMax URLs, 1-10000, default 1000
sinceNoYYYY-MM-DD: only URLs with lastmod on or after it
pathPrefixNoOnly URLs whose path starts with this, e.g. /blog/

Output Schema

NameRequiredDescription
siteNo
urlsNo
returnedNo
sitemapsNo
totalUrlsNo
truncatedNo
sitemapsReadNo
childSitemapsSkippedNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover safety (readOnly, openWorld), but the description adds substantial context: source discovery order and index following, lastmod/newest-first ordering, and a detailed pricing/auth model (x402 USDC on Base/Solana/Arc, only successful calls charged). This is rich disclosure the annotations cannot provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three focused sentences, front-loaded with the resource and sources, then filtering, then the agent-oriented use case and pricing. Dense but each element earns its place; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation. Between the sources, ordering, filters, use case, and pricing model, an agent has everything needed to decide to call and how to pay.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all four parameters are already fully documented. The description only restates the filtering capability (path prefix, changed-since) without adding syntax or format detail beyond what the schema provides, so it lands at the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: lists all URLs from a site's XML sitemaps, naming the exact sources (robots.txt, /sitemap.xml, /sitemap_index.xml) and index-following behavior. This clearly distinguishes it from siblings like robots, links, and subdomains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'For agents that need a site's page list before reading pages' gives a clear use context. It doesn't name an explicit alternative (e.g., robots or links) or state when-not-to-use, so it falls short of full routing guidance but leaves no ambiguity about purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

solana_accountSolana AccountA
Read-only
Inspect

A Solana account: lamports and SOL with a USD value, owner program, executable flag and data size. Token accounts and mints are parsed (mint, owner, amount and decimals; supply and authorities). Read-only over Solana JSON-RPC. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
addressYesAccount or mint address, base58

Output Schema

NameRequiredDescription
solNo
usdNo
ownerNo
parsedNo
sourceNo
addressNo
lamportsNo
checkedAtNo
dataBytesNo
disclaimerNo
executableNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely non-schema behavioral context: read-only access pattern and, importantly, a pricing/charging model ($0.002 USDC per successful call, x402 on Base/Solana/Arc, failed calls free). This is valuable operational 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the return contents and compact, with no filler sentences. The parenthetical field lists are dense but on-topic. Slightly list-heavy rather than flowing, but efficiently sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the description need not explain return values, yet it does describe them — mildly redundant but reinforces what the agent gets. Combined with pricing and read-only disclosure, the definition is complete enough to call correctly. The only real gap is usage routing, which is scored separately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single required parameter with 100% schema description coverage ('Account or mint address, base58'), so the schema already carries the semantics. The description notes that token accounts and mints are parsed, which loosely implies the address may be either, but adds nothing the schema doesn't. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the resource (a Solana account) and enumerates what it returns: lamports, SOL/USD value, owner program, executable flag, data size, plus parsed token/mint fields. This is a clear specific resource lookup. It does not, however, name or distinguish itself from near-siblings like solana_token, solana_wallet, or rpc_solana, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description never says when to use this tool versus alternatives such as solana_token (which likely covers mint metadata) or rpc_solana (raw RPC). 'Read-only over Solana JSON-RPC' is a mild context hint but not usage guidance. No prerequisites, exclusions, or routing are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

solana_quoteSolana QuoteA
Read-only
Inspect

Best Jupiter swap route for a Solana token pair and an amount: input and output in token units, the minimum received after slippage, price impact, effective price, each route hop and USD values. from and to take a mint address or a symbol such as SOL or USDC; a symbol resolves to the verified token with the highest organic score, and the chosen mint is named. Quote only: nothing is built, signed or sent. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
toYesMint address or symbol to buy, e.g. USDC
fromYesMint address or symbol to sell, e.g. SOL
amountYesAmount of from in whole tokens, e.g. 1 or 0.25
slippageBpsNoSlippage tolerance in basis points, 0 to 1000 (default 50)

Output Schema

NameRequiredDescription
inputNo
notesNo
routeNo
outputNo
sourceNo
checkedAtNo
quoteOnlyNo
disclaimerNo
slippageBpsNo
effectivePriceNo
priceImpactPctNo
symbolResolutionNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint, the description discloses that nothing is built, signed or sent, that the call costs $0.002 in USDC per successful call via x402 (Base, Solana or Arc), and that failed calls are not charged — rich operational context an agent could not infer from annotations. It also explains runtime behavior: symbols resolve to the verified token with the highest organic score and the chosen mint is named, which is important disambiguation behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and output fields come first, followed by parameter behavior and then the pricing caveat — a sensible front-loaded order. The single paragraph is dense but every sentence carries distinct information; it is slightly long but not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present the description need not explain return values, yet it summarizes them helpfully, and it covers cost, safety (quote-only), and parameter resolution. Nothing an agent needs to call this tool correctly appears to be missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds genuine meaning: 'from and to take a mint address or a symbol such as SOL or USDC', the tie-break rule for symbol resolution, and that input/output are in token units. This clarifies ambiguous string parameters beyond the brief schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Best Jupiter swap route for a Solana token pair and an amount') and enumerates the output content, so an agent immediately knows this is a DEX swap-quoting tool. It is clearly distinguishable from sibling tools like solana_token, solana_wallet, or solana_tx without 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: 'Quote only: nothing is built, signed or sent' tells the agent this is a read-only preview step, but the text never explains when to choose this over alternatives (e.g. markets_quote or a future swap/buy tool), nor does it state prerequisites like needing the quote before executing. It is adequate but leaves routing decisions to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

solana_tokenSolana TokenA
Read-only
Inspect

Solana token check for trading agents: price, market cap, FDV, liquidity, holders, 24h volume and trades, price change, organic-trading score, verification, top-holder and developer share (Jupiter), top pools (GeckoTerminal), plus on-chain mint authority, freeze authority, supply, decimals, token program and Token-2022 extensions, with red flags. Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
addressYesSPL token mint address (base58)

Output Schema

NameRequiredDescription
urlNo
nameNo
tagsNo
flagsNo
checksNo
fdvUsdNo
supplyNo
symbolNo
addressNo
holdersNo
ageHoursNo
decimalsNo
priceUsdNo
topPoolsNo
verifiedNo
trades24hNo
disclaimerNo
extensionsNo
liquidityUsdNo
marketCapUsdNo
organicScoreNo
tokenProgramNo
volume24hUsdNo
mintAuthorityNo
priceChangePctNo
freezeAuthorityNo
devBalancePercentNo
organicScoreLabelNo
topHoldersPercentNo
firstPoolCreatedAtNo
mintAuthorityEnabledNo
freezeAuthorityEnabledNo

TDQS

A3.9/5.0
Behavior4/5

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 material details those annotations do not: the x402 payment path (Base/Solana/Arc), the exact $0.002 USDC per-successful-call cost, and the guarantee that failed calls are not charged. It also advertises a 'red flags' output and names data providers (Jupiter, GeckoTerminal). It stops short of stating rate limits 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, followed by cost and disclaimer sentences. The long middle clause is a dense field enumeration, but each listed datum plausibly helps an agent decide whether this tool answers its question, so most of it earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the description still signals the scope of the payload (metrics plus on-chain fields plus red flags). Cost, payment mechanics, and the non-advisory disclaimer complete the picture for a paid, read-only data tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single required 'address' parameter, and the description adds no format or constraint detail beyond 'SPL token mint address (base58)'. Baseline 3 is appropriate when the schema fully carries parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb+resource (Solana token check) and enumerates the exact data domains returned: price, market cap, liquidity, holders, volume, organic-trading score, top pools, plus on-chain mint/freeze authority and Token-2022 extensions. An agent can distinguish this from solana_quote, token_metadata, or evm_token without 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for trading agents' implies an audience and usage context, but no explicit when-to-use/when-not conditions or named alternatives are given, even though close siblings exist (solana_quote for pricing, token_metadata for metadata, solana_account for raw account data). Usage is inferable but 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.

solana_txSolana TxA
Read-only
Inspect

A Solana transaction by signature: status, time, fee in SOL and USD, signers, SOL balance changes per account, token balance changes (mint, owner, change) and the programs it invoked. Read-only; nothing is sent. A very new signature may be missing (404, not charged). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
signatureYesTransaction signature, base58

Output Schema

NameRequiredDescription
feeNo
slotNo
timeNo
errorNo
sourceNo
statusNo
signersNo
programsNo
checkedAtNo
signatureNo
disclaimerNo
solChangesNo
tokenChangesNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and openWorldHint annotations, the description discloses important behavioral traits: the call is read-only and sends nothing, very new signatures may return 404 without charge, successful calls cost $0.002 in USDC via x402, and 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with what the tool returns, then efficiently adds read-only status, 404 behavior, and pricing. 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.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema and annotations covering read-only/open-world behavior, the description is complete enough. It covers the resource, the required parameter, return contents, failure behavior, and payment details, leaving no critical gap for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one required parameter, and the schema already documents it fully as a base58 transaction signature with 100% schema description coverage. The description reinforces that the lookup is by signature, but adds no format or syntax detail beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific resource (a Solana transaction), the required lookup key (by signature), and the exact fields returned (status, time, fee in SOL/USD, signers, balance changes, token changes, programs invoked). This clearly distinguishes it from sibling tools such as evm_tx, btc_tx, solana_account, and solana_wallet without needing to open any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: call this when you have a Solana transaction signature. The 404 note for very new signatures gives useful context, but the description does not explicitly say when to prefer this over alternatives like solana_account or solana_wallet, nor does it state exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

solana_walletSolana WalletA
Read-only
Inspect

Solana wallet holdings: SOL and every SPL / Token-2022 balance with name, symbol, USD price and value (Jupiter), sorted by value, plus the total in USD. Dust and unpriced tokens hidden unless includeDust=1. Information only. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
addressYesSolana wallet address (base58)
includeDustNo1 = also list tokens worth under $0.01 or without a price

Output Schema

NameRequiredDescription
solNo
tokensNo
addressNo
disclaimerNo
tokensShownNo
tokenAccountsNo
totalValueUsdNo
hiddenDustOrUnpricedNo

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and openWorldHint, so the description's additions carry real weight: it discloses the payment/auth mechanism (x402 via Base, Solana or Arc), the per-call cost ($0.003 USDC), and crucially that failed calls are not charged. It also documents a default behavior (dust and unpriced tokens hidden) that would otherwise surprise the agent. This is well beyond what the annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the returned content and packed into a small number of dense sentences that each carry information. The 'Information only.' clause is mildly redundant against readOnlyHint, and the run-on pricing sentence is dense, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be re-explained, yet the description still summarizes them usefully; both parameters, the default filtering behavior and the billing model are covered. Nothing an agent needs to invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description's dust note ('hidden unless includeDust=1') largely mirrors the schema's own text ('1 = also list tokens worth under $0.01 or without a price'), adding a redundant confirmation rather than new semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise resource and the exact output content ('SOL and every SPL / Token-2022 balance with name, symbol, USD price and value... plus the total in USD'), which clearly separates it from siblings like solana_tx, solana_token or solana_account. It is a noun-phrase framing rather than a verb+resource, and it never names an adjacent sibling (e.g., evm_wallet) to differentiate explicitly, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the agent can infer you call this to get a Solana wallet's holdings, and the dust note hints at the includeDust toggle. There is no explicit statement of when to prefer this over solana_account, solana_token or evm_wallet, and no prerequisites are given beyond the pricing line.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sql_generateSql GenerateA
Read-only
Inspect

SQL from a question and a schema (CREATE TABLE statements or a JSON description of tables and columns), for postgres (default), mysql, sqlite or bigquery. The tables and columns used are checked against the schema; a query that does not match it is retried once, then refused. Writes (INSERT, UPDATE, DELETE, DDL) are refused unless allowWrite is true. The query is not run. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
schemaYesCREATE TABLE statements, or a JSON object of tables and column lists (max 20,000 characters)
dialectNopostgres (default), mysql, sqlite or bigquery
questionYesQuestion in plain language (max 1,000 characters)
allowWriteNoAllow INSERT, UPDATE, DELETE or DDL (default false)

Output Schema

NameRequiredDescription
sqlNo
noteNo
tablesNo
columnsNo
dialectNo
readOnlyNo
checkedAtNo
explanationNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/openWorldHint annotations: table/column validation against the supplied schema, a single retry then refusal, write-statement blocking gated by allowWrite, non-execution of the query, and a per-successful-call price with failed calls free. This is exactly the operational detail 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core purpose, then layers constraints and pricing in compact sentences with no filler. The pricing clause is long but carries decision-relevant cost information, so it earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, return values need not be described; everything else an agent needs – supported dialects, validation/retry/refusal semantics, write gating, non-execution, and cost – is present. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents question, schema, dialect, and allowWrite. The description reinforces the dialect default and the allowWrite gate but adds no format or syntax detail beyond the structured fields, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('SQL from a question and a schema') and enumerates the supported dialects with the default. An agent can immediately tell this is SQL generation, not execution, and distinguish it from unrelated siblings like tables or regex_generate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear context: pass a question plus a CREATE TABLE/JSON schema, expect checked-and-retried output, and note that the query is NOT run. It does not name explicit alternatives among siblings, but the 'generation only, not execution' framing implicitly routes the agent away from any execute-style tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sslSslA
Read-only
Inspect

TLS certificate expiry for up to 10 hostnames: the issuer, validity dates, days left, all DNS names and a status (ok, expiring within 14 days, expired, none found). Read from Certificate Transparency logs (CertSpotter, crt.sh as fallback), so it is the newest valid certificate issued for each name, not the one the server presents; the answer also says whether https answers and its HSTS header. Public hostnames only. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
hostsYesComma-separated public hostnames, 1 to 10, e.g. github.com,example.com

Output Schema

NameRequiredDescription
noteNo
basisNo
countNo
sourceNo
resultsNo
checkedAtNo

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: discloses the data source (CertSpotter with crt.sh fallback), the crucial behavioral caveat that results reflect the newest CT-log certificate rather than the served one, the additional https/HSTS probing, and the $0.002 USDC x402 payment model with failed calls uncharged. The readOnly/openWorld hints are complemented rather than repeated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose and return fields in the first sentence, then the CT-log caveat, then pricing. Dense but efficient; every clause (source, caveat, price, limits) is actionable, with only mild redundancy against the output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter lookup with an output schema and annotations, the description covers the non-obvious essentials: data provenance, the served-vs-issued mismatch, public-hostname restriction, and metered payment. An agent can decide to call it and anticipate what it gets without further reading.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the single hosts parameter as comma-separated public hostnames, 1 to 10 (100% coverage). The description repeats 'up to 10 hostnames' and 'Public hostnames only' without adding format, syntax, or validation detail, so the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: TLS certificate expiry lookup for hostnames, plus the fields returned (issuer, validity dates, days left, DNS names, status). It is not differentiated from closely related siblings such as certs, domain, subdomains, headers, or uptime, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the scope statements ('up to 10 hostnames', 'Public hostnames only') and by the negative caveat that this is not the certificate the server presents. There is no explicit when-to-use or when-not, and no named alternative tool for the overlapping cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stackoverflowStackoverflowA
Read-only
Inspect

Stack Overflow questions matching words, optionally by tags and accepted status: title, score, answer count, accepted flag, tags and link. With answers=1 the accepted answer's first 600 characters are included. Content is CC BY-SA 4.0 (attribution per item). Stack Exchange API 2.3. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qYesSearch words
limitNo1 to 20 (default 5)
taggedNoTags separated by commas, e.g. rust,tokio
answersNo1 to include the accepted answer's text
acceptedNotrue to keep only questions with an accepted answer

Output Schema

NameRequiredDescription
queryNo
sourceNo
checkedAtNo
questionsNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnly, openWorld), the description adds genuinely useful context: the cost model ($0.002 USDC per successful call, failed calls free), the payment rails (x402 on Base/Solana/Arc), the API version, the CC BY-SA attribution obligation, and the 600-character answer truncation. These are non-obvious behavioral traits that materially affect how an agent calls the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and return fields are front-loaded, followed by the answer-truncation detail, licensing, API version, and pricing. Every sentence earns its place, though the pricing sentence is dense and could be split.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With readOnly/openWorld annotations and an output schema, the description only needs to cover operational details — and it does: cost, payment, attribution, and answer truncation are all stated. Minor gaps like whether limits apply to returned answers or questions are not material.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds value by explaining that answers=1 pulls only the first 600 characters of the accepted answer and that accepted filters to questions with an accepted answer — details absent from the terse schema strings. This is above the schema baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence names a specific verb (search questions) and resource (Stack Overflow), and enumerates the returned fields (title, score, answer count, accepted flag, tags, link). An agent can tell this apart from sibling search tools like hn_search or github_search without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description frames the query modes (words, optional tags, accepted status) and what the answers=1 flag enables, which implies usage. However, it never states when to prefer this over alternatives such as pubmed, arxiv, or hn_search, and offers no exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

subdomainsSubdomainsA
Read-only
Inspect

Subdomains of a domain seen in certificate transparency logs: each name with the first and last certificate dates, the issuer of the newest certificate, and wildcard entries flagged. Deduplicated, newest first, up to 500. CertSpotter is read first, but its free index is partial, so those answers are marked truncated with the reason; crt.sh is the fallback and is complete. Only public certificates are listed. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
domainYesA registered domain like example.com

Output Schema

NameRequiredDescription
noteNo
countNo
totalNo
domainNo
sourceNo
checkedAtNo
truncatedNo
subdomainsNo
truncatedReasonNo

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations: it discloses the truncated-answer marking with reason, the partial free index caveat, the 500 cap, dedup ordering, wildcard flagging, and public-only scope. The x402 payment model, price, accepted chains, and no-charge-on-failure are all stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but every sentence carries distinct information: output fields, ordering, fallback behavior, payment terms. Front-loaded with the resource and return shape, with operational caveats after.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers output semantics, source fallback, truncation flags, pagination limits, and the payment requirement. With an output schema present, the description need not re-document return fields, yet it still summarizes them usefully. Complete for calling correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and there is only one parameter, so the schema already documents 'domain' as a registered domain. The description adds no input syntax beyond what the schema provides; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (subdomains of a domain) and its source (certificate transparency logs), then enumerates the returned fields. It is clearly distinguishable from siblings like certs, ssl, and dns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains that CertSpotter is read first and crt.sh is the fallback, and clarifies results are deduplicated, newest-first, capped at 500. It doesn't explicitly say when to choose this over the sibling certs tool, but the source and output are clearly scoped.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

summarizeSummarizeA
Read-only
Inspect

A summary of a web page (url) or your own text (up to 12,000 characters) as short, medium or bullets, in the language you name, with key points. Llama 3.3 70B. A page is read as in /api/read, robots.txt respected. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlNoWeb page to summarize (or text)
textNoText to summarize, up to 12,000 characters
lengthNoshort, medium (default) or bullets
languageNoLanguage of the summary, e.g. German

Output Schema

NameRequiredDescription
modelNo
lengthNo
summaryNo
languageNo
checkedAtNo
keyPointsNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint and openWorldHint, but the description adds substantial context: the underlying model (Llama 3.3 70B), that pages are read like /api/read with robots.txt respected, the 12,000-character text limit, and crucially the pricing model ($0.003 USDC via x402 on Base, Solana, or Arc, with failed calls not charged). This goes well beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and packs useful details (model, read behavior, pricing) into a few sentences. The first sentence is a bit long, and the 'Llama 3.3 70B.' fragment is slightly abrupt, but overall it is efficient with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists and annotations cover safety/open-world behavior, the description is complete for an agent to call the tool correctly. It discloses pricing, payment chains, read semantics, and input limits, leaving no important operational gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters. The description mentions the 12,000-character limit, length options, and language, but these are largely redundant with the schema descriptions, adding no new syntax or format details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource: summarizing a web page (url) or text into short, medium, or bullets. It distinguishes itself from the sibling 'read' by noting 'A page is read as in /api/read,' making clear it returns a summary rather than raw content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage (summarize a URL or your own text) and mentions length and language options, but does not explicitly compare against alternatives like text_outline, text_paraphrase, or read, nor does it state when not to use it. Basic context is present but no routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sunSunA
Read-only
Inspect

Sunrise, sunset, solar noon and day length for a coordinate and date (default today), with the moonrise, moonset and phase. Times are ISO 8601 with the offset MET Norway gives (+00:00 is UTC). Attribution: data from MET Norway (CC BY 4.0). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
latYesLatitude, -90 to 90
lonYesLongitude, -180 to 180
dateNoDate, YYYY-MM-DD (default today)

Output Schema

NameRequiredDescription
latNo
lonNo
sunNo
dateNo
moonNo
timesNo
sourceNo
checkedAtNo

TDQS

A4.3/5.0
Behavior5/5

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 and license, the time format and offset behavior, the default date, and precise billing details: $0.002 USDC per successful x402 call and no charge for failures. This gives the agent important operational context before invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with what the tool returns, followed by necessary time-format, attribution, and pricing notes. Every sentence adds useful information without repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists and the input schema is fully documented, the description supplies the remaining context an agent needs: data source, timezone offset behavior, default date, and billing model. Nothing material for correct invocation appears to be missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so lat, lon, and date are already well documented. The description repeats the coordinate/date framing and default-today behavior but adds no new parameter-level syntax or constraints beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource and the exact outputs: sunrise, sunset, solar noon, day length, moonrise, moonset, and phase for a coordinate and date. This clearly distinguishes it from weather, tides, timezone, and date_calc siblings by focusing on solar and lunar astronomical data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the core usage context, a coordinate and date with today as default, which implies when the tool is appropriate. However, it does not explicitly say when to use this instead of weather, tides, timezone, or date_calc, nor does it provide exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

swiftSwiftA
Read-only
Inspect

Checks a SWIFT/BIC code (8 or 11 characters): the format, bank code, country and its name, location, test and passive flags, branch, and the institution's LEI, legal name and address from GLEIF when a record carries that BIC. Without a GLEIF match the answer still gives the format check and institution null, with the reason. Pure code plus one GLEIF call, cached a day. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
bicYesA SWIFT/BIC code, 8 or 11 characters, e.g. DEUTDEFF or DEUTDEFF500

Output Schema

NameRequiredDescription
bicNo
bankNo
validNo
branchNo
sourceNo
countryNo
testBicNo
locationNo
checkedAtNo
countryNameNo
institutionNo
primaryOfficeNo
institutionNoteNo
passiveParticipantNo

TDQS

A4.2/5.0
Behavior5/5

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 GLEIF fallback behavior (institution null with a reason), a one-day cache, per-call pricing ($0.002 USDC via x402 on Base/Solana/Arc) and the fact that failed calls are not charged. Cost and failure semantics are exactly the kind of context 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense paragraph with no filler; the core capability is front-loaded ahead of the fallback and payment details. It is longer than strictly needed, but every clause carries distinct information (validation set, fallback, cache, price).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an open-world lookup with a single required param and an output schema, the description covers the remaining burden: fallback behavior when no GLEIF record exists, caching, and the x402 payment model. An agent has everything needed to call it correctly, including the cost implication.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter with 100% schema description coverage, so the schema already documents the 8/11-character format and gives examples. The description adds no syntax or format detail beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Checks a SWIFT/BIC code') and then enumerates exactly what is validated: format, bank code, country/name, location, test/passive flags, branch, plus LEI/legal name/address from GLEIF. An agent knows precisely what this tool returns without 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the domain (it operates on a BIC you supply), but there is no explicit when/when-not guidance and no routing to related siblings such as lei or iban, which overlap in the entity-identity space. Adequate but with a clear gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tablesTablesA
Read-only
Inspect

Every HTML table of a web page as JSON: caption, headers and rows, up to 10 tables with 200 rows each. Tables that a script draws are not included. robots.txt is respected; a page it disallows answers 403, not charged. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesWeb page address, e.g. https://example.com/page

Output Schema

NameRequiredDescription
urlNo
noteNo
sourceNo
tablesNo
checkedAtNo
tableCountNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial behavior beyond the sparse readOnlyHint/openWorldHint annotations: caps (10 tables, 200 rows), script-rendered exclusion, robots.txt compliance, 403 on disallowed pages, and x402 payment terms. This is genuinely useful pre-call context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense, front-loaded sentences: output shape first, then limits, then constraints, then pricing. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't explain return values; it still covers limits, script-rendering limitation, robots.txt behavior, and billing, leaving nothing material unsaid.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter with 100% schema description coverage, so the schema already documents 'url' with an example. The description adds no per-parameter detail, which is fine at baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Every HTML table of a web page as JSON') and enumerates the exact output shape (caption, headers, rows). Distinguishable from scraping/extraction siblings like extract, read, and pdf.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly tells the agent this is for HTML tables, not JS-rendered ones, but doesn't name alternatives (e.g., extract, read, ocr) or when to prefer them. Usage context is implied rather than guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tariff_ukTariff UkA
Read-only
Inspect

Returns UK Global Tariff data for a 6–10-digit commodity code via the UK Trade Tariff API (OGL v3): description, third-country duty rate, VAT, measures, and preferential rates for a given origin country. Text search (q) returns matching commodity headings. Coverage: UK only, post-Brexit schedule. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoKeyword search for commodity headings (max 200 characters)
codeNo6–10-digit commodity code (e.g. 8471300000). Omit to use q.
originNoOptional ISO-2 country code for preferential duty lookup (e.g. US, CN)

Output Schema

NameRequiredDescription
urlNo
vatNo
codeNo
sourceNo
validToNo
measuresNo
checkedAtNo
validFromNo
disclaimerNo
parentCodeNo
descriptionNo
thirdCountryDutyNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover read-only and open-world; the description goes well beyond by disclosing the paid x402 flow ($0.003 USDC per successful call, accepted on Base, Solana, Arc) and that failed calls are not charged — critical invocation context. It also names the upstream source and license (UK Trade Tariff API, OGL v3) and the post-Brexit coverage boundary.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the purpose and return fields, then the search mode, then coverage and cost. No filler; each sentence carries distinct information (scope, search semantics, price/coverage).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-shape explanation isn't required, yet the description still previews the fields plus the payment and coverage constraints an agent needs before calling. Nothing material for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds interpretive value: it ties `origin` to preferential-rate lookups for a given country and clarifies that `q` drives heading search rather than code lookup. It does not add format/syntax detail beyond the schema examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource ('Returns UK Global Tariff data for a 6–10-digit commodity code') and enumerates the payload (description, third-country duty, VAT, measures, preferential rates). The 'UK only, post-Brexit schedule' scope line separates it from tariff_us even without naming that sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the two call modes clearly: pass a commodity code for tariff data, use `q` for text search that returns matching headings. It also scopes coverage to the UK schedule and notes the pricing model. It never names tariff_us or states when-not to use this tool, so it stops short of an explicit alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tariff_usTariff UsA
Read-only
Inspect

US HTS lines from the USITC HTS REST API: HTS number, description, general, special and column 2 rates, units and footnotes. Look up by number (hts, e.g. 8471.30) or search words (q; every word must appear in the description). Chapter 99 lines (extra duties such as Section 301 or 232) come back separately. A blank rate on a statistical line means the rate is set on its parent heading. Up to 25 lines. Public domain. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoWords to find in descriptions, e.g. portable data processing (every word must appear)
htsNoHTS number or prefix, e.g. 8471.30 or 8471300100
limitNoLines to return, 1 to 25, default 10

Output Schema

NameRequiredDescription
noteNo
countNo
queryNo
sourceNo
resultsNo
checkedAtNo
disclaimerNo
additionalDutiesNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld annotations, it discloses cost mechanics (no charge for failed calls), a hard result cap of 25 lines, the blank-rate-on-statistical-line convention pointing to the parent heading, and the separated Chapter 99 treatment. This is genuinely useful behavioral context an agent could not get 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and the two lookup modes are front-loaded, and each subsequent sentence carries distinct information (Chapter 99, blank rates, cap, pricing). Dense but not padded; the pricing detail is slightly tangential to invocation but still relevant to calling the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, and the description covers the remaining operational gaps — result cap, empty-rate semantics, Chapter 99 separation and payment 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so hts, q and limit are already documented with examples and defaults. The description reinforces the same details but adds no new syntax or format guidance beyond the schema — the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — US HTS lines fetched from the USITC HTS REST API — and enumerates the returned fields (HTS number, description, general/special/column 2 rates, units, footnotes). The 'US HTS' framing cleanly separates it from the tariff_uk sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly explains the two lookup modes (hts number/prefix vs q search words, with the every-word-must-appear rule) and notes Chapter 99 lines come back separately. It stops short of explicitly naming tariff_uk as the alternative for non-US lookups, but the context for choosing a mode is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

techTechA
Read-only
Inspect

Website technology detection: CMS, e-commerce platform, analytics, tag managers, CDN, hosting, chat, payments, A/B testing, consent tools and the e-mail provider, each with version, confidence 0-100 and evidence, from 231 own fingerprints over the home page, headers, cookies and the domain's MX/TXT records. For lead filtering and competitor research. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesWebsite URL or domain, e.g. example.com

Output Schema

NameRequiredDescription
cdnNo
cmsNo
urlNo
noteNo
countNo
domainNo
statusNo
blockedNo
hostingNo
finalUrlNo
analyticsNo
ecommerceNo
tagManagersNo
technologiesNo
emailProviderNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations by disclosing the pricing and payment model (USDC per successful call via x402 on Base, Solana or Arc, with failures uncharged) and the exact output shape (version, confidence 0-100, evidence). The cost and billing-failure semantics are operationally critical and are not derivable from any structured field.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose and detection categories, and the pricing sentence is information-dense and earns its place. The single long sentence for the detection list is a mild run-on, but every clause carries substantive detail rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter detection tool with an output schema already present, the definition covers everything needed: what is detected, from which sources, the confidence scale and evidence fields, intended use, and the payment model. No material gap remains for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter and schema description coverage is 100%, so the schema already documents the url field with an example. The description adds no syntax, normalization, or accepted-input detail beyond the schema, which is the expected baseline for a fully covered single-param tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (detection) and resource (website technology) and enumerates the detectable categories precisely: CMS, e-commerce, analytics, CDNs, hosting, consent tools, e-mail provider. It also discloses the detection surface (home page, headers, cookies, MX/TXT) and fingerprint count, so an agent can immediately distinguish it from siblings like headers or meta.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States a clear intended context ('For lead filtering and competitor research'), which tells the agent when this tool is appropriate. However, it names no alternatives or exclusions — e.g. it does not clarify whether it complements or overlaps with headers/meta/domain, so selection against siblings still requires inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

text_answerText AnswerA
Read-only
Inspect

Answers a question from the given text only (max 30,000 characters), with supporting quotes and their character offsets. Each quote is checked against the text and dropped if it does not occur in it. answerable is false when the text does not contain the answer. Model output: verify before relying on it. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textYesThe only source for the answer (max 30,000 characters)
questionYesQuestion to answer (max 500 characters)

Output Schema

NameRequiredDescription
noteNo
answerNo
quotesNo
questionNo
checkedAtNo
answerableNo
quotesDroppedNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld annotations, the description discloses real behavioral traits: each quote is verified against the text and dropped if absent, answerable=false signals an unanswerable input, output is model-generated and should be verified, and pricing is per successful call with no charge on failure. These are exactly the quirks 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense, front-loaded, and every sentence earns its place: core behavior first, then quote-verification semantics, then the answerable flag, then the verification caveat and cost. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return fields, and it still covers scope, validation behavior, the answerable signal, trust caveat, and billing. Nothing material 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented, and the description only restates the 30,000-character text limit. It adds no meaning 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Answers a question from the given text only'), and the scope constraint 'from the given text only' cleanly separates it from open-ended siblings like chat, text_faq, or summarize. An agent can tell what this does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the scope ('from the given text only'), but no alternatives are named and no explicit when-to-use/when-not guidance is offered. It does not, for example, route the agent away from chat or text_faq when the answer must be grounded in a provided passage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

text_chunkText ChunkA
Read-only
Inspect

Split a long text into chunks for retrieval (RAG): split on paragraphs, then sentences, then words, each chunk within maxTokens (default 500) with the overlap you ask for (default 50 tokens). Each chunk has its index, text, start and end character offsets and an estimated token count (characters divided by 4, a rough rule for English). Up to 1 MB and 2,000 chunks. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textYesThe text, up to 1 MB (JSON body field)
overlapNoTokens shared by neighbouring chunks, 0 up to maxTokens minus 1, default 50
maxTokensNoLargest chunk in estimated tokens, 20 to 8000, default 500

Output Schema

NameRequiredDescription
countNo
chunksNo
sourceNo
overlapNo
checkedAtNo
maxTokensNo
tokenEstimateNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations: hard caps (1 MB input, 2,000 chunks), the token estimation heuristic (chars/4, English-oriented), payment rail and price, and the fact that failed calls are not charged. Omitting that this is a paid x402 endpoint would have been a real failure; the only gap is no mention of 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the operation and splitting strategy, then packs the limits and output fields, then payment. Dense but each sentence carries operational weight; the pricing sentence is long but necessary for a paid tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is largely redundant, yet the description still enumerates chunk fields (index, text, offsets, token estimate) helpfully. With a simple 3-parameter tool and full annotations, 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents text, overlap, and maxTokens with their bounds and defaults. The description restates the defaults and, usefully, explains that 'tokens' means characters divided by four, which clarifies what maxTokens actually counts. That is a modest addition over a fully documented schema, so baseline 3 fits.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('split a long text into chunks for retrieval') and immediately discloses the splitting hierarchy (paragraphs, then sentences, then words). This cleanly separates it from the many other text_* siblings, which transform or analyze text rather than segment it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The parenthetical '(RAG)' pins down the intended use case, which is the main routing signal an agent needs among ~180 siblings. It does not name a when-not condition or point to a complementary tool such as embed or rerank, 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.

text_diffText DiffA
Read-only
Inspect

Differences between two texts: mode lines, words or chars; the added, removed and unchanged parts with counts, a similarity ratio (2 x unchanged / both texts' units), and a unified diff for lines. Body { a, b, mode }: lines and words up to 50 KB each, chars up to 20 KB each (capped for the Worker's CPU budget). Pure code using the diff package (BSD-3-Clause). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
aYesThe first text (JSON body field)
bYesThe second text (JSON body field)
modeNolines (default), words or chars

Output Schema

NameRequiredDescription
modeNo
partsNo
countsNo
sourceNo
checkedAtNo
identicalNo
similarityNo
unifiedDiffNo
partsTruncatedNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond the readOnly/openWorld annotations: exact cost ($0.002 USDC per successful call), payment rails (x402, Base/Solana/Arc), and the crucial billing rule that failed calls are free. It also discloses the per-mode payload caps and their reason (Worker CPU budget), which is exactly the kind of operational constraint an agent needs before sending a large body.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then details; every sentence carries information (modes, outputs, ratio formula, limits, cost). It is dense and semicolon-chained rather than cleanly structured, which costs one point but there is little waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Explains the return contents (added/removed/unchanged parts with counts, similarity ratio with its formula, unified diff for lines) even though an output schema exists, and covers limits, pricing and failure charging. 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns above that by attaching concrete size ceilings to each mode (50 KB for lines/words, 20 KB for chars) and restating the body shape, which the schema alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('differences between two texts') and immediately enumerates the granularity modes and the outputs produced. No sibling tool in the list does text comparison, 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives actionable selection guidance for the mode parameter by pairing each mode with its size limit, so the agent knows which mode fits a given input size. It stops short of naming when not to use it (e.g., vs text_chunk or validate) or any alternative, so no exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

text_faqText FaqA
Read-only
Inspect

Up to 15 question and answer pairs written from a text (max 30,000 characters). Each answer carries a supporting quote that is checked against the text; pairs whose quote does not occur in the text are dropped. Model-written: review the questions before publishing. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textYesSource text (max 30,000 characters)
countNoNumber of pairs, 1-15 (default 5)

Output Schema

NameRequiredDescription
faqNo
noteNo
countNo
droppedNo
checkedAtNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds rich context beyond the readOnlyHint/openWorldHint annotations: quotes are validated against the text and non-matching pairs are dropped, output is model-generated and needs review, and the x402 payment model is spelled out with the success-only billing rule. This is exactly the value-add the description exists to provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core operation, then layers verification behavior, the review caveat, and pricing in short clauses. Every sentence carries distinct, non-redundant information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be described, and the description covers the operation, the internal validation behavior, the human-review requirement, and the billing model. An agent has everything needed to call and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (text and count) are already documented with limits and defaults. The description restates the 30,000-character cap and the 15-pair ceiling but adds no syntax or semantics beyond the schema; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: generating up to 15 question/answer pairs from a source text, with a hard character limit. An agent can distinguish this from siblings like text_answer or summarize. It stops short of naming which sibling to prefer, but the purpose itself is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied (turn a document into an FAQ), and the 'review the questions before publishing' caveat conveys a caution rather than a when-to-use rule. No alternatives or exclusions are named among the many text_* siblings, so routing 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.

text_grammarText GrammarA
Read-only
Inspect

Grammar, spelling and style check with LanguageTool: each issue with its message, the offending text, its position, up to five suggestions, the rule id and category, plus the corrected text with the first suggestion of each issue applied. Body { text, language }: up to 20 KB, language auto by default. Text is sent only to LanguageTool's public API. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textYesThe text to check, up to 20 KB (JSON body field)
languageNoauto (default), en-US, en-GB, de-DE, fr, es, pt-BR ... as LanguageTool supports them

Output Schema

NameRequiredDescription
countNo
issuesNo
sourceNo
languageNo
checkedAtNo
correctedNo

TDQS

A3.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/openWorldHint annotations, the description discloses genuinely useful behavior: text is sent only to LanguageTool's public API (data-handling transparency), a per-successful-call price of $0.002 USDC paid via x402 across Base/Solana/Arc, and that failed calls are not charged. This covers cost, authentication/payment model and failure billing that 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with the core purpose and packs in output format, parameters, privacy and pricing without filler sentences that could be cut. It is dense and slightly overstuffed, but each clause carries information, so structure is good rather than flawless.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema already exists, yet the description also enumerates the return contents (message, offending text, position, up to five suggestions, rule/category, corrected text), which is somewhat redundant but not harmful. Privacy, size limits and payment model are covered; only edge cases like unsupported languages or rate limits are absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (text, language) are already fully documented. The description usefully restates the 20 KB limit and the 'auto' default for language, but adds no format details or examples beyond the schema, matching the baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource (grammar, spelling and style check) and names the engine (LanguageTool), so an agent immediately knows what it does. It is clearly distinct from sibling text_* utilities like text_readability or text_tone, but it never explicitly routes to or away from any sibling, so it stops short of the 5 benchmark.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance, and no alternative tools are named despite a large family of text_* siblings. The intended use (check grammar in a body of text) is only implied by the purpose statement, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

text_headlinesText HeadlinesA
Read-only
Inspect

Up to 10 headlines for a text or topic in one style: news, seo (under 60 characters, enforced in code), social or email subject. Each headline comes with its character count. Model output: check claims before publishing. Input text max 10,000 characters. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textNoSource text (max 10,000 characters); use this or topic
countNoNumber of headlines, 1-10 (default 5)
styleNonews (default), seo, social or email
topicNoTopic (max 300 characters); use this or text

Output Schema

NameRequiredDescription
styleNo
droppedNo
checkedAtNo
headlinesNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/openWorldHint annotations, it discloses billing behavior ($0.002 USDC per successful call via x402 on Base/Solana/Arc, failed calls free), a hidden code-level constraint (seo style truncation enforced in code), per-headline character counts, and a caution that model output should have its claims verified. This is unusually rich behavioral context for a billing-relevant tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core output, then progressively less critical details (count, caution, limits, pricing). Dense with facts but no filler; the pricing sentence is long but operationally relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the description still covers billing, input caps, style constraints, and a reliability caveat. 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the 3 baseline applies, but the description adds meaning the schema lacks: that only one style may be used per call and that the seo style is programmatically capped at 60 characters. It also restates the 10,000-character text limit already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('up to 10 headlines for a text or topic') plus the exact output variants ('news, seo, social or email subject') and inbound limits. No sibling in the text_* family generates headlines, so there is no ambiguity to resolve.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the usage context (generate headlines from a text or topic, pick exactly one style) and gives style-level guidance, but never states when to reach for this tool versus something like text_outline or text_keywords, nor any prerequisites. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

text_keywordsText KeywordsA
Read-only
Inspect

Keywords and keyphrases from a text by RAKE (Rose et al., 2010) in pure code: phrases between stopwords and punctuation, scored by word degree and frequency, with counts. Stopword lists for en, de, fr, es, it, pt, nl and tr. Body { text, language, limit }: up to 100 KB, limit 1 to 50. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textYesThe text, up to 100 KB (JSON body field)
limitNoKeywords to return, 1 to 50, default 10
languageNoen (default), de, fr, es, it, pt, nl or tr

Output Schema

NameRequiredDescription
countNo
sourceNo
keywordsNo
languageNo
checkedAtNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint and openWorldHint, and the description adds genuinely non-structured context: the 100 KB payload cap, the pricing model ($0.002 USDC per successful call via x402 on Base/Solana/Arc) and that failed calls are free. It stops short of describing failure behavior (unsupported language values, empty text) or latency, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the algorithm and output, then constraints, then pricing; there is very little waste. The prose is dense (algorithm internals, stopword list) but each clause carries information an agent could need.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and full parameter coverage, the description supplies what the structured fields cannot: payload size, cost/auth model, and language support. Only minor gaps remain around error/edge-case behavior when a call is rejected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and every parameter detail in the description (limit 1-50 default 10, language list with en default) is already present verbatim in the schema, so the description adds no new semantic meaning. Baseline 3 is correct here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (keywords and keyphrases) and the exact method (RAKE, Rose et al. 2010), plus what is returned (scored phrases with counts). An agent can trivially distinguish this from summarization/extraction siblings like summarize or extract.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the verb+resource and the supported languages/limits, but there is no explicit when-to-use guidance and no named alternatives (e.g., when to prefer summarize or entities over keyword extraction). Nothing is misleading, but routing 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.

text_outlineText OutlineA
Read-only
Inspect

Builds an outline (title, sections with headings and bullet points, optional word targets) for a topic, or from a text you give. Depth 1-3, at most 12 sections. Model output: review it before use; word targets are estimates. Input text max 10,000 characters. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textNoSource text to outline (max 10,000 characters); use this or topic
depthNoHeading depth 1-3 (default 2)
topicNoTopic to outline (max 300 characters); use this or text
sectionsNoNumber of sections, 1-12 (default 5)

Output Schema

NameRequiredDescription
noteNo
depthNo
titleNo
sectionsNo
checkedAtNo

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld annotations, it discloses several behavioral traits an agent cannot get from structured fields: a pricing model ($0.002 USDC via x402, Base/Solana/Arc), that failed calls are not charged, that output is model-generated and should be reviewed, and that word targets are only estimates. This is exactly the extra context annotations don't cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a tight, front-loaded paragraph: purpose first, then constraints, quality caveat, and price. Every clause carries information, though the repeated '10,000 characters' limit slightly duplicates what the schema already states.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, and it instead covers the decision-relevant gaps: the two input modes, size/depth limits, cost and payment rails, and output quality caveats. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters are already documented with ranges and defaults in the input schema. The description largely restates those bounds (depth 1-3, at most 12 sections, 10,000-character text limit) without adding syntax or interaction guidance, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Builds an outline') and details the output shape (title, sections, headings, bullet points), which clearly separates it from siblings like text_headlines or summarize. However it never names or routes away from an alternative tool, so it stops short of the sibling differentiation a 5 requires.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'for a topic, or from a text you give' phrasing implies the two usage modes and the either/or input choice, but there is no explicit when-to-use versus when-not guidance and no alternatives named among the many text_* siblings. Usage is inferable but not guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

text_paraphraseText ParaphraseA
Read-only
Inspect

Rewrite a text in a chosen tone (neutral, formal, casual, simple, persuasive) and length (shorter, same, longer), keeping its meaning and language. Up to 3 variants. Workers AI (Llama 3.3 70B) writes the rewrite; only the rewritten text is returned. Up to 8,000 characters. The model can change nuance, so read the result. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textYesThe text to rewrite, up to 8,000 characters (JSON body field)
toneNoneutral (default), formal, casual, simple or persuasive
lengthNosame (default), shorter or longer
variantsNoHow many rewrites, 1 to 3, default 1

Output Schema

NameRequiredDescription
toneNo
countNo
modelNo
lengthNo
sourceNo
variantsNo
checkedAtNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and openWorldHint, so this description carries the rest of the burden — and it does well: it names the backing model (Llama 3.3 70B), states that only the rewritten text is returned, flags that nuance can shift, caps input at 8,000 characters, and discloses the paid x402 model with per-success charging. The one omission is any mention of latency or failure modes beyond billing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core transformation, then layered with operational facts (variants, model, output, limit, caveat, price) — each sentence earns its place. The 8,000-character cap is duplicated in the text parameter schema, a minor redundancy that keeps it just under the top band.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an existing output schema, the description need not explain return values, yet it usefully confirms only the rewrite comes back. Combined with annotations, model disclosure, limits, and pricing, an agent has everything needed to invoke this correctly and safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters with their defaults and value sets. The description largely restates the tone and length enumerations rather than adding syntax or edge-case meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource ('Rewrite a text') and immediately scopes it with the two control axes (tone, length) and a meaning-preservation constraint. An agent can distinguish this from text_grammar, text_tone, or translate without opening schemas. It does not, however, explicitly name any sibling tool, so it misses the top band.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the enumerated tones and lengths (e.g. use it to make text shorter or more formal), but there is no explicit when-to-use/when-not guidance and no routing to alternatives such as text_grammar for error correction or translate for language change. The 'read the result' caveat is a quality hint rather than usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

text_readabilityText ReadabilityA
Read-only
Inspect

Readability of a text in pure code: Flesch Reading Ease, Flesch-Kincaid grade, Gunning Fog, SMOG, Coleman-Liau and ARI, with counts of characters, words, sentences, syllables and complex words, and reading and speaking time. English formulas; other languages get counts only. Syllables are counted by a vowel-group heuristic, so scores are estimates. Up to 100 KB. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textYesThe text, up to 100 KB (JSON body field)
languageNoen (default: all formulas); other codes return counts and times only

Output Schema

NameRequiredDescription
countsNo
scoresNo
sourceNo
languageNo
checkedAtNo
readingMinutesNo
speakingMinutesNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations: discloses the vowel-group syllable heuristic as an accuracy caveat, a 100 KB input ceiling, per-call price ($0.002 USDC via x402 on Base/Solana/Arc), and that failed calls are not charged. This is exactly the operational context 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Effectively three dense sentences, front-loaded with the deliverable, then caveats, then cost. Slightly packed (formula list is long) but nearly every clause carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present the description needn't describe return shape; it covers accuracy limits, size limit, language behavior, and pricing. Nothing material for a correct, cost-aware invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both `text` and `language` are already documented. The description restates the same language behavior (English formulas vs. counts-only for other codes) and the 100 KB limit, adding little beyond the schema — baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (readability of a text) and enumerates the exact formulas returned (Flesch, FK grade, Gunning Fog, SMOG, Coleman-Liau, ARI), which distinguishes it cleanly from adjacent text_* siblings like text_grammar or text_keywords.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage is clear from the metric list, and the 'English formulas; other languages get counts only' clause gives one conditional rule. However, it never names an alternative tool or states when to prefer a different text_* sibling, leaving the agent to infer routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

text_toneText ToneA
Read-only
Inspect

Tone analysis of a text (max 10,000 characters): formality 0-1, sentiment, emotion scores, tone labels such as friendly, aggressive or urgent, and short suggestions. The reading level (Flesch-Kincaid grade) is computed in code with a simple syllable count, so treat it as an estimate. Model judgements are not measurements. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textYesText to analyse (max 10,000 characters)

Output Schema

NameRequiredDescription
noteNo
tonesNo
emotionsNo
checkedAtNo
formalityNo
sentimentNo
suggestionsNo
readingLevelNo

TDQS

A3.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover safety (readOnlyHint) and open-world reach, but the description adds substantial non-obvious behavior: the exact cost ($0.002 USDC per successful call), the x402 payment rails (Base/Solana/Arc), and that failed calls are not charged. It also discloses reliability caveats – Flesch-Kincaid is a code estimate and model judgements are not measurements – which meaningfully shape how results 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what it does, then caveats, then pricing – a logical order with no filler. Dense but every clause (limits, estimate disclaimer, pricing) carries information an agent needs, though it is on the longer side for a single-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value details needn't be explained, and the description still covers input limits, output fields, reliability caveats, and the full payment model. The one gap is the absence of any guidance distinguishing it from the sentiment/readability siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and there is a single required parameter whose schema already documents the 10,000-character limit. The description restates the same limit without adding format, encoding, or language semantics, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Tone analysis of a text') and enumerates the concrete outputs (formality 0-1, sentiment, emotion scores, tone labels, suggestions), so the agent knows exactly what it produces. It does not, however, distinguish itself from overlapping siblings like sentiment, text_readability, or moderate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this versus alternatives such as sentiment (sentiment scoring) or text_readability (reading level). The only usage-adjacent note is the 10,000-character cap, which is a constraint rather than routing advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

text_transliterateText TransliterateA
Read-only
Inspect

Transliterate text to Latin ASCII, or make a URL slug from it. Covers Cyrillic, Greek, Turkish, German, Nordic, Polish, Vietnamese and accented Latin letters. Characters with no table entry (Arabic, Hebrew, CJK ...) are kept and listed in unconverted, not guessed. Up to 2,000 characters. Pure code. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
modeNoascii (default) or slug (lowercase words joined by the separator)
textYesThe text, up to 2,000 characters
separatorNoSeparator for slugs: - (default), _ or .

Output Schema

NameRequiredDescription
modeNo
inputNo
resultNo
sourceNo
checkedAtNo
unconvertedNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing the 2,000-character input cap, deterministic 'pure code' behavior, unsupported-script handling, and an explicit price model ($0.002 USDC per successful call via x402 on Base/Solana/Arc, failures free) — payment and billing details an agent cannot infer from schema or annotations. There is a mild tension with openWorldHint=true since the tool is a fixed lookup table with no external calls, but this is an annotation looseness rather than a description contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four compact sentences, front-loaded with the two capabilities, then coverage, then edge-case behavior, then limits and pricing. No filler and no repetition of schema text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't explain return values, and it isn't required to — the 'unconverted' mention even hints at the return shape. Annotations cover safety, schema covers parameters, and the description covers limits, fallback behavior, and cost, leaving nothing material unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3; the description adds value by explaining what 'mode' means in practice (ASCII vs URL slug) and reinforcing the text length limit, which is the parameter most likely to cause a failed call. Separator semantics are left entirely to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Transliterate text to Latin ASCII') and immediately names the second capability ('make a URL slug'), which cleanly separates it from siblings like translate, encode, or the other text_* utilities. The script coverage list further pins down exactly what domain of input it handles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The two modes give clear usage context (ASCII normalization vs URL slug creation) and the description states the fallback rule for unlisted scripts (kept and reported in 'unconverted', not guessed), which is genuine usage guidance. It does not explicitly say when to prefer a sibling such as translate or encode instead, 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.

tidesTidesA
Read-only
Inspect

Tide predictions (high and low water, metres above MLLW, UTC times) for 1 to 7 days at the NOAA station nearest a point, or at a station id, from NOAA CO-OPS (US public domain). Give lat and lon, or a place name. Coverage is US coasts, Great Lakes and territories only; a point more than 100 km from a station is a 404, not charged. search=name lists stations. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
latNoLatitude (with lon)
lonNoLongitude (with lat)
daysNoDays of predictions, 1 to 7, default 2
placeNoPlace name, geocoded (instead of lat and lon)
searchNoName fragment to list stations instead of predictions, at least 3 characters
stationNoNOAA station id, 7 digits, e.g. 8518750 (one of station, place, lat and lon, or search)

Output Schema

NameRequiredDescription
daysNo
countNo
datumNo
pointNo
sourceNo
stationNo
coverageNo
checkedAtNo
predictionsNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, but the description goes well beyond them: it discloses the data source (NOAA CO-OPS, US public domain), coverage limits, the 404-not-charged behavior, the exact price and payment rails (x402 on Base, Solana, Arc), and that failed calls are not charged. This is unusually rich behavioral context for a read-only API tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and front-loaded, starting with what the tool returns and following with inputs, coverage, and pricing. It is slightly redundant — 'not charged' appears twice — but every sentence otherwise earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering safety/open-world status, the description still supplies the missing operational context: geographic coverage, failure semantics, and payment mechanics. Nothing material is left for the agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all six parameters, and the description mostly restates their roles (lat/lon together, place as alternative, search lists stations instead of predictions). It adds no syntax or format detail beyond the schema, matching the baseline of 3 when structured fields carry the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource and output (tide predictions: high and low water, metres above MLLW, UTC times) and a precise scope (1–7 days at the nearest NOAA station or a station id). It clearly distinguishes itself from weather/sun and other environmental 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states concrete input paths (give lat and lon, a place name, or a station id) and usage constraints (US coverage only; points >100 km from a station return 404). No alternative sibling tool is named, but the when-to-use conditions and failure cases are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

timezoneTimezoneA
Read-only
Inspect

The current time in an IANA time zone (its UTC offset and whether DST applies) and, with time and to, the conversion of a local time from one zone to another. Computed in the Worker with the runtime's time zone data; no outside call. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
toNoTarget IANA zone for the conversion
timeNoLocal time to convert, e.g. 2026-03-29T01:30
zoneYesIANA zone, e.g. Europe/Istanbul

Output Schema

NameRequiredDescription
nowNo
zoneNo
sourceNo
checkedAtNo
conversionNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations: discloses that computation is local to the Worker with no outside call, and states the exact price ($0.002 USDC via x402 on Base/Solana/Arc) with the important detail that failed calls are not charged. Cost and payment mechanics are critical behavioral facts 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the two capabilities and followed by execution model and pricing. No filler; every clause (including the failed-call billing rule) 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.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With all three parameters documented in the schema, an output schema present, and safety/pricing covered in the description, an agent has everything needed to select and invoke it correctly. Return value structure is rightly left to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; the description adds real value by coupling the two optional parameters — conversion requires both time and to together, a constraint the schema does not express. It doesn't describe accepted time formats or zone validation beyond what the schema already shows.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names the resource (time in an IANA zone) and two precise operations: reporting current time plus UTC offset/DST status, and converting a local time between zones. The dual mode is spelled out with the exact parameters that trigger each, so an agent can distinguish it from siblings like date_calc or business_days without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"with time and to, the conversion..." gives an explicit trigger condition for the conversion mode, implying zone-only means current time. However, it never names alternatives (date_calc, business_days, holidays) or states when not to use this tool, so routing to siblings 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.

token_metadataToken MetadataA
Read-only
Inspect

Token facts read on chain: for an ERC-20 on 22 EVM chains the name, symbol, decimals, total supply and EIP-1967 proxy implementation; for a Solana SPL mint the decimals, supply, mint and freeze authority. Adds price and liquidity from the token's deepest DexScreener pool on that chain, its logo and websites, and whether the Uniswap default list carries it (EVM). Information only, not financial advice. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
chainYessolana, or an EVM chain: ethereum, base, arbitrum, optimism, polygon, bsc, avalanche, gnosis, linea, scroll, zksync, mantle, blast, celo, fantom, sonic, unichain, opbnb, zora, mode, metis, cronos
addressYesToken contract address (0x...) or Solana mint address

Output Schema

NameRequiredDescription
nameNo
chainNo
marketNo
sourceNo
symbolNo
addressNo
logoUrlNo
decimalsNo
websitesNo
checkedAtNo
disclaimerNo
totalSupplyNo
totalSupplyRawNo
proxyImplementationNo
onUniswapDefaultListNo

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and openWorldHint; the description adds substantial non-obvious behavior: cost ($0.002 USDC per successful call), the payment rails (x402 on Base/Solana/Arc), and crucially that failed calls are not charged. This is exactly the kind of cost/auth context 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core capability and dense with concrete detail; every sentence carries information. The pricing/payment sentence is placed last rather than surfaced earlier, and the paragraph is long, but there is little true filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be re-explained, and annotations cover the safety profile. The description still adds coverage scope, chain support, price/liquidity enrichment, list membership, and the payment model, leaving nothing an agent needs to invoke it correctly unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters, so the schema already documents chain and address fully. The description adds no syntax, format, or edge-case meaning beyond what the schema provides (e.g., no guidance on proxy vs implementation address handling), so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise verb+resource and enumerates the exact fields returned (name, symbol, decimals, supply, EIP-1967 implementation for EVM; decimals, supply, authorities for SPL), plus scope across 22 EVM chains and Solana. This is highly specific, but it never names or contrasts with close siblings like evm_token, solana_token, or token_search, so sibling differentiation is left implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is strongly implied by the detailed coverage statement (you call it when you need on-chain token facts plus price/liquidity), but there is no explicit when-to-use, when-not-to-use, or alternative routing versus evm_token/solana_token/token_search. The only caveat offered is a disclaimer ('Information only, not financial advice'), which is not selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trackersTrackersA
Read-only
Inspect

Third-party script and iframe hosts on a page, each classified (analytics, ads, tag manager, chat, session replay, social, consent, CDN), the cookies its first response sets (names and flags only, never values) and whether a known consent manager is present. Static HTML only: scripts added at run time are not seen. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesPage address, https://…

Output Schema

NameRequiredDescription
urlNo
noteNo
sourceNo
checkedAtNo
categoriesNo
cookiesSetNo
attributionNo
thirdPartiesNo
consentManagerNo
thirdPartyCountNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and openWorldHint, so the description carries real added burden and delivers: the static-HTML limitation (JS-injected scripts invisible), the privacy handling (cookie names/flags, never values), and the full cost model — $0.002 USDC via x402 on Base/Solana/Arc, with failed calls uncharged. That cost and failure-billing detail is exactly what 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the returned payload, then the static-HTML caveat, then pricing — a sensible priority order. The parenthetical category and payment-rail lists make the middle dense, but each clause carries distinct information rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only extraction tool with an output schema, the description still covers scope limitation, privacy behavior, and billing. Nothing an agent needs in order 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (url) with 100% schema description coverage, so the schema already does the work. The description's 'Static HTML only' phrasing implicitly constrains what the URL should point to, but adds no syntax or format detail beyond the schema's 'Page address, https://…'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (third-party script and iframe hosts on a page) and enumerates exactly what is returned: per-host classification across named categories, the cookies the first response sets (names and flags only), and consent-manager presence. An agent can distinguish this from siblings like headers, robots, meta, or links without 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a meaningful scope constraint ('Static HTML only: scripts added at run time are not seen') that tells the agent when results will be incomplete, but it never names an alternative sibling or states an explicit when-to-use trigger. Usage is implied rather than directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transcribeTranscribeA
Read-only
Inspect

Speech-to-text with Whisper large-v3-turbo: send an https audio URL (or base64) up to 10 minutes and 25 MB, get the transcript, language and timestamped segments. Price: $0.01 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlNohttps URL of an audio file (mp3, wav, m4a...)
languageNoOptional ISO code, e.g. en
audio_base64NoAlternative to url

Output Schema

NameRequiredDescription
textNo
modelNo
durationNo
languageNo
segmentsNo

TDQS

A4.2/5.0
Behavior5/5

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 pricing model ($0.01 USDC per successful call via x402 on Base, Solana or Arc), that failed calls are not charged, and the size/duration ceilings that will cause rejection. This is exactly the extra context 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler, front-loaded with the capability, then input limits, output shape and price in order of decision importance. Nothing is repeated from the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and the description still summarizes them briefly. Input limits, payment terms and failure billing are all covered, 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is already 100%, so the baseline is 3, but the description adds real meaning: the 10-minute/25 MB cap applies to the url parameter, and audio_base64 is framed explicitly as an alternative to url, clarifying mutual exclusivity. It does not spell out accepted formats beyond the schema's own examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Speech-to-text with Whisper large-v3-turbo'), states the input form (https audio URL or base64) and the output (transcript, language, timestamped segments). It does not, however, differentiate itself from nearby siblings such as media_transcript or youtube_transcript, which an agent could plausibly confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through hard constraints (audio up to 10 minutes and 25 MB, https URL or base64 alternative), which tell the agent when the tool is applicable. There is no explicit when-to-use versus media_transcript/youtube_transcript guidance and no stated exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

translateTranslateA
Read-only
Inspect

Translation with Llama 3.1 8B: up to 6,000 characters per call, formatting, names, numbers and URLs kept, source language detected when not given. Language codes like en, tr, de, fr, es, ar, zh, or language names. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
textYesUp to 6000 chars
sourceNoOptional source language; detected when omitted
targetYesTarget language code or name, e.g. tr

Output Schema

NameRequiredDescription
modelNo
chunksNo
sourceNo
targetNo
translated_textNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses the 6,000-character ceiling, that formatting/names/numbers/URLs are preserved, that failed calls are not charged, and the exact price ($0.002 USDC) plus payment rails (x402 on Base, Solana, Arc). Cost and billing-failure semantics are exactly the kind of 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then limits, then pricing, in one dense but well-ordered sentence. Every clause carries information, though the run-on structure makes it slightly harder to scan than a couple of shorter sentences would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be described, and the annotations already carry the safety profile. The description covers the remaining agent-relevant unknowns: input size limit, language input formats, source detection, and cost/billing behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, and the description genuinely adds value: a concrete list of acceptable language codes (en, tr, de, fr, es, ar, zh) and confirmation that names are also accepted, plus the auto-detect fallback for 'source'. It adds meaning beyond the terse schema hints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource and names the underlying model ('Translation with Llama 3.1 8B'), which is concrete detail an agent can act on. It does not differentiate from the sibling translate_subtitles, which is the one plausible source of confusion, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: nothing says when to choose this over translate_subtitles or text_transliterate, and no exclusions or prerequisites are given. The only guidance-adjacent content ('source language detected when not given') is really parameter behavior, not tool-selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

translate_subtitlesTranslate SubtitlesA
Read-only
Inspect

Translate an SRT or WebVTT subtitle file into another language. Only the cue text is translated; every cue number, timing line and header is copied exactly, and the output is checked to parse back to the same cues and timings, or it is refused unpaid. Body { subtitles, to, from }: up to 50 KB. Workers AI (Llama 3.1 8B) translates the text, so check it before publishing. Price: $0.004 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
toYesTarget language name or code, e.g. German or de
fromNoSource language, optional; detected by the model when not given
subtitlesYesThe SRT or WebVTT text, up to 50 KB (JSON body field)

Output Schema

NameRequiredDescription
toNo
cuesNo
fromNo
modelNo
formatNo
sourceNo
checkedAtNo
subtitlesNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it discloses that only cue text is translated while numbers, timing lines and headers are copied verbatim, that output is validated to re-parse to the same cues/timings or the call is refused unpaid, the underlying model, and the full billing model including that failed calls are not charged. This is unusually rich behavioral disclosure for a paid mutation-of-nothing compute call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then behavior, then parameters, then price. Dense but every clause carries information; the pricing/payment sentence is the only part an agent might not strictly need for invocation, but it is relevant to call execution.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers input format and size limit, output-preservation guarantees, failure behavior, model quality caveat, and cost/payment rails, and an output schema exists so return values need no explanation. Nothing needed to invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds the 50 KB size ceiling and identifies the body shape { subtitles, to, from }, reinforcing which fields are required and the payload limit. It adds real constraint information rather than restating the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Translate an SRT or WebVTT subtitle file') and constrains the input format, which distinguishes it from the generic sibling `translate`. An agent can tell from the first clause exactly what this does and what it accepts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The format restriction (SRT/WebVTT) implicitly tells the agent when this tool applies versus plain `translate`, but there is no explicit when-to-use or when-not-to-use statement naming the alternative. Usage is inferable but not spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ttsTtsA
Read-only
Inspect

Text-to-speech as base64 audio. Default: MeloTTS WAV, up to 2,000 chars, in English, Spanish, French, Chinese, Japanese or Korean, $0.002. quality "high": Deepgram Aura-2 natural English voices as MP3, up to 500 chars, $0.02. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
langNoen, es, fr, zh, ja or ko (default en)
textYesUp to 2000 chars (500 with quality high)
voiceNoquality high only: luna, asteria, athena, helena, hera, aurora, orion, apollo, arcas, atlas, hermes, zeus, draco, odysseus
qualityNostandard (default, $0.002) or high (Aura-2 English, $0.02)

Output Schema

NameRequiredDescription
langNo
mimeNo
modelNo
qualityNo
audio_base64No

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/openWorldHint annotations by disclosing the pricing model, the x402/USDC payment rail and supported chains (Base, Solana, Arc), and crucially that failed calls are not charged. Length limits per quality tier are also surfaced, giving an agent real operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then layered with engine/language/price detail in three dense sentences. Every sentence carries load, though the price ($0.002) is effectively stated twice, a minor redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, yet the description helpfully confirms the base64-audio format. Combined with language, voice, quality, and payment coverage, 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds value the schema lacks: it maps the 'quality' parameter to concrete cost tiers ($0.002 vs $0.02) and model backends, and restates the char-cap distinction (2000 vs 500) that drives the parameter choice.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (text-to-speech) and the output form (base64 audio), with concrete detail on default engine (MeloTTS WAV) and the high-quality path (Deepgram Aura-2 MP3). This is immediately distinguishable from the reverse-direction sibling 'transcribe'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear comparative context: standard is the default at $0.002/2000 chars, while quality 'high' targets natural English voices at 10x cost and a 500-char cap. It stops short of explicit when-not-to-use or naming a sibling alternative, but the tradeoff is well framed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

uk_companyUk CompanyA
Read-only
Inspect

A UK company from Companies House, by number (00445790) or name (best match plus up to four alternatives): status, incorporation date, registered office, SIC codes, accounts and confirmation-statement due dates with overdue flags, current officers (max 20), persons with significant control (max 10) and the last 10 filings with links. Crown copyright, Open Government Licence v3.0. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoAlternative to number: a company name (best match, up to 5 candidates)
numberNoCompanies House number, e.g. 00445790 or SC123456

Output Schema

NameRequiredDescription
sourceNo
companyNo
filingsNo
licenseNo
personsNo
accountsNo
officersNo
checkedAtNo
matchedByNo
confirmationStatementNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnlyHint and openWorldHint; the description goes well beyond by disclosing the pricing model ($0.003 USDC per successful call via x402 on Base/Solana/Arc, failed calls free) and licensing (Crown copyright, OGL v3.0). It also bounds the response contents (max 20 officers, max 10 PSCs, last 10 filings), which materially shapes expectations for 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then the input options, then the returned fields, then cost/licensing. Every sentence carries information, though the dense field enumeration in the first sentence runs long and the copyright line is arguably secondary for tool selection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, yet the description still summarises the record shape usefully. Combined with the disclosed payment mechanics and input forms, an agent has everything needed to invoke it correctly; the only omission is sibling routing, which affects usage rather than completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented, giving a baseline of 3. The description restates the number-vs-name duality and the "best match plus up to four alternatives" behaviour, which mirrors rather than extends the schema ("best match, up to 5 candidates"), adding no syntax or format detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ("A UK company from Companies House, by number or name") and enumerates the exact payload (status, incorporation date, officers, PSC, filings). It is clearly distinguishable from siblings like company_registry or uk_insolvency by naming the UK Companies House source and its record shape.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It tells the agent how to choose an input form ("by number (00445790) or name (best match plus up to four alternatives)"), which is real guidance. But it never says when to prefer this over company_registry (pan-registry lookup) or uk_insolvency, nor any precondition such as requiring a valid Companies House number. Usage is implied, not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

uk_insolvencyUk InsolvencyA
Read-only
Inspect

UK company insolvency notices (administrations, liquidations, winding-up petitions) from The Gazette, via our nightly cache of the last 8 days. Filter by company name or number, postcode prefix, notice type and date. Returns company, number, notice type, date, nature of business, postcode and notice link, with the cache timestamp and any missing days; up to 10 rows can add Companies House status, SIC codes and address. Price: $0.003 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qNoCompany name text or company number
typeNoadministration, liquidation, winding-up, petition, creditors, or a notice name or 4-digit code
limitNoMax rows, 1-200, default 50
sinceNoYYYY-MM-DD, default 7 days ago, clipped to the cache window
postcodeNoPostcode prefix, e.g. SW1 or M1 1AE

Output Schema

NameRequiredDescription
queryNo
totalNo
sourceNo
resultsNo
returnedNo
coveredDaysNo
missingDaysNo
dataTimestampNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld annotations, it discloses non-obvious behavior: data is served from a nightly cache limited to the last 8 days, the response includes a cache timestamp and any missing days, rows beyond 10 lack Companies House enrichment, and a per-success pricing model (x402 on Base/Solana/Arc) with failures uncharged. This is exactly the kind of operational 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly packed sentences, front-loaded with the resource and source, then scope, then return/pricing. Nothing is redundant and each sentence carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though an output schema exists, the description adds the cache-window constraint, missing-day reporting, per-row enrichment limits and the payment model. For a paid, cached data-retrieval tool this covers everything an agent needs before calling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents q, type, limit, since and postcode. The description restates the same filters (name/number, postcode prefix, type, date) without adding syntax or format detail beyond the schema, so it earns the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (UK company insolvency notices – administrations, liquidations, winding-up petitions) and names the source (The Gazette), which cleanly distinguishes it from siblings like company_registry, uk_company and enforcement_actions. An agent can identify exactly 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It describes the available filters and the 8-day nightly cache window, which implicitly tells the agent when this data is relevant, but it never states when to prefer this over alternatives (e.g. uk_company for broader registry data) or any exclusions. Usage is implied rather than guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

unitsUnitsA
Read-only
Inspect

Convert a value between units of length, area, volume (US customary and metric, cooking measures), mass, speed, pressure, energy, power, data size (SI and binary), time and temperature. Factors are exact to the definitions in NIST SP 811 (international inch and pound, US gallon, calorie IT, Btu IT, mechanical horsepower). An unknown unit is a 400 that lists every supported unit. Pure code, no outside source. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
toYesUnit to convert to, of the same kind, e.g. km, lb, C, MB
fromYesUnit to convert from, e.g. mi, kg, F, GiB, kWh, gal_us
valueYesThe number to convert, up to 1e15 in size

Output Schema

NameRequiredDescription
toNo
fromNo
valueNo
familyNo
resultNo
sourceNo
checkedAtNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations the description adds real value: exactness provenance (NIST SP 811), pricing per successful call with the payment rail, a no-charge guarantee for failed calls, and defined 400 behavior on unknown units. However it also declares 'Pure code, no outside source', which conflicts with the openWorldHint=true annotation and would lead an agent to the opposite expectation about external dependencies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense paragraph that front-loads the capability and category coverage, then layers exactness, error behavior, and price in decreasing priority. Every sentence carries information, though the NIST/factor-definition sentence is arguably detail the agent rarely needs at call time.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and the description covers the remaining gaps an agent cares about: supported unit families, same-kind matching, error semantics, and cost. Only the openWorldHint tension keeps it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and all three parameters carry examples (mi, kg, F, GiB, gal_us / km, lb, C, MB), so the schema already does the heavy lifting. The description contributes only indirect semantics — that from/to must be 'of the same kind' and that unknown names yield a unit-listing 400 — which is useful but not additive enough to exceed the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource — 'Convert a value between units' — and then enumerates the full category set (length, area, volume, mass, speed, pressure, energy, power, data size, time, temperature). That enumeration lets an agent separate this from near neighbors like crypto_convert, fx (currency) and distance without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Category enumeration implicitly defines the usable domain, and 'An unknown unit is a 400 that lists every supported unit' gives an explicit recovery path when the agent guesses a unit name wrong. What is missing is any explicit routing statement naming an alternative tool (e.g. fx for currency or crypto_convert for tokens), so it stops short of 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

uptimeUptimeA
Read-only
Inspect

Checks up to five public URLs now from this Worker: up or down, HTTP status, the final URL after up to five redirects, response time in milliseconds, whether TLS was used, content type and length, and the Cloudflare data centre (colo) the check ran from. A down site is a valid 200 answer with up false and the error, not a failure. The check is one GET per hop, so it measures the first response, not the full page. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlsYesComma-separated public http or https URLs, 1 to 5

Output Schema

NameRequiredDescription
coloNo
countNo
checksNo
sourceNo
checkedAtNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond readOnlyHint/openWorldHint: pricing ($0.002 USDC per successful call via x402 on Base, Solana or Arc), that failed calls are not charged, that a down site returns a valid 200 with up=false rather than an error, and the redirect/TLS/content-type output shape. These are exactly the non-obvious traits 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense paragraph, front-loaded with the verb, scope and output list, then behavior and price. Every sentence carries information, though the output-field enumeration could be trimmed since an output schema exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema, the description need not explain return values but volunteers the down-site semantics anyway. Combined with pricing, redirect cap and per-hop measurement, 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already states the comma-separated 1-to-5 URL constraint, so the description mostly restates it. It does add value by tying the five-URL cap to the per-call price model, which clarifies the cost of a multi-URL call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Checks up to five public URLs now from this Worker') and immediately enumerates the returned facts, so the agent knows exactly what operation this is. It is clearly separable from siblings like pagespeed, headers, ssl or redirects by its liveness-check focus.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'now' and 'one GET per hop, so it measures the first response, not the full page' clauses implicitly route full-page-performance needs to pagespeed, and the five-URL cap is stated. There is no explicit when-not statement or named alternative, 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.

user_agentUser AgentA
Read-only
Inspect

Parses a User-Agent string: browser and version, rendering engine, operating system and version, device type, vendor and model, CPU, and whether it is a known crawler (Googlebot, Bingbot, GPTBot, ClaudeBot, PerplexityBot, AhrefsBot and a few more) with its name. Optional Client Hints values (platform, mobile, model) are reported as given. Parsed with ua-parser-js 1.x (MIT). Pure code, no outside request. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
uaYesThe User-Agent string, up to 1000 characters
chModelNoClient Hints model, up to 60 characters (optional)
chMobileNoClient Hints mobile flag, e.g. ?1 (optional)
chPlatformNoClient Hints platform, e.g. Windows (optional)

Output Schema

NameRequiredDescription
osNo
cpuNo
isBotNo
deviceNo
engineNo
sourceNo
botNameNo
browserNo
platformNo
checkedAtNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, it discloses the parser/library version (ua-parser-js 1.x), local determinism, the pricing model ($0.002 USDC via x402 on Base/Solana/Arc), and the important fact that failed calls are not charged. One mild tension: `openWorldHint: true` sits awkwardly with "Pure code, no outside request," but the operational details are still far richer than 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the parse result, then execution model, then price — a sensible order. It is dense but nearly every clause carries information; the price/payment sentence is slightly long but justified for a paid endpoint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, all four parameters are documented, and the description still covers the things structure cannot: cost, billing semantics, failure behavior, and determinism. 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description earns extra by explaining that Client Hints (platform, mobile, model) are reported "as given" rather than inferred, and by naming the crawler set that `ua` detection covers. That adds meaning the schema's terse field descriptions do not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ("Parses a User-Agent string") and then enumerates exactly what comes back: browser/version, engine, OS, device type, vendor/model, CPU, crawler detection. It names concrete crawler examples (Googlebot, GPTBot, ClaudeBot), so an agent can distinguish this from neighbors like `ai_crawlers` or `headers` without reading the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the input condition clear (you supply a UA string; Client Hints are optional and echoed as given) and rules out external lookups with "Pure code, no outside request." However, it never states when to prefer this over `ai_crawlers` or `headers`, or when client-hint values should be included, so routing 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.

us_geocodeUs GeocodeA
Read-only
Inspect

Geocodes a one-line US address with the US Census Bureau: matched address, coordinates, county, state, census tract and block group. Addresses that do not match answer 404 (not charged). Public domain data. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
addressYesOne line, US address

Output Schema

NameRequiredDescription
latNo
lonNo
queryNo
stateNo
countyNo
sourceNo
checkedAtNo
stateFipsNo
blockGroupNo
countyFipsNo
attributionNo
censusTractNo
matchedAddressNo

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld annotations, the description discloses failure behavior (404 on non-match), billing behavior (failed calls not charged), payment method (x402 on Base/Solana/Arc), price, and data licensing. This is substantive behavioral context an agent needs before invoking a paid external API.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: purpose first, then output fields, failure behavior, data source, and pricing. Every sentence adds operational value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value details are optional, though the description still summarizes key outputs. It covers failure handling, cost, payment requirements, and data source, which is complete for a single-parameter geocoding tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% description coverage for the single address parameter, so baseline is 3. The description restates that it accepts a one-line US address but adds no format examples or validation details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: geocoding a one-line US address via the US Census Bureau. It also names the returned fields, making the tool's scope concrete and distinguishable from generic address parsing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: it is for one-line US addresses and uses the US Census Bureau. It also explains that non-matching addresses return 404, but it does not compare against sibling tools such as geocode or address_parse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

uuidUuidA
Read-only
Inspect

Identifiers and secrets from the Web Crypto random source: UUID v4 and v7, ULID, nanoid (size and alphabet), random passwords (length and character classes) and passphrases (words from the EFF large wordlist, CC BY 3.0 US), up to 100 per call. mode=parse validates a UUID or ULID and reports its version, variant and the time embedded in v1, v6, v7 and ULID. Nothing is stored. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
kindNouuid4 (default), uuid7, ulid, nanoid, password or passphrase
modeNogenerate (default) or parse
sizeNonanoid length, 2 to 256, default 21
countNoHow many, 1 to 100, default 1
valueNomode parse: a UUID or ULID to check
wordsNopassphrase words, 3 to 10, default 6
lengthNopassword length, 8 to 128, default 20
classesNopassword classes: lower, upper, digits, symbols (comma-separated, default all)
alphabetNonanoid alphabet, 2 to 64 distinct characters (optional)
separatorNopassphrase separator, up to 3 characters, default -

Output Schema

NameRequiredDescription
kindNo
modeNo
countNo
sourceNo
valuesNo
checkedAtNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already declaring readOnlyHint and openWorldHint, the description goes well beyond them: it discloses 'Nothing is stored' (consistent with readOnlyHint), a hard cap of 100 per call, the exact price ($0.002 USDC), the x402 payment rails (Base, Solana, Arc), and that failed calls are free. That is precisely the auth/cost/limit context 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what gets generated, then parse mode, then storage and pricing. Every clause carries information — no filler, and the payment caveat is placed where an agent will see it before acting.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Ten optional parameters, an output schema and annotations are all accounted for: parameter meaning is in the schema, return shape in the output schema, and cost/storage/limits in the description. 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description still adds meaning by tying kind to concrete outputs, naming the EFF large wordlist (CC BY 3.0 US) as the passphrase source, and restating that size/alphabet, length/classes and count bound the generators. It does not explain the string-typed numeric ranges beyond the schema, so it is not a full 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the exact resource (UUID v4/v7, ULID, nanoid, passwords, passphrases) and the two verbs implied by kind/mode (generate, parse), enumerating every output family. No sibling in the list produces identifiers or secrets, so it is trivially distinguishable from tools like hash or encode that might superficially seem related.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly describes both operating modes: the default generate behavior and mode=parse for validating an existing UUID/ULID and extracting version/variant/embedded time. It gives good context but never explicitly states when not to use it or points at a named alternative, 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.

validateValidateA
Read-only
Inspect

Checks the check digit and structure of an identifier with no network call: ISBN-10 and ISBN-13 (with ISBN-10 to 13 conversion), EAN-8, UPC-A, EAN-13 and GTIN-14 (with the GS1 prefix country), VIN (manufacturer code, region, model year), IMEI, ISIN (country) and a generic Luhn number. type=auto detects the type. Up to 50 comma-separated values give a results array. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
typeNoauto (default), isbn, ean, vin, imei, isin or luhn
valueYesThe identifier, or up to 50 comma-separated

Output Schema

NameRequiredDescription
typeNo
countNo
partsNo
validNo
valueNo
invalidNo
resultsNo
subtypeNo
checkedAtNo
normalisedNo
expectedCheckDigitNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint, the description discloses that validation is offline (no network call), that batching returns a results array, the batch cap of 50, and the pricing model ($0.002 USDC per successful call via x402 on Base/Solana/Arc, failures uncharged) – operational facts annotations cannot convey. Minor tension with openWorldHint=true, though that hint refers to external data scope rather than network I/O.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense paragraph that leads with what is validated and the supported identifier families, then adds batching and pricing. Every clause adds new information – the type list, the derived fields (GS1 prefix country, VIN manufacturer/region/model year, ISIN country), and payment terms are all useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values needn't be explained, and pricing/payment/rate-limit behaviour is covered. Only the absence of explicit sibling routing (e.g., when to prefer vin or iban) keeps it short of complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description largely restates it: 'type=auto detects the type' mirrors the schema's 'auto (default)', and 'up to 50 comma-separated' mirrors the value description. Baseline 3 is appropriate since the schema already carries the parameter detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('checks check digit and structure') plus a fully enumerated set of resources (ISBN-10/13, EAN-8, UPC-A, EAN-13, GTIN-14, VIN, IMEI, ISIN, Luhn), which lets an agent distinguish it from siblings like vin, iban, lei or uuid without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operating context: no network call (offline/local checksum validation), type=auto detects the type, and up to 50 comma-separated values can be batched. It never explicitly routes the agent away from overlapping siblings such as vin or isin, so the when-not guidance 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.

vatVatA
Read-only
Inspect

EU VAT number check: format and checksum are tested locally first (a malformed number is rejected with HTTP 400 and no charge), then the official VIES service answers whether it is valid, with the registered name and address where the member state discloses them. All 27 EU states plus Northern Ireland (XI). Source: European Commission VIES. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
numberYesVAT number with its 2-letter country prefix, e.g. DE811907980 (EL for Greece, XI for Northern Ireland). Spaces and dots are ignored
countryNoOptional: country code, if the number has no prefix

Output Schema

NameRequiredDescription
nameNo
inputNo
validNo
checksNo
sourceNo
addressNo
formattedNo
vatNumberNo
viesStatusNo
countryCodeNo
requestDateNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Far exceeds the readOnly/openWorld annotations: it discloses the two-stage local-then-VIES flow, that malformed input yields HTTP 400 with no charge, that only successful calls cost $0.002 USDC via x402 on specific chains, and that name/address disclosure is member-state dependent. This is exactly the operational context an agent needs for 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core capability before the validation mechanics and pricing. Dense but nearly every clause carries information (charging model, coverage, source); the billing details are slightly verbose but relevant for a paid tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, yet the description still usefully summarizes what comes back (validity plus registered name/address where disclosed). Combined with coverage, source, failure behavior, 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the number format, country prefix, EL/XI conventions, and the optional country fallback. The description adds no syntax or format detail beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('EU VAT number check') and immediately differentiates itself from adjacent identifier tools (iban, eori, lei, swift) by naming the VIES source and the exact coverage set (27 EU states + XI). An agent knows precisely what is being validated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operative context: it validates a VAT number, it covers the EU/Northern Ireland, and it returns registered name/address where disclosed. However it never explicitly names a sibling alternative or a when-not-to-use condition (e.g. vs. iban or eori lookups).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vinVinA
Read-only
Inspect

Decodes up to 20 vehicle identification numbers with NHTSA's vPIC database (US public domain): make, model, model year, trim, body class, vehicle type, engine (cylinders, displacement, fuel), drive type, plant country and city, manufacturer, and the decoder's own error code and message. The check digit is verified for North American VINs. A VIN that is not 17 characters without I, O or Q is a 400. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
vinYesOne VIN, or up to 20 separated by commas (17 characters, no I, O or Q)

Output Schema

NameRequiredDescription
countNo
sourceNo
vehiclesNo
checkedAtNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations: discloses the NHTSA vPIC source and public-domain status, that the check digit is verified for North American VINs, that malformed VINs are 400s, the per-call price of $0.002 USDC, the payment rails (x402 via Base/Solana/Arc), and that failed calls are not charged. Annotations alone provided none of this payment/auth context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core verb and resource, then fields, then validation, then pricing. Dense but every sentence carries useful information, though the payment-rail enumeration (Base, Solana or Arc) is slightly more detail than strictly needed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, yet the description still names the key fields. It also covers the cost/payment model, which is essential for an agent deciding whether to invoke a paid tool. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single param's description already states batch size, length, and excluded characters. The description mostly restates that, adding only the 400-on-invalid behavior, which is error semantics rather than parameter meaning. Baseline 3 is appropriate when the schema carries the param semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (decodes) and resource (VIN / NHTSA vPIC), names the vendor and licensing (US public domain), and enumerates the returned fields. No sibling tool overlaps with VIN decoding, so an agent can distinguish this immediately (recalls is adjacent but distinct).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear input constraints: 17 characters, no I/O/Q, up to 20 comma-separated, and declares that malformed VINs return a 400. It lacks an explicit when-to-use vs. alternative statement, but no sibling competes for this use case; the constraint guidance is strong context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

violationsViolationsA
Read-only
Inspect

US workplace and environmental enforcement cases by company, state and date: OSHA inspections with penalties (US Department of Labor API) and EPA enforcement cases (EPA ECHO), each with the official record link. Filters: company, state, since, minPenalty, source. Public records matched by name, not a finding of guilt. Price: $0.005 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
limitNoMax rows, 1-100, default 20
sinceNoYYYY-MM-DD, default one year ago
stateNo2-letter US state code
sourceNoosha, epa or osha,epa (default both)
companyNoCompany or establishment name (part of it is enough)
minPenaltyNoMinimum penalty in US dollars

Output Schema

NameRequiredDescription
notesNo
queryNo
totalNo
caveatNo
resultsNo
sourcesNo
returnedNo

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond readOnlyHint/openWorldHint the description discloses genuinely decision-relevant behavior: records are name-matched public filings and not a finding of guilt, the cost is $0.005 USDC per successful call via x402 on Base/Solana/Arc, and failed calls are not charged. Payment model and legal caveat are exactly the kind of 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource and sources, then filters, then caveat, then price — a sensible ordering with little filler. The semicolon-chained final sentence is dense, but 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.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, open-world query tool with a full output schema and 100% parameter coverage, the description supplies the essentials: sources, filters, disclaimer, and billing semantics. The only substantive omission is differentiation from the enforcement_actions/screen_debarment siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all six parameters are already documented (types, formats, defaults). The description restates the filter names but adds no syntax or format detail beyond the schema, which is the expected baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource (US workplace and environmental enforcement cases) plus the two upstream sources (OSHA inspections via the DOL API, EPA ECHO cases) and the key axis of the data (company/state/date). An agent knows exactly what body of records this returns. It does not, however, distinguish itself from near siblings such as enforcement_actions or screen_debarment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The filter list (company, state, since, minPenalty, source) implies the intended usage pattern, but there is no explicit when-to-use, when-not-to-use, or named alternative. With siblings like enforcement_actions and screen_debarment in the catalog, the absence of any routing guidance is a real gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vulnsVulnsA
Read-only
Inspect

Known vulnerabilities of one package version in the OSV database: npm, PyPI, crates.io, Go or Maven. Each advisory has its id, CVE aliases, summary, severity, fixed versions and a link. The count is the full number; up to 20 are listed. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
nameYesPackage name
versionYesExact version, e.g. 4.17.20
ecosystemYesnpm, PyPI, crates.io, Go or Maven

Output Schema

NameRequiredDescription
nameNo
noteNo
countNo
sourceNo
versionNo
checkedAtNo
ecosystemNo
vulnerabilitiesNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, but the description adds meaningful behavior beyond them: up to 20 advisories are listed while 'the count is the full number' (truncation semantics), and the pricing model ($0.002 per successful call via x402, failed calls not charged). That pricing and truncation detail is genuinely useful and not captured in 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, followed by output shape and pricing. Each sentence carries distinct information with no obvious filler, though the output-format sentence is partly redundant given the output schema exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and the safety profile is covered by readOnlyHint/openWorldHint. The description nonetheless closes the main gaps an agent would care about: truncation behavior and the paid-call cost model. Nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented in the schema and the baseline is 3. The description restates the ecosystem list but adds no format hints (e.g. version string expectations) beyond what the schema's 'Exact version, e.g. 4.17.20' already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and scope ('Known vulnerabilities of one package version in the OSV database') with the supported ecosystems enumerated. It is clearly distinguishable from siblings like package or package_search by being vulnerability-focused, though it never names an alternative to route between them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by requiring 'one package version' and listing valid ecosystems, so an agent can infer the required inputs. However, there is no explicit when-to-use vs when-not guidance and no mention of the related package/audit siblings, leaving routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weatherWeatherA
Read-only
Inspect

Weather for a place or a coordinate: current conditions, the next 48 hours and 7 days (temperature, precipitation, wind, symbol). Forecast from MET Norway, cached until its own expiry time. Attribution: Data from MET Norway (CC BY 4.0). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
latNoLatitude, -90 to 90
lonNoLongitude, -180 to 180
placeNoOr a place name, geocoded first

Output Schema

NameRequiredDescription
dailyNo
unitsNo
hourlyNo
sourceNo
currentNo
locationNo
checkedAtNo
attributionNo
forecastUpdatedAtNo

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses behavior well beyond the annotations: it is a paid tool ($0.002 USDC per successful call via x402 on Base, Solana, or Arc), failed calls are free, results are cached until the provider's expiry, and attribution/licensing terms are given. These details materially affect whether and how an agent should 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and forecast scope are front-loaded in the first sentence, followed by source, caching, attribution, and pricing in descending order of operational importance. It is somewhat dense but no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return value structure need not be explained. Given the annotations (read-only, open-world) and the paid nature of the tool, the description covers everything an agent needs: inputs, horizon, source, caching, cost, payment methods, and failure billing policy.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents lat, lon, and place. The description adds only marginal semantic value by framing them as alternatives ('a place or a coordinate'), which hints at mutual exclusivity but does not state it explicitly. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool returns: current conditions plus 48-hour and 7-day forecasts with specific data fields (temperature, precipitation, wind, symbol), and the accepted input forms (place or coordinate). It does not explicitly distinguish itself from sibling weather_alerts, keeping it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage by saying 'for a place or a coordinate' and by listing the forecast horizon, but it offers no explicit when-to-use/when-not guidance and never mentions the sibling weather_alerts tool for severe-weather scenarios. Adequate but with clear gaps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_alertsWeather AlertsA
Read-only
Inspect

Active US National Weather Service alerts for a state or a point: event, severity, urgency, area, onset, end of the event (ends), expiry of this message (expires), headline and instruction (cut to 400 characters). Attribution: National Weather Service, public domain. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
latNoLatitude, with lon, instead of state
lonNoLongitude
stateNoTwo-letter US state, e.g. CA

Output Schema

NameRequiredDescription
countNo
queryNo
alertsNo
sourceNo
checkedAtNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/openWorldHint annotations: discloses that instruction text is truncated at 400 characters, clarifies the distinction between 'ends' (end of the event) and 'expires' (expiry of the message), states attribution/public-domain status, and — critically — documents the x402 payment model ($0.002 USDC per successful call, no charge on failure) across Base, Solana, or Arc. The payment requirement is behavioral context an agent cannot get from any structured field.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense sentence front-loads the resource and scope, then the field list, then the commercial terms. It is longer than minimal but every clause carries operational weight (truncation limit, field meanings, price); the attribution/price clauses could be split for readability but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations, a 100%-covered schema, and an output schema that carries return structure, the description covers purpose, scope, truncation, and payment. The remaining gap is operational edge-case guidance — behavior when no alerts are active, or when both state and lat/lon are given — which is minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds the key constraint the schema cannot convey: since all three params are optional, 'for a state or a point' signals that at least one location form must be supplied, and 'a state or a point' frames lat/lon as the alternative addressing mode.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and scope: 'Active US National Weather Service alerts for a state or a point,' and enumerates the payload fields (event, severity, urgency, area, onset, ends, expires, headline, instruction). An agent immediately knows this is active NWS alert data, not a forecast, distinguishing it from the sibling `weather` tool by scope and source.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'for a state or a point,' which tells the agent the two supported query modes, but there is no explicit when-to-use vs. when-not, no mention of when to prefer `weather` for forecasts, and no guidance on choosing state vs. lat/lon granularity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web_archiveWeb ArchiveA
Read-only
Inspect

Wayback Machine snapshots of a public URL: the capture closest to a date, the list of captures in a date range (one per day, max 500), first and last capture, and mode=diff, which compares the latest snapshot's text with the live page (added and removed lines, max 200 each). Diff is line-based and does not parse JavaScript-rendered pages. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
toNoCaptures up to this date, YYYY-MM-DD (optional)
urlYesPublic http(s) URL to look up
dateNoClosest snapshot to this date, YYYY-MM-DD (optional)
fromNoCaptures from this date, YYYY-MM-DD (optional)
modeNocaptures (default) or diff

Output Schema

NameRequiredDescription
urlNo
lastNo
firstNo
sourceNo
closestNo
capturesNo
checkedAtNo
captureCountNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/openWorldHint annotations, the description discloses the payment model (x402, $0.002 USDC on Base/Solana/Arc), that failed calls are free, and hard result caps (500 captures, 200 added/removed diff lines). These are exactly the operational facts 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core capability, then caveats, then price; every clause carries information. It is a dense single long sentence chain with no whitespace/breaks, which slightly hurts scannability but wastes no words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be described, and the description still covers capabilities, per-mode behavior, limits, rendering caveats and cost. Nothing material for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description goes further by explaining what each mode returns (per-day captures vs. added/removed lines, the default of captures) and that the date params drive closest-vs-range behavior. This adds semantic meaning over the terse schema strings.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete verb+resource ('Wayback Machine snapshots of a public URL') and enumerates the four query shapes (closest-to-date, range list, first/last, diff). It is unambiguous what the tool does, but it never distinguishes itself from plausible siblings like pagespeed, sitemap, redirects or text_diff.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by mode descriptions ('diff ... compares the latest snapshot's text with the live page'), and the JS-rendering caveat hints when diff is inappropriate, but there is no explicit 'use this when... instead of X' guidance. The agent must infer that diff replaces a separate comparison tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web_security_txtWeb Security TxtA
Read-only
Inspect

Fetches a site's security.txt from /.well-known/security.txt (fallback /security.txt) and parses the RFC 9116 fields: contacts, expiry (and whether it has expired), encryption, policy, acknowledgments, languages, canonical, hiring. Reports whether it is PGP-signed and lists RFC problems found. Public http(s) hosts only. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesPublic http(s) URL of the site (any page; only the host is used)

Output Schema

NameRequiredDescription
hostNo
hiringNo
policyNo
sourceNo
expiredNo
expiresNo
contactsNo
locationNo
problemsNo
canonicalNo
checkedAtNo
compliantNo
pgpSignedNo
encryptionNo
acknowledgmentsNo
preferredLanguagesNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already declaring readOnlyHint and openWorldHint, the description adds substantial behavioral context: fallback path, RFC field parsing, expired-expiry reporting, PGP signature status, RFC problem listing, and full payment semantics including per-success pricing and no charge for failures. This is far beyond what the annotations provide and contains no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core fetch-and-parse behavior, then cleanly appends the payment model in a separate sentence. Every clause carries information useful for correct invocation or interpretation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return shape need not be explained, and the description still covers the important output categories: parsed fields, expiry status, PGP status, and RFC problems. Combined with annotations that cover safety and openness, plus explicit payment behavior, nothing material is missing for this niche tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the single url parameter is already documented as accepting any page URL while using only the host. The description reinforces the public http(s) constraint but adds no new syntax or format details 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: fetches and parses a site's security.txt from standardized paths. It names the RFC 9116 fields it extracts and distinguishes the operation from generic web-fetch or header tools by focusing on the security.txt standard.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the resource and path, and it gives a clear constraint: public http(s) hosts only. However, it does not explicitly say when to choose this over sibling tools such as headers, ssl, robots, or dns, nor does it name alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wikiWikiA
Read-only
Inspect

A Wikipedia page summary by title or search words, in any language: title, short description, summary, page URL, thumbnail and Wikidata ID. For organisations, people and places, Wikidata facts: official website, inception, country, headquarters, date of birth and coordinates. Text is CC BY-SA 4.0 with attribution. Not found returns search suggestions. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
qYesA page title, or search words
langNoWikipedia language code, default en

Output Schema

NameRequiredDescription
urlNo
langNo
factsNo
foundNo
titleNo
sourceNo
licenseNo
summaryNo
checkedAtNo
thumbnailNo
wikidataIdNo
attributionNo
descriptionNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnly and openWorld; the description adds substantive context: cost of $0.002 USDC per successful call, x402 payment across Base/Solana/Arc, failed calls not charged, not-found returns search suggestions, and CC BY-SA attribution obligations. These are real operational facts an agent cannot derive 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose and return fields, then facts, then licensing and price; nearly every clause carries information. It is dense but organized, with only mild terseness in the 'inception, country, headquarters' enumeration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the return-shape detail is redundant but harmless; safety is covered by annotations. Missing pieces are minor: no guidance on ambiguous titles versus search terms, and no note on language-code fallback behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both q and lang are already documented in the schema. The description's 'in any language' and 'by title or search words' restate rather than extend the schema definitions, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and retrieval mode ('A Wikipedia page summary by title or search words') plus the exact payload (title, summary, URL, thumbnail, Wikidata ID). That scope cleanly separates it from wikidata and wiki_pageviews siblings without needing their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: it describes what data comes back for people/places/organisations, letting an agent infer this is the tool for encyclopedic lookups. There is no explicit when-to-use or when-not-to-use guidance, and no named alternative (e.g. wikidata) for structured-fact-only queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wikidataWikidataA
Read-only
Inspect

Runs a read-only SPARQL query on Wikidata and returns the rows as plain values (ASK returns true or false). Only SELECT and ASK are allowed; updates are refused. A LIMIT of 100 or less is added when missing. 8-second limit. Data is CC0. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
queryYesA SPARQL SELECT or ASK query, up to 4,000 characters

Output Schema

NameRequiredDescription
rowsNo
queryNo
sourceNo
columnsNo
rowCountNo
checkedAtNo
attributionNo

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnlyHint and openWorldHint, yet the description adds substantial behavioral context: an automatic LIMIT of 100 when missing, an 8-second execution cap, CC0 licensing, a $0.002 per-successful-call price via x402, and no charge on failed calls. These are exactly the traits an agent needs to plan and budget the call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what the tool does, then packs the operational constraints (allowed query types, auto-LIMIT, timeout, license, price) into tightly worded sentences. Every clause carries distinct, actionable information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no elaboration, and the description correctly focuses on constraints and cost. For a single-parameter read tool it covers query-type restrictions, timeout, result capping, licensing, and billing—nothing an agent needs is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single 'query' parameter is already documented as a SPARQL SELECT or ASK string up to 4,000 characters. The description reinforces the SELECT/ASK restriction and the auto-LIMIT behavior but adds no syntax or formatting 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Runs a read-only SPARQL query on Wikidata.' This is clearly distinct from siblings like wiki and wiki_pageviews, which handle article content/pageview stats rather than structured SPARQL data. An agent can route here unambiguously.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operating context: only SELECT and ASK are allowed and updates are refused, which tells the agent what kinds of queries are valid. It does not, however, explicitly name when to prefer this over sibling tools (wiki, wiki_pageviews) or state exclusions, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wiki_pageviewsWiki PageviewsA
Read-only
Inspect

Daily or monthly page views (user agent, all access) for up to 5 articles in one Wikipedia edition over a date range of at most one year, with totals, peak day and the change between the first and second half. mode=top lists the most viewed articles of one day. Data lags by about a day; bots and unknown agents are excluded. Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
toNoLast day YYYY-MM-DD (default 2 days ago)
fromNoFirst day YYYY-MM-DD (default 30 days before to); for mode=top, the day
modeNoseries (default) or top (most viewed articles of the day in from)
projectNoWikipedia edition, e.g. en.wikipedia (default), de.wikipedia
articlesNoComma list of up to 5 article titles, underscores or spaces (mode=series)
granularityNodaily (default) or monthly

Output Schema

NameRequiredDescription
toNo
fromNo
sourceNo
projectNo
articlesNo
checkedAtNo
changeNoteNo
granularityNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnly and openWorld, but the description adds substantial behavior beyond that: data lags by about a day, bots/unknown agents are excluded, and the output includes totals, peak day, and a first-vs-second-half change. It also discloses pricing ($0.002 USDC via x402) and that failed calls are not charged, which is critical invocation context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then mode behavior, then lag/selection caveats, then pricing. Every sentence carries information, though the first sentence is densely packed with parenthetical clauses that could be split for scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter tool with an output schema, it covers everything an agent needs: input limits, mode semantics, data freshness, exclusion rules, and cost/charging behavior. Since an output schema exists, it needn't detail return shape, and its summary of aggregates is a bonus.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3, but the description adds meaning the schema lacks: the hard limits (up to 5 articles, date range at most one year) and the mode-dependent role of 'from'. These constraints materially affect correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (daily/monthly page views for Wikipedia articles) with scope qualifiers (up to 5 articles, one edition, date range). An agent can immediately tell this apart from the sibling 'wiki' and 'wikidata' tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly explains the two modes ('series' vs 'mode=top lists the most viewed articles of one day') and the operating constraints (max 5 articles, date range at most one year). It does not explicitly route the agent away from the sibling 'wiki'/'wikidata' tools, so it falls 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.

youtube_transcriptYoutube TranscriptA
Read-only
Inspect

A YouTube video's captions as plain text and timestamped segments, with the video's title, channel, duration, views, publish date, chapters and the list of caption languages. Accepts watch, youtu.be, shorts, embed and live links or the 11-character id; pick a language with lang (default English, else the first track). Auto-generated captions contain recognition errors. A video without captions is a 404 and not charged. Price: $0.01 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

NameRequiredDescriptionDefault
urlYesA YouTube link (watch, youtu.be, shorts, embed or live), or the 11-character video id
langNoCaption language code, e.g. en, de or pt-BR (optional)

Output Schema

NameRequiredDescription
noteNo
videoNo
sourceNo
checkedAtNo
transcriptNo
availableLanguagesNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations: discloses that auto-generated captions contain recognition errors, that a captionless video returns 404, that only successful calls are charged ($0.01 USDC via x402 on Base/Solana/Arc), and that failures are free. These payment, failure, and data-quality caveats are exactly the non-obvious traits 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the output content and then covers inputs, caveats, and pricing in tight sentences with no filler. The opening sentence is a long run-on list, but every clause carries selection-relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid, open-world tool with an output schema already covering return structure, the description still supplies the essentials an agent needs to call it correctly: input formats, language defaulting, the 404-on-no-captions case, and the billing model. Nothing material is left unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics not in the schema: lang defaults to English and otherwise falls back to the first available track, and it restates the accepted link formats for url. This enriches parameter behavior beyond the schema's field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource (a YouTube video's captions) and enumerates the exact outputs (plain text, timestamped segments, title, channel, duration, views, chapters, caption languages). An agent can immediately tell this is YouTube-specific and distinct from generic siblings like transcribe or media_transcript.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear input context (accepts watch, youtu.be, shorts, embed, live links or the 11-character id) and the language-selection rule (lang defaults to English, else the first track). It does not, however, explicitly route the agent away from siblings such as transcribe or media_transcript, so the when-not guidance is missing.

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. 1 tool update
    • Changedmedia_transcript1 field changed
      • changedInput schema / properties / maxMinutes / description
        Previous value: -"Longest media to accept, 1 to 120, default 5. Sets the price: a direct audio or video file up to 25 MB $0.001 + $0.0006 per minute, other links $0.002 + $0.0009 per minute"New value: +"Longest media to accept, 1 to 120, default 5. Sets the price: a direct audio or video file up to 25 MB $0.002 + $0.0006 per minute, other links $0.002 + $0.0009 per minute"
  2. 1 tool update
    • Changedmedia_transcript1 field changed
      • changedInput schema / properties / maxMinutes / description
        Previous value: -"Longest media to accept, 1 to 120, default 5. Sets the price: $0.0009 per minute (at least $0.002)"New value: +"Longest media to accept, 1 to 120, default 5. Sets the price: a direct audio or video file up to 25 MB $0.001 + $0.0006 per minute, other links $0.002 + $0.0009 per minute"
  3. 2 tool updates
    • Changedchat1 field changed
      • changedInput schema / properties / max_tokens / description
        Previous value: -"Up to 2048 (default 1024)"New value: +"Up to 1024 (default 1024)"
    • Changedtts7 fields changed
      • addedInput schema / properties / lang
        Added value: +{
        +  "description": "en, es, fr, zh, ja or ko (default en)",
        +  "type": "string"
        +}
      • addedInput schema / properties / quality
        Added value: +{
        +  "description": "standard (default, $0.002) or high (Aura-2 English, $0.02)",
        +  "type": "string"
        +}
      • changedInput schema / properties / text / description
        Previous value: -"Up to 1000 chars"New value: +"Up to 2000 chars (500 with quality high)"
      • changedInput schema / properties / voice / description
        Previous value: -"luna, asteria, athena, helena, hera, aurora, orion, apollo, arcas, atlas, hermes, zeus, draco, odysseus"New value: +"quality high only: luna, asteria, athena, helena, hera, aurora, orion, apollo, arcas, atlas, hermes, zeus, draco, odysseus"
      • addedOutput schema / properties / lang
        Added value: +{}
      • addedOutput schema / properties / quality
        Added value: +{}
      • removedOutput schema / properties / voice
        Removed value: -{}
  4. 3 tool updates
    • Changedcrypto_address_risk3 fields changed
      • changedInput schema / properties / addresses / description
        Previous value: -"Array of up to 20 cryptocurrency addresses to screen"New value: +"Up to 20 addresses, comma-separated (a JSON array also works in a POST-style client)"
      • addedOutput schema / properties / listsChecked
        Added value: +{}
      • addedOutput schema / properties / note
        Added value: +{}
    • Addedresearch_papers
    • Addedscreen_export_control
  5. 21 tool updates
    • Changedcode_explain8 fields changed
      • addedOutput schema / properties / checkedAt
        Added value: +{}
      • addedOutput schema / properties / functions
        Added value: +{}
      • addedOutput schema / properties / issues
        Added value: +{}
      • addedOutput schema / properties / language
        Added value: +{}
      • addedOutput schema / properties / lines
        Added value: +{}
      • addedOutput schema / properties / note
        Added value: +{}
      • addedOutput schema / properties / steps
        Added value: +{}
      • addedOutput schema / properties / summary
        Added value: +{}
    • Changeddefi_chains7 fields changed
      • addedOutput schema / properties / chain
        Added value: +{}
      • removedOutput schema / properties / chainFilter
        Removed value: -{}
      • addedOutput schema / properties / chains
        Added value: +{}
      • removedOutput schema / properties / chainsCount
        Removed value: -{}
      • addedOutput schema / properties / count
        Added value: +{}
      • removedOutput schema / properties / topChains
        Removed value: -{}
      • removedOutput schema / properties / topProtocolsOnChain
        Removed value: -{}
    • Changeddomain_typosquat9 fields changed
      • addedOutput schema / properties / checkedAt
        Added value: +{}
      • addedOutput schema / properties / domain
        Added value: +{}
      • addedOutput schema / properties / looked
        Added value: +{}
      • addedOutput schema / properties / note
        Added value: +{}
      • addedOutput schema / properties / registered
        Added value: +{}
      • addedOutput schema / properties / resolving
        Added value: +{}
      • addedOutput schema / properties / source
        Added value: +{}
      • addedOutput schema / properties / unresolved
        Added value: +{}
      • addedOutput schema / properties / variantsGenerated
        Added value: +{}
    • Changedemail_reply7 fields changed
      • addedOutput schema / properties / body
        Added value: +{}
      • addedOutput schema / properties / checkedAt
        Added value: +{}
      • addedOutput schema / properties / intent
        Added value: +{}
      • addedOutput schema / properties / language
        Added value: +{}
      • addedOutput schema / properties / note
        Added value: +{}
      • addedOutput schema / properties / subject
        Added value: +{}
      • addedOutput schema / properties / tone
        Added value: +{}
    • Changedenforcement_actions2 fields changed
      • addedOutput schema / properties / feedsUnavailable
        Added value: +{}
      • addedOutput schema / properties / since
        Added value: +{}
    • Changedevm_simulate1 field changed
      • addedOutput schema / properties / token
        Added value: +{}
    • Changedjson_repair6 fields changed
      • addedOutput schema / properties / checkedAt
        Added value: +{}
      • addedOutput schema / properties / fixes
        Added value: +{}
      • addedOutput schema / properties / problems
        Added value: +{}
      • addedOutput schema / properties / usedModel
        Added value: +{}
      • addedOutput schema / properties / valid
        Added value: +{}
      • addedOutput schema / properties / value
        Added value: +{}
    • Changedpm_history1 field changed
      • addedOutput schema / properties / truncated
        Added value: +{}
    • Changedpm_holders2 fields changed
      • addedOutput schema / properties / note
        Added value: +{}
      • addedOutput schema / properties / question
        Added value: +{}
    • Changedpm_search2 fields changed
      • addedOutput schema / properties / count
        Added value: +{}
      • removedOutput schema / properties / total
        Removed value: -{}
    • Changedpm_wallet2 fields changed
      • addedOutput schema / properties / portfolioValue
        Added value: +{}
      • addedOutput schema / properties / truncated
        Added value: +{}
    • Changedregex_generate6 fields changed
      • addedOutput schema / properties / checkedAt
        Added value: +{}
      • addedOutput schema / properties / explanation
        Added value: +{}
      • addedOutput schema / properties / flags
        Added value: +{}
      • addedOutput schema / properties / note
        Added value: +{}
      • addedOutput schema / properties / pattern
        Added value: +{}
      • addedOutput schema / properties / tests
        Added value: +{}
    • Changedsec_13f5 fields changed
      • addedOutput schema / properties / entriesInFiling
        Added value: +{}
      • addedOutput schema / properties / note
        Added value: +{}
      • addedOutput schema / properties / totalValueSource
        Added value: +{}
      • removedOutput schema / properties / totalValueThousands
        Removed value: -{}
      • addedOutput schema / properties / totalValueUsd
        Added value: +{}
    • Changedsql_generate8 fields changed
      • addedOutput schema / properties / checkedAt
        Added value: +{}
      • addedOutput schema / properties / columns
        Added value: +{}
      • addedOutput schema / properties / dialect
        Added value: +{}
      • addedOutput schema / properties / explanation
        Added value: +{}
      • addedOutput schema / properties / note
        Added value: +{}
      • addedOutput schema / properties / readOnly
        Added value: +{}
      • addedOutput schema / properties / sql
        Added value: +{}
      • addedOutput schema / properties / tables
        Added value: +{}
    • Changedtariff_us2 fields changed
      • addedOutput schema / properties / additionalDuties
        Added value: +{}
      • addedOutput schema / properties / note
        Added value: +{}
    • Changedtext_answer7 fields changed
      • addedOutput schema / properties / answer
        Added value: +{}
      • addedOutput schema / properties / answerable
        Added value: +{}
      • addedOutput schema / properties / checkedAt
        Added value: +{}
      • addedOutput schema / properties / note
        Added value: +{}
      • addedOutput schema / properties / question
        Added value: +{}
      • addedOutput schema / properties / quotes
        Added value: +{}
      • addedOutput schema / properties / quotesDropped
        Added value: +{}
    • Changedtext_faq5 fields changed
      • addedOutput schema / properties / checkedAt
        Added value: +{}
      • addedOutput schema / properties / count
        Added value: +{}
      • addedOutput schema / properties / dropped
        Added value: +{}
      • addedOutput schema / properties / faq
        Added value: +{}
      • addedOutput schema / properties / note
        Added value: +{}
    • Changedtext_headlines4 fields changed
      • addedOutput schema / properties / checkedAt
        Added value: +{}
      • addedOutput schema / properties / dropped
        Added value: +{}
      • addedOutput schema / properties / headlines
        Added value: +{}
      • addedOutput schema / properties / style
        Added value: +{}
    • Changedtext_outline5 fields changed
      • addedOutput schema / properties / checkedAt
        Added value: +{}
      • addedOutput schema / properties / depth
        Added value: +{}
      • addedOutput schema / properties / note
        Added value: +{}
      • addedOutput schema / properties / sections
        Added value: +{}
      • addedOutput schema / properties / title
        Added value: +{}
    • Changedtext_tone8 fields changed
      • addedOutput schema / properties / checkedAt
        Added value: +{}
      • addedOutput schema / properties / emotions
        Added value: +{}
      • addedOutput schema / properties / formality
        Added value: +{}
      • addedOutput schema / properties / note
        Added value: +{}
      • addedOutput schema / properties / readingLevel
        Added value: +{}
      • addedOutput schema / properties / sentiment
        Added value: +{}
      • addedOutput schema / properties / suggestions
        Added value: +{}
      • addedOutput schema / properties / tones
        Added value: +{}
    • Changedtoken_metadata9 fields changed
      • removedOutput schema / properties / liquidityUsd
        Removed value: -{}
      • removedOutput schema / properties / listSource
        Removed value: -{}
      • addedOutput schema / properties / market
        Added value: +{}
      • removedOutput schema / properties / onMajorList
        Removed value: -{}
      • addedOutput schema / properties / onUniswapDefaultList
        Added value: +{}
      • removedOutput schema / properties / priceUsd
        Removed value: -{}
      • addedOutput schema / properties / proxyImplementation
        Added value: +{}
      • addedOutput schema / properties / totalSupply
        Added value: +{}
      • addedOutput schema / properties / totalSupplyRaw
        Added value: +{}
  6. 82 tool updates
    • Addedaddress_parse
    • Addedairports
    • Addedapps_search
    • Addedbooks
    • Addedbusiness_days
    • Addedcode_explain
    • Addedcompany_br
    • Addedcompany_fr
    • Addedcompany_ticker
    • Addedcrypto_address_risk
    • Addedcrypto_convert
    • Addedcrypto_funding
    • Addedcrypto_indicators
    • Addedcrypto_news
    • Addeddate_calc
    • Addeddefi_chains
    • Addeddex_pools
    • Addeddomain_typosquat
    • Addedecon_indicator
    • Addedemail_reply
    • Addedencode
    • Addedenforcement_actions
    • Addedeori
    • Addedevm_simulate
    • Addedfinance_loan
    • Addedfood
    • Addedgithub_search
    • Addedhash
    • Addedhn_search
    • Addedinvoice_extract
    • Addedjson_repair
    • Addedjwt_decode
    • Addedlaw_ecfr
    • Addedlaw_federal_register
    • Addedpackage_search
    • Addedplaces
    • Addedpm_activity
    • Addedpm_event
    • Addedpm_history
    • Addedpm_holders
    • Addedpm_leaderboard
    • Addedpm_orderbook
    • Addedpm_resolved
    • Addedpm_search
    • Addedpm_trades
    • Addedpm_wallet
    • Addedregex_generate
    • Addedresume_parse
    • Addedrobots
    • Addedrpc_evm
    • Addedrpc_solana
    • Addedscreen_debarment
    • Addedsec_13f
    • Addedsql_generate
    • Addedsubdomains
    • Addedswift
    • Addedtariff_uk
    • Addedtariff_us
    • Addedtext_answer
    • Addedtext_chunk
    • Addedtext_diff
    • Addedtext_faq
    • Addedtext_grammar
    • Addedtext_headlines
    • Addedtext_keywords
    • Addedtext_outline
    • Addedtext_paraphrase
    • Addedtext_readability
    • Addedtext_tone
    • Addedtext_transliterate
    • Addedtides
    • Addedtoken_metadata
    • Addedtoken_search
    • Addedtranslate_subtitles
    • Addedunits
    • Addeduptime
    • Addeduser_agent
    • Addeduuid
    • Addedvin
    • Addedweb_archive
    • Addedweb_security_txt
    • Addedwiki_pageviews
  7. 1 tool update
    • Changedmedia_transcript2 fields changed
      • changedInput schema / properties / maxMinutes / description
        Previous value: -"Longest media to accept, 1 to 120, default 10. Sets the price: $0.10 per started 10 minutes"New value: +"Longest media to accept, 1 to 120, default 5. Sets the price: $0.0009 per minute (at least $0.002)"
      • changedInput schema / properties / speakers / description
        Previous value: -"1 = label the speakers (optional)"New value: +"1 = label the speakers (optional; $0.01 per minute of maxMinutes)"
  8. 2 tool updates
    • Addedmedia_transcript
    • Changedyoutube_transcript20 fields changed
      • removedInput schema / properties / id
        Removed value: -{
        -  "description": "The 11-character video id, instead of url",
        -  "type": "string"
        -}
      • changedInput schema / properties / lang / description
        Previous value: -"Preferred caption language code, e.g. en, de or pt-BR; default the video's original language"New value: +"Caption language code, e.g. en, de or pt-BR (optional)"
      • changedInput schema / properties / url / description
        Previous value: -"A YouTube link (watch, youtu.be, shorts or embed), or leave it out and use id"New value: +"A YouTube link (watch, youtu.be, shorts, embed or live), or the 11-character video id"
      • addedInput schema / required
        Added value: +[
        +  "url"
        +]
      • addedOutput schema / properties / availableLanguages
        Added value: +{}
      • removedOutput schema / properties / channel
        Removed value: -{}
      • removedOutput schema / properties / durationSeconds
        Removed value: -{}
      • removedOutput schema / properties / method
        Removed value: -{}
      • removedOutput schema / properties / segmentCount
        Removed value: -{}
      • removedOutput schema / properties / segments
        Removed value: -{}
      • removedOutput schema / properties / segmentsTruncated
        Removed value: -{}
      • removedOutput schema / properties / text
        Removed value: -{}
      • removedOutput schema / properties / textChars
        Removed value: -{}
      • removedOutput schema / properties / title
        Removed value: -{}
      • removedOutput schema / properties / track
        Removed value: -{}
      • removedOutput schema / properties / tracks
        Removed value: -{}
      • addedOutput schema / properties / transcript
        Added value: +{}
      • removedOutput schema / properties / truncated
        Removed value: -{}
      • addedOutput schema / properties / video
        Added value: +{}
      • removedOutput schema / properties / videoId
        Removed value: -{}
  9. 8 tool updates
    • Addedcrypto_whales
    • Addedflights
    • Addedmarkdown
    • Addedpagespeed
    • Addedproducthunt
    • Addedsanctions
    • Addedssl
    • Addedyoutube_transcript
  10. 1 tool update
    • Changedsec_search2 fields changed
      • addedOutput schema / properties / order
        Added value: +{}
      • addedOutput schema / properties / totalIsLowerBound
        Added value: +{}
  11. 3 tool updates
    • Removeddocker
    • Changedlogo1 field changed
      • changedInput schema / properties / domain / description
        Previous value: -"Domain name, e.g. www.python.org"New value: +"Domain name, e.g. stripe.com"
    • Removedprediction_kalshi
  12. 48 tool updates
    • Addedai_crawlers
    • Addedbtc_address
    • Addedbtc_fees
    • Addedbtc_tx
    • Addedcerts
    • Addedclassify
    • Addedclinical_trials
    • Addedcompany_registry
    • Addedcron
    • Addedcrypto_fear_greed
    • Addeddefi_dex_volume
    • Addeddefi_fees
    • Addeddescribe_image
    • Addeddisasters
    • Addeddistance
    • Addeddocker
    • Addedearthquakes
    • Addedentities
    • Addedeu_tenders
    • Addedevm_contract
    • Addedevm_decode
    • Addedfda_adverse_events
    • Addedfda_label
    • Addedgithub_issues
    • Addedgithub_releases
    • Addedgrants
    • Addedjson_validate
    • Addedllms_txt
    • Addedlogo
    • Addedmoderate
    • Addednpi
    • Addedperps_account
    • Addedperps_markets
    • Addedphone
    • Addedprediction_kalshi
    • Addedprediction_polymarket
    • Addedpubmed
    • Addedredact
    • Addedsec_events
    • Addedsec_search
    • Addedsecurities_id
    • Addedstackoverflow
    • Addedsun
    • Addedtimezone
    • Addedtrackers
    • Addedus_geocode
    • Addedweather_alerts
    • Addedwikidata
  13. 86 tool updates
    • Addedarxiv
    • Changedaudit1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "accessibility": {},
        +    "security": {},
        +    "seo": {},
        +    "tech": {},
        +    "url": {}
        +  },
        +  "type": "object"
        +}
    • Changedchat5 fields changed
      • changedInput schema / properties / max_tokens / description
        Previous value: -"Up to 2048"New value: +"Up to 2048 (default 1024)"
      • changedInput schema / properties / messages / description
        Previous value: -"[{role, content}]"New value: +"Chat history as [{role: system|user|assistant, content}], up to 50 messages"
      • addedInput schema / properties / prompt / description
        Added value: +"A single user message (use this or messages), up to 24,000 characters"
      • addedInput schema / properties / temperature / description
        Added value: +"0 to 2, default 0.6; lower is more predictable"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "model": {},
        +    "response": {},
        +    "usage": {}
        +  },
        +  "type": "object"
        +}
    • Changedcongress1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checkedAt": {},
        +    "note": {},
        +    "query": {},
        +    "results": {},
        +    "returned": {},
        +    "scanned": {},
        +    "source": {},
        +    "total": {}
        +  },
        +  "type": "object"
        +}
    • Changedcontacts1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "domain": {},
        +    "emails": {},
        +    "name": {},
        +    "socials": {},
        +    "tech": {}
        +  },
        +  "type": "object"
        +}
    • Addedcrypto_candles
    • Addedcrypto_orderbook
    • Addedcrypto_price
    • Addeddefi_stablecoins
    • Addeddefi_tvl
    • Addeddefi_yields
    • Changeddns1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "a": {},
        +    "aaaa": {},
        +    "bimi": {},
        +    "caa": {},
        +    "checkedAt": {},
        +    "dkim": {},
        +    "dmarc": {},
        +    "domain": {},
        +    "exists": {},
        +    "issues": {},
        +    "mailGrade": {},
        +    "mailScore": {},
        +    "mtaSts": {},
        +    "mx": {},
        +    "ns": {},
        +    "nullMx": {},
        +    "source": {},
        +    "spf": {},
        +    "tlsRpt": {},
        +    "txt": {}
        +  },
        +  "type": "object"
        +}
    • Addeddoi
    • Changeddomain1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "ageDays": {},
        +    "availability": {},
        +    "createdAt": {},
        +    "daysUntilExpiry": {},
        +    "dns": {},
        +    "dnssec": {},
        +    "domain": {},
        +    "expiresAt": {},
        +    "nameServers": {},
        +    "note": {},
        +    "rdapAvailable": {},
        +    "registered": {},
        +    "registeredDomain": {},
        +    "registrantCountry": {},
        +    "registrantOrganisation": {},
        +    "registrar": {},
        +    "registrarIanaId": {},
        +    "source": {},
        +    "statusCodes": {},
        +    "updatedAt": {}
        +  },
        +  "type": "object"
        +}
    • Changedemail_check1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "counts": {},
        +    "disposable": {},
        +    "disposableListSize": {},
        +    "domain": {},
        +    "email": {},
        +    "freeProvider": {},
        +    "mx": {},
        +    "mxHosts": {},
        +    "normalized": {},
        +    "note": {},
        +    "reasons": {},
        +    "results": {},
        +    "role": {},
        +    "suggestion": {},
        +    "total": {},
        +    "verdict": {}
        +  },
        +  "type": "object"
        +}
    • Changedembed1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "dimensions": {},
        +    "embeddings": {},
        +    "model": {}
        +  },
        +  "type": "object"
        +}
    • Changedens1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "address": {},
        +    "avatar": {},
        +    "checkedAt": {},
        +    "disclaimer": {},
        +    "input": {},
        +    "name": {},
        +    "primaryName": {},
        +    "records": {},
        +    "registered": {},
        +    "resolver": {},
        +    "sources": {}
        +  },
        +  "type": "object"
        +}
    • Addedevm_address
    • Addedevm_allowance
    • Addedevm_balance
    • Addedevm_block
    • Addedevm_call
    • Addedevm_logs
    • Addedevm_nft
    • Changedevm_token1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "address": {},
        +    "chain": {},
        +    "checkedAt": {},
        +    "codeBytes": {},
        +    "codeScanned": {},
        +    "decimals": {},
        +    "disclaimer": {},
        +    "flags": {},
        +    "hasCode": {},
        +    "name": {},
        +    "note": {},
        +    "owner": {},
        +    "proxy": {},
        +    "riskyFunctions": {},
        +    "sources": {},
        +    "symbol": {},
        +    "totalSupply": {}
        +  },
        +  "type": "object"
        +}
    • Addedevm_transfers
    • Addedevm_tx
    • Changedevm_wallet1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "address": {},
        +    "chains": {},
        +    "checkedAt": {},
        +    "disclaimer": {},
        +    "notes": {},
        +    "sources": {},
        +    "totalUsd": {}
        +  },
        +  "type": "object"
        +}
    • Changedexif1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "bytesRead": {},
        +    "camera": {},
        +    "checkedAt": {},
        +    "exposure": {},
        +    "finalUrl": {},
        +    "format": {},
        +    "gps": {},
        +    "hasExif": {},
        +    "hasGps": {},
        +    "height": {},
        +    "note": {},
        +    "orientation": {},
        +    "takenAt": {},
        +    "url": {},
        +    "width": {}
        +  },
        +  "type": "object"
        +}
    • Addedextract
    • Addedfeed
    • Changedfx1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "amount": {},
        +    "base": {},
        +    "converted": {},
        +    "date": {},
        +    "rates": {},
        +    "source": {}
        +  },
        +  "type": "object"
        +}
    • Changedgas1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "baseFeeGwei": {},
        +    "block": {},
        +    "chain": {},
        +    "checkedAt": {},
        +    "costBasis": {},
        +    "disclaimer": {},
        +    "erc20Transfer": {},
        +    "nativePriceUsd": {},
        +    "nativeSymbol": {},
        +    "priorityFeeGwei": {},
        +    "source": {},
        +    "transfer": {}
        +  },
        +  "type": "object"
        +}
    • Addedgeocode
    • Changedgithub_repo1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "archived": {},
        +    "checkedAt": {},
        +    "commitsLast4Weeks": {},
        +    "contributors": {},
        +    "createdAt": {},
        +    "defaultBranch": {},
        +    "description": {},
        +    "fork": {},
        +    "forks": {},
        +    "languages": {},
        +    "latestRelease": {},
        +    "license": {},
        +    "openIssues": {},
        +    "openPullRequests": {},
        +    "primaryLanguage": {},
        +    "pushedAt": {},
        +    "repo": {},
        +    "source": {},
        +    "stars": {},
        +    "topics": {},
        +    "url": {},
        +    "watchers": {}
        +  },
        +  "type": "object"
        +}
    • Addedgithub_user
    • Changedheaders1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checkedAt": {},
        +    "cookies": {},
        +    "finalUrl": {},
        +    "grade": {},
        +    "headers": {},
        +    "leaks": {},
        +    "score": {},
        +    "status": {},
        +    "url": {}
        +  },
        +  "type": "object"
        +}
    • Changedhiring1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "results": {},
        +    "thread": {},
        +    "total": {}
        +  },
        +  "type": "object"
        +}
    • Changedhn1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checkedAt": {},
        +    "query": {},
        +    "results": {},
        +    "returned": {},
        +    "source": {},
        +    "total": {}
        +  },
        +  "type": "object"
        +}
    • Addedholidays
    • Changediban1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "account": {},
        +    "bankCode": {},
        +    "bankLookup": {},
        +    "bban": {},
        +    "branchCode": {},
        +    "checks": {},
        +    "count": {},
        +    "country": {},
        +    "countryCode": {},
        +    "expectedLength": {},
        +    "iban": {},
        +    "ibanElectronic": {},
        +    "ibanPrint": {},
        +    "input": {},
        +    "invalid": {},
        +    "nationalCheck": {},
        +    "results": {},
        +    "valid": {}
        +  },
        +  "type": "object"
        +}
    • Changedimage1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "image_base64": {},
        +    "mime": {},
        +    "model": {}
        +  },
        +  "type": "object"
        +}
    • Addedip
    • Changedlang1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "alternatives": {},
        +    "checkedAt": {},
        +    "confidence": {},
        +    "count": {},
        +    "iso639_1": {},
        +    "language": {},
        +    "languageName": {},
        +    "length": {},
        +    "results": {},
        +    "script": {}
        +  },
        +  "type": "object"
        +}
    • Changedlei1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "alternatives": {},
        +    "children": {},
        +    "directParent": {},
        +    "jurisdiction": {},
        +    "kycSummary": {},
        +    "legalName": {},
        +    "lei": {},
        +    "matchScore": {},
        +    "matchedBy": {},
        +    "query": {},
        +    "registration": {},
        +    "source": {},
        +    "status": {},
        +    "ultimateParent": {}
        +  },
        +  "type": "object"
        +}
    • Changedlinks1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checkedAt": {},
        +    "finalUrl": {},
        +    "links": {},
        +    "note": {},
        +    "scope": {},
        +    "totals": {},
        +    "url": {}
        +  },
        +  "type": "object"
        +}
    • Changedmacro1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checkedAt": {},
        +    "license": {},
        +    "series": {},
        +    "source": {}
        +  },
        +  "type": "object"
        +}
    • Changedmarkets1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "disclaimer": {},
        +    "poweredBy": {},
        +    "results": {},
        +    "total": {}
        +  },
        +  "type": "object"
        +}
    • Changedmarkets_brief1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "disclaimer": {},
        +    "market": {},
        +    "recentActivity": {},
        +    "summary": {}
        +  },
        +  "type": "object"
        +}
    • Changedmarkets_build_buy1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "disclaimer": {},
        +    "instructions": {},
        +    "order": {},
        +    "transaction": {}
        +  },
        +  "type": "object"
        +}
    • Changedmarkets_quote1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "disclaimer": {},
        +    "expectedFill": {},
        +    "priceImpact": {},
        +    "spotPrice": {}
        +  },
        +  "type": "object"
        +}
    • Changedmeta1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "canonical": {},
        +    "checkedAt": {},
        +    "contentType": {},
        +    "description": {},
        +    "finalUrl": {},
        +    "headings": {},
        +    "hreflang": {},
        +    "icons": {},
        +    "issues": {},
        +    "jsonLd": {},
        +    "lang": {},
        +    "openGraph": {},
        +    "robots": {},
        +    "status": {},
        +    "title": {},
        +    "twitter": {},
        +    "url": {},
        +    "wordCount": {}
        +  },
        +  "type": "object"
        +}
    • Changedocr1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "bytes": {},
        +    "checkedAt": {},
        +    "language": {},
        +    "languageName": {},
        +    "lines": {},
        +    "mime": {},
        +    "model": {},
        +    "text": {}
        +  },
        +  "type": "object"
        +}
    • Addedpackage
    • Changedpdf1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "author": {},
        +    "byPage": {},
        +    "chars": {},
        +    "createdAt": {},
        +    "creator": {},
        +    "modifiedAt": {},
        +    "note": {},
        +    "pages": {},
        +    "pagesReturned": {},
        +    "producer": {},
        +    "subject": {},
        +    "text": {},
        +    "title": {},
        +    "truncated": {}
        +  },
        +  "type": "object"
        +}
    • Addedpostcode
    • Changedqr1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checkedAt": {},
        +    "dataUri": {},
        +    "ecc": {},
        +    "modules": {},
        +    "svg": {},
        +    "text": {},
        +    "version": {}
        +  },
        +  "type": "object"
        +}
    • Changedread1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "author": {},
        +    "canonical": {},
        +    "chars": {},
        +    "content": {},
        +    "contentType": {},
        +    "description": {},
        +    "fetchedAt": {},
        +    "finalUrl": {},
        +    "format": {},
        +    "lang": {},
        +    "note": {},
        +    "publishedAt": {},
        +    "siteName": {},
        +    "status": {},
        +    "title": {},
        +    "truncated": {},
        +    "url": {},
        +    "wordCount": {}
        +  },
        +  "type": "object"
        +}
    • Changedrecalls1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "query": {},
        +    "results": {},
        +    "returned": {},
        +    "severityNote": {},
        +    "sources": {},
        +    "total": {}
        +  },
        +  "type": "object"
        +}
    • Changedredirects1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checkedAt": {},
        +    "finalStatus": {},
        +    "finalUrl": {},
        +    "hops": {},
        +    "hsts": {},
        +    "loop": {},
        +    "maxHops": {},
        +    "totalHops": {},
        +    "truncated": {},
        +    "url": {}
        +  },
        +  "type": "object"
        +}
    • Addedrerank
    • Changedsec_filings1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checkedAt": {},
        +    "company": {},
        +    "filings": {},
        +    "forms": {},
        +    "note": {},
        +    "returned": {},
        +    "source": {}
        +  },
        +  "type": "object"
        +}
    • Changedsec_financials1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checkedAt": {},
        +    "company": {},
        +    "currency": {},
        +    "notes": {},
        +    "period": {},
        +    "periods": {},
        +    "source": {},
        +    "years": {}
        +  },
        +  "type": "object"
        +}
    • Addedsec_insiders
    • Addedsentiment
    • Changedsitemap1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "childSitemapsSkipped": {},
        +    "returned": {},
        +    "site": {},
        +    "sitemaps": {},
        +    "sitemapsRead": {},
        +    "totalUrls": {},
        +    "truncated": {},
        +    "urls": {}
        +  },
        +  "type": "object"
        +}
    • Addedsolana_account
    • Changedsolana_quote1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checkedAt": {},
        +    "disclaimer": {},
        +    "effectivePrice": {},
        +    "input": {},
        +    "notes": {},
        +    "output": {},
        +    "priceImpactPct": {},
        +    "quoteOnly": {},
        +    "route": {},
        +    "slippageBps": {},
        +    "source": {},
        +    "symbolResolution": {}
        +  },
        +  "type": "object"
        +}
    • Changedsolana_token1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "address": {},
        +    "ageHours": {},
        +    "checks": {},
        +    "decimals": {},
        +    "devBalancePercent": {},
        +    "disclaimer": {},
        +    "extensions": {},
        +    "fdvUsd": {},
        +    "firstPoolCreatedAt": {},
        +    "flags": {},
        +    "freezeAuthority": {},
        +    "freezeAuthorityEnabled": {},
        +    "holders": {},
        +    "liquidityUsd": {},
        +    "marketCapUsd": {},
        +    "mintAuthority": {},
        +    "mintAuthorityEnabled": {},
        +    "name": {},
        +    "organicScore": {},
        +    "organicScoreLabel": {},
        +    "priceChangePct": {},
        +    "priceUsd": {},
        +    "supply": {},
        +    "symbol": {},
        +    "tags": {},
        +    "tokenProgram": {},
        +    "topHoldersPercent": {},
        +    "topPools": {},
        +    "trades24h": {},
        +    "url": {},
        +    "verified": {},
        +    "volume24hUsd": {}
        +  },
        +  "type": "object"
        +}
    • Changedsolana_trending1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "disclaimer": {},
        +    "filters": {},
        +    "interval": {},
        +    "looked": {},
        +    "mode": {},
        +    "results": {},
        +    "returned": {},
        +    "source": {}
        +  },
        +  "type": "object"
        +}
    • Addedsolana_tx
    • Changedsolana_wallet1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "address": {},
        +    "disclaimer": {},
        +    "hiddenDustOrUnpriced": {},
        +    "sol": {},
        +    "tokenAccounts": {},
        +    "tokens": {},
        +    "tokensShown": {},
        +    "totalValueUsd": {}
        +  },
        +  "type": "object"
        +}
    • Addedsummarize
    • Addedtables
    • Changedtech1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "analytics": {},
        +    "blocked": {},
        +    "cdn": {},
        +    "cms": {},
        +    "count": {},
        +    "domain": {},
        +    "ecommerce": {},
        +    "emailProvider": {},
        +    "finalUrl": {},
        +    "hosting": {},
        +    "note": {},
        +    "status": {},
        +    "tagManagers": {},
        +    "technologies": {},
        +    "url": {}
        +  },
        +  "type": "object"
        +}
    • Changedtranscribe1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "duration": {},
        +    "language": {},
        +    "model": {},
        +    "segments": {},
        +    "text": {}
        +  },
        +  "type": "object"
        +}
    • Changedtranslate1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "chunks": {},
        +    "model": {},
        +    "source": {},
        +    "target": {},
        +    "translated_text": {}
        +  },
        +  "type": "object"
        +}
    • Changedtts1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "audio_base64": {},
        +    "mime": {},
        +    "model": {},
        +    "voice": {}
        +  },
        +  "type": "object"
        +}
    • Changeduk_company1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "accounts": {},
        +    "checkedAt": {},
        +    "company": {},
        +    "confirmationStatement": {},
        +    "filings": {},
        +    "license": {},
        +    "matchedBy": {},
        +    "officers": {},
        +    "persons": {},
        +    "source": {}
        +  },
        +  "type": "object"
        +}
    • Changeduk_insolvency1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "coveredDays": {},
        +    "dataTimestamp": {},
        +    "missingDays": {},
        +    "query": {},
        +    "results": {},
        +    "returned": {},
        +    "source": {},
        +    "total": {}
        +  },
        +  "type": "object"
        +}
    • Changedvalidate1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checkedAt": {},
        +    "count": {},
        +    "expectedCheckDigit": {},
        +    "invalid": {},
        +    "normalised": {},
        +    "parts": {},
        +    "results": {},
        +    "subtype": {},
        +    "type": {},
        +    "valid": {},
        +    "value": {}
        +  },
        +  "type": "object"
        +}
    • Changedvat1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "address": {},
        +    "checks": {},
        +    "countryCode": {},
        +    "formatted": {},
        +    "input": {},
        +    "name": {},
        +    "requestDate": {},
        +    "source": {},
        +    "valid": {},
        +    "vatNumber": {},
        +    "viesStatus": {}
        +  },
        +  "type": "object"
        +}
    • Changedviolations1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "caveat": {},
        +    "notes": {},
        +    "query": {},
        +    "results": {},
        +    "returned": {},
        +    "sources": {},
        +    "total": {}
        +  },
        +  "type": "object"
        +}
    • Addedvulns
    • Addedweather
    • Changedwiki1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "attribution": {},
        +    "checkedAt": {},
        +    "description": {},
        +    "facts": {},
        +    "found": {},
        +    "lang": {},
        +    "license": {},
        +    "source": {},
        +    "summary": {},
        +    "thumbnail": {},
        +    "title": {},
        +    "url": {},
        +    "wikidataId": {}
        +  },
        +  "type": "object"
        +}

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources