Skip to main content
Glama

Server Details

25 read-only agent utilities: token safety, approvals, tx decode, EIP-712 risk, DNS, time; free tier

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

B3.4/5.0

Scored across 105 tools

Disambiguation3/5

Most tools have specific, descriptive purposes, but the 105-tool surface contains overlapping clusters: address_validate/address_profile/token_balances, dns_lookup/dns_propagation/spf_dmarc_check, and text_stats/token_count can be confused. Descriptions help, but an agent still faces some selection ambiguity across adjacent utilities.

Naming Consistency4/5

All names are consistently snake_case and generally descriptive, with no camelCase or chaotic mixing. The verb/action convention is not uniform (validate, profile, check, parse, convert appear in different positions), but the naming remains readable and predictable.

Tool Count1/5

105 tools is far beyond a well-scoped MCP surface and spans crypto, web diagnostics, text processing, DNS, JSON, and general utilities. The sheer count creates excessive choice burden and suggests a grab-bag rather than a focused toolset.

Completeness3/5

The surface is broad and covers many common agent utilities, especially crypto inspection and web diagnostics. However, its domain is unclear and it lacks coherent lifecycle coverage for any single area, with notable gaps around transaction construction, portfolio-level finance, and broader money operations.

Available Tools

105 tools
a2a_card_validateA2A Agent Card validatorA
Read-onlyIdempotent
Inspect

Fetch /.well-known/agent-card.json (or legacy agent.json) and validate required A2A fields, skills, transport and security declarations. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
urlNoagent base URL or card URL
cardNoor the card JSON

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld/idempotent/non-destructive, so the low bar is met; the description still adds real value by disclosing the outbound fetch target, the legacy agent.json fallback path, and concrete rate-limit/pricing plus API-key credit mechanics. It stops short of describing failure behavior or what a partial/invalid card result looks like.

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

Conciseness5/5

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

Two tight sentences with zero filler: the validation scope is front-loaded and the pricing/access sentence follows as secondary context. Every phrase 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 and annotations cover the safety profile, so the description only needs to establish scope, fetch behavior and cost — which it does. The one residual gap is that it never clarifies the url-vs-card input mode or what happens when neither is supplied (both parameters are optional).

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 properties are already documented, and the description adds essentially nothing about them — notably it omits that a card JSON object may be supplied directly instead of a URL, or how the two inputs interact. Baseline 3 applies when the schema carries the parameter burden.

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 pair (fetch + validate) applied to a named resource (A2A agent card at /.well-known/agent-card.json, legacy agent.json), plus an enumeration of what gets validated (required fields, skills, transport, security declarations). The resource is distinct enough from siblings like openapi_lint, llms_txt_validate and x402_validate, but the description never explicitly contrasts itself with them.

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

Usage Guidelines3/5

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

No explicit when-to-use/when-not-to-use statement or named alternative. Usage is only implied by the resource name and the freemium note (10 calls/day free, then $0.002 via HTTP endpoint or X-API-Key credits), which does help an agent judge call budget but not tool selection.

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

abi_encodeABI-encode calldataA
Read-onlyIdempotent
Inspect

Build calldata from a function signature and arguments (selector + encoded args). Unsigned bytes only, for agents preparing a tx for a human or wallet to review. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
argsYescomma list or JSON array
signatureYesfunction signature

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds genuinely new operational context the annotations cannot convey: it produces unsigned bytes and cannot sign, and it discloses a quota (10 free calls/day, then $0.001 via HTTP endpoint or X-API-Key credits). Neither point contradicts the annotations.

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

Conciseness5/5

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

Two short sentences with the core purpose front-loaded and cost/dependency terms last. Nothing is repeated from the schema or annotations, and every clause carries information the 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 two-parameter pure-computation tool with an output schema, an annotations-declared safety profile, and a fully described input schema, the description covers purpose, constraint (unsigned only), and cost/quota. Minor remaining gap: nothing about handling of overloaded signatures or tuple/array argument encoding, though the schema example implies the comma/JSON-list form.

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 carry descriptions plus examples, so the schema does the heavy lifting. The description adds only the conceptual framing ('signature' + 'encoded args'), which mildly clarifies the relationship between the two parameters but no format or edge-case 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.

Purpose4/5

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

States a specific verb and output: 'Build calldata from a function signature and arguments (selector + encoded args)'. The parenthetical tells the agent exactly what artifact is produced, making it clearly the inverse of the calldata_decode sibling. It stops short of naming that sibling, so it is not fully differentiated in-text.

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?

'Unsigned bytes only, for agents preparing a tx for a human or wallet to review' gives an explicit use context: pre-signing construction for human/wallet review. That usefully frames when to use it, but no exclusion or alternative-tool routing is stated (e.g. when to decode rather than encode).

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

address_profileAddress profile (7 chains)A
Read-onlyIdempotent
Inspect

Profile an EVM address or ENS name across Ethereum, Base, Arbitrum, Optimism, Polygon, BSC, Avalanche: EOA vs contract vs EIP-7702 delegated, nonce, native balances in USD, primary ENS name, known-contract label. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainsNocomma list to limit chains (default all 7)
addressYes0x address or ENS name

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare a safe, read-only, idempotent, open-world operation, so the safety bar is largely met structurally. The description contributes information the annotations cannot: a free tier of 10 calls/day, then $0.002 per call via the HTTP endpoint or X-API-Key credits — a real operational constraint for a paid-shaped tool. It does not cover failure modes (invalid address, ENS name that doesn't resolve, per-chain errors), which keeps it from a 5.

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

Conciseness5/5

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

Two sentences, both front-loaded and dense: the capability and its output fields first, then the cost/quota caveat. No filler adjectives, no restatement of the title, and the pricing sentence is clearly separated from the capability sentence so an agent can skim it.

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

Completeness4/5

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

A read-only 2-parameter tool with a full output schema and complete annotations — the description covers the capability, chain scope, and cost model, which is what an agent needs to decide and invoke. The remaining gap is behavioral edge cases (unsupported/obscure chain names in the comma list, ENS resolution only on Ethereum), none of which block a correct first call.

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 (address, chains) are already documented with examples, and the description adds no format or syntax guidance beyond restating that the input can be a 0x address or ENS name. It does implicitly confirm the default chain set by listing the seven chain names, which is mildly useful context over the schema's "default all 7". 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?

Opens with a specific verb+resource ("Profile an EVM address or ENS name") and enumerates exactly what the profile contains: EOA vs contract vs EIP-7702 delegated, nonce, native balances in USD, primary ENS name, known-contract label. That enumeration is enough for an agent to distinguish it from adjacent siblings such as address_validate (validity only) and ens_resolve (name resolution only).

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

Usage Guidelines3/5

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

Usage is implied by the purpose statement — profile when you need a multi-chain address overview — and the caller is told the chain scope defaults to all seven. However, the description never states when to prefer this over address_validate, ens_resolve, or token_balances, nor does it say what happens if only one chain is wanted versus the full sweep. No explicit exclusions or prerequisites.

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

address_validateMulti-chain address validatorA
Read-onlyIdempotent
Inspect

Which network is this address for, and is it well-formed? EVM checksum, Bitcoin (legacy/P2SH/SegWit/Taproot), Litecoin, Dogecoin, Tron, Solana, Cosmos bech32, TON. Catches typos before sending. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
addressYesany crypto address

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, openWorld, so the safety profile is free. The description's real additive value is commercial behavior: a 10 calls/day free tier, then $0.001 via HTTP endpoint or X-API-Key credits – an agent needs that to plan usage. It still says nothing about what an invalid address returns (error vs. a validity flag), though the presence of an output schema lowers that burden.

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 question the tool answers, then the supported-chain list, then the pricing caveat. Every sentence carries information, though the long parenthetical chain enumeration is dense and could be trimmed. No filler or repetition.

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 rich annotations, a 100% covered single-param schema, and an output schema, most structural burden is already handled; the description adds chain coverage and rate-limit economics. The only real gap is behavior on invalid input, which the output schema likely covers. Sufficient to call correctly on the first try.

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 schema coverage is 100%, with an example address already in the schema, so the description owes no additional parameter documentation. The chain list hints at what the validator infers, but adds no syntax, format, or constraint detail beyond what the schema states. 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 operation (validate an address, detect its network) and enumerates exactly which chains/encodings are covered (EVM checksum, BTC legacy/P2SH/SegWit/Taproot, Solana, Cosmos bech32, TON). This clearly separates it from siblings like btc_address or address_profile, which imply chain-specific generation or enrichment rather than cross-chain format checking.

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

Usage Guidelines4/5

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

The phrase 'Catches typos before sending' supplies a concrete usage context (pre-transaction sanity check), which is genuinely useful. It stops short of explicit exclusions or naming an alternative tool (e.g., when to prefer address_profile for balance/history), 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.

allowance_revoke_planToken approvals + revoke planA
Read-onlyIdempotent
Inspect

Find risky ERC-20 approvals for a wallet (default: common tokens × 20 well-known routers/spenders, or your own lists) and get UNSIGNED approve(spender,0) revoke transactions. Read-only. Free: 10 calls/day; then $0.003 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainYeschain name
ownerYeswallet address
tokensNocomma list of token addresses or symbols (USDC,USDT,...)
spendersNocomma list of spender addresses

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish readOnlyHint, destructiveHint=false and idempotentHint, so the safety profile is carried structurally. The description still adds real value beyond them: output is explicitly UNSIGNED (never broadcast), plus a concrete rate limit (10 calls/day) and pricing model — details an agent cannot infer from the annotations.

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

Conciseness4/5

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

Three tight sentences with the actionable output (unsigned revoke tx) front-loaded and the monetization detail last. The pricing/payment sentence is the least essential part but is short and does inform call planning.

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 and an output schema present, the description does not need to describe return values, and it covers scope, defaults, side-effect profile, and cost. The only thin spot is that it never indicates what makes an approval 'risky' or what determines the ordering/completeness of 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 documenting chain/owner/tokens/spenders is already handled structurally and the baseline is 3. The description contributes the otherwise-undocumented default semantics for tokens and spenders, but adds nothing on formats, symbol resolution, or chain-name conventions beyond what the schema examples show.

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 — find risky ERC-20 approvals and return unsigned approve(spender,0) revoke transactions — and names the exact scope (wallet, default token/spender universe). An agent can distinguish this from token_safety_check or token_balances 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?

Explains the default behavior (common tokens × 20 well-known routers/spenders) and the override path (your own lists), which tells an agent when the defaults suffice versus when to pass tokens/spenders. It stops short of naming alternatives or exclusion conditions, so it is clear context rather than full routing guidance.

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

apr_apyAPR ↔ APY & compoundingA
Read-onlyIdempotent
Inspect

Convert APR to APY (or back) for any compounding frequency, project earnings over N days with optional performance fee, doubling time. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
aprNoAPR %
apyNoAPY % (instead of apr)
daysNodays
principalNoamount
feePercentNoperformance fee %
compoundingNodaily|weekly|monthly|hourly|block or times/year

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the description is not obliged to restate it. What it does add is genuinely non-obvious operational context: a 10 calls/day free quota, a $0.001 per-call cost afterwards, and two access paths (HTTP endpoint or X-API-Key credits). It does not say what happens when no inputs are supplied, which is the main behavioral gap.

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 sentences, front-loaded with the core conversion and then the distinguishing extras, with the quota/cost caveat placed last where it belongs. The phrasing is dense to the point of being telegraphic ("doubling time" as a bare fragment), which costs a little clarity but nothing is wasted.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the safety annotations are supplied. However, with zero required parameters and six optional ones, the definition never says which combination is valid or what a bare call returns, leaving a real ambiguity for a moderately featured calculator.

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 a 3 is the floor, but the description earns an extra point by framing how parameters combine: projecting earnings over N days with an optional performance fee ties days, principal and feePercent into one coherent operation rather than three isolated numbers. It is still silent on whether apr and apy are mutually exclusive and what the default compounding assumption is.

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 ("Convert APR to APY (or back)") and enumerates the extra capabilities: compounding frequency, earnings projection over N days with an optional performance fee, and doubling time. That is far more specific than the name alone. It stops short of naming or contrasting with a nearby sibling such as unit_convert, 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 "(or back)", which hints that either apr or apy is supplied, and the pricing sentence signals a free tier of 10 calls/day before paid credits. There is no explicit when-to-use / when-not-to-use guidance, no statement that apr and apy are mutually exclusive, and no direction to a sibling converter for plain unit conversions.

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

block_at_timeBlock number at a timestampA
Read-onlyIdempotent
Inspect

Find the last block at or before a date/time on any of 7 EVM chains (interpolation search). For historical balance queries, snapshots and log ranges. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainYeschain: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche
timestampYesunix seconds or ISO 8601

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely non-structured context: a rate/quota model (10 free calls/day), a paid path with HTTP endpoint or X-API-Key credits, and that lookup uses interpolation search, which hints at accuracy characteristics. It does not say what happens for out-of-range timestamps, but the added value over annotations is real.

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

Conciseness5/5

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

Three short sentences: what it does, what it is for, then cost. Purpose is front-loaded ahead of pricing, and nothing is repeated 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?

With an output schema present, the description need not explain return values, and it covers scope, use cases and the pricing model. The remaining gap is edge-case behavior -- timestamps before genesis or in the future -- which an agent may plausibly hit for a block-height lookup.

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 carry their own descriptions, including the accepted chain list and the unix-seconds-or-ISO-8601 format, so the schema does the heavy lifting. The description reinforces 'any of 7 EVM chains' and implies the timestamp is treated as an upper bound, but adds no format or edge-case guidance beyond that. 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?

Names a specific verb and resource ('Find the last block at or before a date/time'), scopes it to 7 EVM chains, and the floor semantics ('at or before') distinguishes it cleanly from any range or hash-based lookup among the siblings. An agent knows exactly what it gets back 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 concrete use cases -- historical balance queries, snapshots, log ranges -- which tells the agent when this tool is the right one. It stops short of naming an alternative tool or stating when-not to use it, so it is clear context rather than full routing guidance.

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

bridge_statusCross-chain transfer statusA
Read-onlyIdempotent
Inspect

Track a bridge transfer by its source tx hash: pending / done / failed, bridge used, sending and receiving tx with amounts (LI.FI public status API). Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
hashYessource-chain tx hash
fromChainNosource chain (speeds up lookup)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world, so the description's real contribution is the upstream data source (LI.FI public status API) and the quota/cost model (10 free calls/day, then $0.002 or X-API-Key credits), neither of which is derivable from structured fields. It stops short of saying what happens with an unknown or too-early hash, which is the main behavioral gap.

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?

Compact and front-loaded: the operation and its output fields come first, with the pricing/quota note trailing. The free-tier sentence is arguably two ideas (quota and paid fallback) compressed into one clause, but nothing is 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?

With an output schema present, the description needn't detail return values, and it still summarizes the key ones plus the data source and cost model. For a 2-parameter read tool that is close to complete; only edge-case behavior (invalid/unknown hash, not-yet-indexed transfer) 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 coverage is 100%, so both parameters are already documented, and the description only restates the required one as 'source tx hash' without clarifying format. It says nothing about fromChain, which the schema itself notes speeds up lookup, so no meaning is added beyond the schema.

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

Purpose4/5

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

The description names a specific verb and resource ('Track a bridge transfer by its source tx hash') and enumerates the result space (pending/done/failed, bridge used, sending and receiving tx with amounts), which is far more concrete than the bare title. The word 'bridge'/'cross-chain' scopes it away from generic single-chain lookups, though it never names the sibling tx_status, so an agent must infer the boundary itself.

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

Usage Guidelines3/5

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

Usage is implied by 'by its source tx hash' — it applies when you hold the hash of a bridge deposit transaction — but there is no explicit when-not guidance and no pointer to tx_status for non-bridged transactions. The agent gets context but no exclusions.

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

btc_addressBitcoin address balanceA
Read-onlyIdempotent
Inspect

Confirmed and pending BTC balance (USD), tx count, address type and reuse for any Bitcoin address (mempool.space public API). Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
addressYesBTC address

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new context: the upstream data source (mempool.space public API) and the quota/payment model (10 free calls/day, then $0.001 or X-API-Key credits). It does not mention error behavior for invalid addresses or whether pending balance affects totals.

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 returned fields before the cost/source clause. Dense but every clause (payload, scope, source, price) earns its place.

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

Completeness4/5

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

For a one-parameter read tool with annotations and an output schema, the description supplies what structured fields cannot: data source, cost, quota, and the field list. It is nearly complete; only address-validity handling and pagination/caching behavior are unstated, which are minor for this shape.

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, so the schema carries the burden and baseline 3 applies. The description only adds the scope phrase 'any Bitcoin address' — no format, network, or validation constraints beyond what the schema already shows via its example.

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 (BTC balance) plus the exact payload: confirmed and pending balance in USD, tx count, address type and reuse, scoped to any Bitcoin address. An agent can distinguish this from solana_account or address_profile on domain alone 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 rather than stated: an agent infers it should call this when it needs BTC balance data for an address. The pricing/rate-limit sentence ('Free: 10 calls/day; then $0.001...') is a useful cost-consideration cue before calling, but there is no explicit when-not guidance or named alternative among the siblings.

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

btc_feesBitcoin fee estimatorA
Read-onlyIdempotent
Inspect

Recommended sat/vB for next block, 30 min, 1 hour and economy, and what your transaction will cost in sats and USD. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
vbytesNotx size in vB (default 141)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context beyond that: a free tier of 10 calls/day and a per-call charge of $0.001 via HTTP endpoint or X-API-Key credits, which an agent needs to know before looping on this tool. It stops short of disclosing data source or freshness of the fee estimates.

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, no padding, and the primary output content is front-loaded ahead of the billing note. Every clause carries information an agent would otherwise lack.

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 enumerate return fields, and the annotations cover mutation risk; what remains is a read-only single-parameter estimator that is well described. The only gap is provenance/freshness of the fee data, which matters somewhat for a time-sensitive pricing tool but is a minor omission.

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 optional parameter (vbytes, default 141) is fully documented in the schema itself. The description never references the parameter or explains how a custom transaction size changes the returned cost estimate. With the schema doing all the work, baseline 3 applies.

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

Purpose4/5

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

The description names a concrete resource and granularity: recommended sat/vB for next block, 30 min, 1 hour, and economy, plus a transaction cost estimate in sats and USD. That is far more specific than the name alone. It does not, however, position itself against a plausible sibling such as gas_compare, so an agent must infer that this is the Bitcoin-side specialist.

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 mention of "what your transaction will cost" suggests calling it before sending a Bitcoin transaction, but there is no explicit when-to-use or when-not-to-use statement. No alternative tool is named or ruled out. The rate-limit/pricing sentence is operational 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.

business_daysBusiness-day calculatorA
Read-onlyIdempotent
Inspect

Count business days between dates or add N business days, using the official Taiwan calendar, US federal holidays or plain weekdays. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
addNoor add N business days
endNoYYYY-MM-DD to count to
startYesYYYY-MM-DD
countryNoTW | US | none

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new operational context beyond the annotations: a free tier of 10 calls/day and paid access at $0.001 via HTTP endpoint or X-API-Key credits, which is exactly the kind of rate-limit/auth detail agents need. It stops short of explaining error behavior or mode precedence.

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. The core capability is front-loaded and the commercial terms follow, so an agent can decide on the first sentence alone.

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 explanation, and the tool is simple. The remaining gap is the undefined interaction between end and add plus no note on timezone or holiday-edge handling, which matters for a date calculator.

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 mapping the country values to real meanings (Taiwan official calendar, US federal holidays, plain weekdays) rather than the schema's bare 'TW | US | none'. It also clarifies that add takes N business days, which the schema only hints at.

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: count business days between dates, or add N business days, against a named calendar (Taiwan, US federal, or plain weekdays). An agent can identify the operation immediately, though it never distinguishes this tool from the sibling public_holidays tool.

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

Usage Guidelines3/5

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

Two modes of use are implied (counting a range via start/end, and offsetting via start/add), which gives usable context. However, there is no explicit guidance on when to choose this over public_holidays or lunar_date, and no statement about what happens if both end and add are supplied.

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

calldata_decodeCalldata decoderA
Read-onlyIdempotent
Inspect

Decode raw EVM calldata before signing: function name and typed arguments via the open Sourcify signature DB (or your ABI / signature), plus a plain-language meaning for risky selectors (approve, setApprovalForAll, permit...). Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
abiNoJSON ABI array
dataYes0x calldata
signatureNoe.g. transfer(address,uint256)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/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 data source (open Sourcify signature DB, matching openWorldHint), the fallback mechanism via caller-supplied ABI/signature, and concrete cost/rate-limit behavior (10 free calls/day, then $0.001 or X-API-Key credits). Annotations already cover safety, and the description adds the operational 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.

Conciseness5/5

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

Two sentences, front-loaded with the core action and output, followed by the input fallbacks and then pricing. Every clause carries information an agent needs (source, fallback, cost); nothing 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, the description needn't explain return shape, and it covers source, inputs, risk interpretation, and cost. The main remaining gap is failure behavior (e.g., what happens with an unknown selector or undecodable data), which an agent calling with arbitrary calldata would want to know.

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 by explaining that abi and signature exist as alternatives to the Sourcify lookup and including an example risky selector (approve) that hints at typical data values. It stops short of stating precedence when multiple inputs are supplied, so it doesn't fully earn a 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?

States a specific verb and resource ('Decode raw EVM calldata') plus the exact output ('function name and typed arguments') and an extra capability (plain-language meaning for risky selectors like approve/setApprovalForAll/permit). An agent can immediately tell this is the decode direction of the calldata operation, distinct from encode/inspect siblings such as abi_encode or tx_explain.

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 usage context ('before signing') and explains the input options: rely on the Sourcify signature DB or supply your own ABI/signature. It does not state explicit exclusions or name a sibling alternative (e.g., typed_data_risk for EIP-712, abi_encode for the reverse direction), so it falls short of full when/when-not guidance.

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

card_number_checkCard number checksum (Luhn)A
Read-onlyIdempotent
Inspect

Luhn checksum, brand (Visa, Mastercard, Amex, JCB, UnionPay...) and length check; returns only a masked number. Never stored. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
numberYescard number (test numbers recommended)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered; the description adds genuinely new behavior: the response contains only a masked number and the number is never stored. The free-tier quota and paid fallback also set expectations about throttling and cost 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.

Conciseness5/5

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

A single dense sentence with the functional content front-loaded and the privacy and cost facts trailing in order of importance. Every clause earns its place; nothing is repeated from the schema or annotations.

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

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 shape need not be explained, and the description still covers the privacy of the return value plus quota/cost. For a one-parameter validation tool this is close to complete, with the only real omission being differentiation from a2a_card_validate.

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 and 100% schema description coverage (including an example value), the schema already does the work of explaining the input. The description adds no format hints (separators, spaces) or validation-caveats for the number field beyond restating the kinds of checks performed, 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?

Names the specific checks performed — Luhn checksum, brand detection (with an explicit brand list), and length validation — which is far more informative than the title alone. It does not, however, distinguish itself from the sibling a2a_card_validate, leaving the agent to guess which card-checking 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 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 pointer to the obvious alternative a2a_card_validate. The only contextual sentence is about pricing/quota ('10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits'), which is cost information 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.

chain_infoChain registry lookupA
Read-onlyIdempotent
Inspect

Chain id → name, native currency, public RPCs, explorers, CAIP-2 id and a ready wallet_addEthereumChain object (ethereum-lists/chains, CC0). Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainIdYesnumeric chain id or common name

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered. The description adds genuinely new behavioral context: the data provenance/license and a concrete quota model (10 calls/day free, then $0.001 via HTTP endpoint or X-API-Key credits), which tells an agent about rate limits and cost before calling. It stops short of describing unknown-chain-id 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?

Two short sentences, front-loaded with the input→output contract and followed by access/pricing terms. Dense but every clause carries information; no filler. The arrow notation is compact rather than 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 the enumerated return fields are a bonus rather than a necessity, and the description still covers provenance, cost, and auth (X-API-Key). For a single-parameter read-only lookup this is close to sufficient; only error/not-found behavior and any response-shape caveats 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 coverage is 100% and the single parameter is already documented as "numeric chain id or common name" with an example. The description's "Chain id →" framing confirms the input semantics but adds no format detail, validation behavior, or fallback rules beyond what the schema states. 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?

The description uses a precise input→output mapping ("Chain id → name, native currency, public RPCs, explorers, CAIP-2 id and a ready wallet_addEthereumChain object") that names both the resource and exactly what comes back. It also cites the underlying dataset (ethereum-lists/chains, CC0), which separates it from siblings like rpc_health or erc20_info that operate on live chains or tokens rather than static registry 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?

Usage is only implied: an agent can infer this is the tool for resolving a chain id to registry metadata, and the quota note hints at cost sensitivity. There is no explicit when-to-use/when-not guidance and no named alternative for adjacent tasks (e.g., live RPC probing via rpc_health), so routing must be inferred.

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

color_convertColor converter + WCAG contrastA
Read-onlyIdempotent
Inspect

Convert hex/rgb/hsl/CSS names to hex, RGB, HSL, CMYK; luminance, best text color and WCAG AA/AAA contrast against another color. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
colorYescolor
againstNosecond color

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description's added value is the rate limit and cost model — 10 free calls/day, then $0.001 via HTTP endpoint or X-API-Key credits — which an agent needs before repeated calls. The reference to an 'HTTP endpoint' is slightly out of place for an MCP tool but still informative.

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 enumerates the capabilities, then a second covers limits and pricing. Dense but well-structured with semicolons; every clause carries information, though the pricing clause is somewhat tangential to 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 values need not be described, and the description covers both the conversion and contrast halves of the tool. Minor gap: it does not say whether contrast/luminance results are simply absent when `against` is not supplied, or how invalid color strings are handled.

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%, but the schema descriptions are placeholders ('color', 'second color'). The description clarifies the `against` color is used for contrast evaluation, which adds modest meaning, but it does not state accepted input syntax, case handling, or what happens if `against` is omitted.

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 specific verbs and resources: converting between hex/rgb/hsl/CSS names and hex/RGB/HSL/CMYK, plus luminance, best text color, and WCAG AA/AAA contrast. That is concrete enough to separate it from siblings like unit_convert or number_base, though it never explicitly names an alternative.

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: 'contrast against another color' hints that the optional `against` parameter is what enables the WCAG metrics. There is no explicit when-to-use/when-not-to-use statement or comparison to related conversion tools such as unit_convert or number_base.

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

contract_abiVerified contract ABIA
Read-onlyIdempotent
Inspect

Fetch a verified contract's ABI from Sourcify (open data) with proxy resolution: implementation ABI merged, function and event signature lists. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
fullNotrue = include the full ABI JSON
chainYeschain name
addressYescontract address

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, open-world, non-destructive, so the safety profile is covered; the description goes beyond that with real operational detail — open-data source, automatic proxy/implementation merging, and an explicit free tier of 10 calls/day followed by $0.002 via HTTP endpoint or X-API-Key credits. The remaining gap is failure behavior: it never says what comes back when a contract is unverified or a chain is unsupported, which is the main uncertainty for a Sourcify-backed lookup.

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, no filler, and the highest-value information (what it is, where the data comes from, proxy handling) leads before the cost/rate-limit detail. Every clause 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?

With an output schema present, return shape needn't be explained, and the description covers source, proxy merging, and pricing. It falls just short of fully complete because the unverified-contract case and chain-support scope are unaddressed for a tool that can legitimately fail on both.

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 `full`, `chain`, and `address` each documented inline, so the schema carries the semantics and baseline 3 applies. The description adds no argument-level detail — nothing about accepted chain naming conventions or when to set `full` — beyond restating that signature lists are returned.

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 (fetch) and resource (a verified contract's ABI), plus the data source (Sourcify) and the enrichment it performs (proxy resolution, implementation ABI merge, signature lists). The resource is narrow enough that an agent can distinguish it from siblings like abi_encode, contract_read, or proxy_inspect 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: fetch this when you need an ABI for decoding/encoding. There is no explicit when-not guidance and no sibling is named as an alternative, even though abi_encode, calldata_decode, contract_read, and proxy_inspect all sit adjacent to this resource. The note that proxy resolution is handled internally is useful context but not routing guidance.

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

contract_readRead any contract (eth_call)A
Read-onlyIdempotent
Inspect

Call any view function with a human signature and args, e.g. balanceOf(address) returns (uint256); decoded result. Optional historical block. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
argsNocomma list or JSON array
blockNoblock number (default latest)
chainYeschain: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche
addressYescontract
signatureYesfunction signature with returns

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, openWorld and non-destructive, so the description is not burdened with the safety profile. It adds real context beyond that: results are decoded, a historical block is optional, and there is a 10 calls/day free tier with $0.001 per call afterwards via HTTP or X-API-Key credits. Rate-limit and cost disclosure is exactly the kind of behavior 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?

Two dense clauses with the core capability front-loaded and the example signature immediately after. The pricing sentence is slightly crammed but it is genuinely actionable information rather than filler. No wasted framing.

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

Completeness4/5

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

Five parameters, three required, all documented in-schema, and an output schema exists so return format need not be explained. The description covers capability, decoding, historical block support and cost model. Only the relationship to sibling read tools 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 coverage is 100% and every parameter carries its own description and example, so the schema does the heavy lifting. The description restates 'human signature and args' and flags the block as optional/historical, which is essentially duplication of what the schema already declares. 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: calling any view function via a human-readable signature with args, returning a decoded result. From this an agent knows exactly what the tool does. It does not, however, distinguish itself from nearby siblings such as contract_abi, token_balances, or calldata_decode, 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: the mention of 'view function', 'human signature' and 'optional historical block' hints at when this fits. There is no explicit when-to-use, no when-not-to-use, and no routing toward siblings like token_balances for standard reads or contract_abi for building calldata.

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

cron_next_runsCron next-run calculatorA
Read-onlyIdempotent
Inspect

Next N run times of a 5-field cron expression (or @daily etc.) in any IANA time zone, with a plain-language description. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
tzNoIANA zone (default UTC)
countNo1-50 (default 5)
expressionYescron expression

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context not in structured fields: the free tier is 10 calls/day, after which calls cost $0.001 via HTTP endpoint or X-API-Key credits — material for an agent deciding whether to call repeatedly. It does not discuss error behavior for invalid expressions, which keeps it from a 5.

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

Conciseness4/5

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

Two sentences, front-loaded with the capability and followed by the pricing/rate-limit constraint. No filler or repetition of the title. The pricing sentence is slightly tangential to selection but is behaviorally useful, so 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?

With an output schema present, the description need not explain return shape, and the input semantics are fully covered by the schema. It supplies the extras an agent needs — macro syntax support, arbitrary IANA zones, and the rate-limit/pricing ceiling. Only a note on invalid-expression handling 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 each parameter already carries a description and defaults (UTC, 1-50, default 5), so the baseline is 3. The description adds only one piece of extra meaning — that the expression may be a 5-field cron or a macro like @daily — but does not clarify count semantics (does it include the current minute?), so it does not clearly exceed the 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: computes the next N run times of a 5-field cron expression, with time-zone support and a plain-language rendering. An agent can tell exactly what it gets back. It does not contrast itself with the nearest siblings (time_convert, business_days), 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 use case (cron schedule preview) is strongly implied by the name and description, but there is no explicit 'use this when...' guidance, no statement of when another tool is preferable, and no prerequisite notes. 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.

csv_json_convertCSV ↔ JSON converterA
Read-onlyIdempotent
Inspect

CSV to JSON (auto delimiter, headers, typed values, error rows) or JSON array to CSV. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
inputYesCSV text or JSON array
delimiterNodelimiter (auto)
directionNocsv-to-json | json-to-csv (auto)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context beyond that: delimiter/type inference, error-row reporting, and a concrete rate limit (10 free calls/day, then $0.001 via HTTP endpoint or X-API-Key credits). It stops short of describing output shape or how error rows are surfaced, but the quota disclosure is material.

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 compact sentence front-loads the primary direction and enumerates sub-behaviors efficiently, with pricing second. Dense but not wasteful; a little more structure (e.g., separating the commercial note) would read better.

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 both directions, inference behavior, and the access/cost model. For a stateless two-way converter this is nearly sufficient; only the precise format of error reporting is 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%, so all three parameters (input, delimiter, direction) are already documented with defaults marked 'auto'. The description reinforces that both delimiter and direction are auto-detected, which slightly clarifies the defaults, but adds no format or syntax 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 names both conversion directions with their concrete behaviors (auto delimiter, headers, typed values, error rows), so the agent knows exactly what operation this performs. It does not distinguish itself from nearby siblings like yaml_json_convert or json_format, 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 only implied by the input formats ('CSV text or JSON array' vs a YAML tool or a pretty-printer), and the free-tier/quota note hints at cost-sensitive usage. There is no explicit statement of when to prefer this over yaml_json_convert or json_format, 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.

currency_convertCurrency converterA
Read-onlyIdempotent
Inspect

Convert fiat amounts with daily reference rates (ECB via Frankfurter; other currencies e.g. TWD from ExchangeRate-API open access, attributed). Not tradable quotes. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
toYesone or more codes, comma list
fromYesISO 4217 code
amountNodefault 1

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover readOnly/idempotent/non-destructive/openWorld, so the bar is lower, yet the description adds substantial new information: the underlying rate sources, the daily (i.e. stale-by-design) refresh cadence, an attribution obligation, and concrete rate limits with pricing and the X-API-Key credit path. Those economics and staleness constraints are exactly what an agent needs to avoid surprise failures or misuse.

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: capability and sources first, the important caveat ("Not tradable quotes") second, and the cost/limit model last. Every clause carries operational weight, and nothing is padded.

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

Completeness4/5

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

With an output schema present, return-shape explanation is unnecessary, and the description covers provenance, freshness, cost, and disclaimer well. A minor gap remains around how multiple `to` codes and the default amount are reflected in the response for multi-target conversions.

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 from/to/amount semantics are already documented in structured form. The description only reinforces "fiat amounts" and the multi-currency nature of `to`; it adds no formatting or syntax 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?

"Convert fiat amounts with daily reference rates" gives a specific verb, resource, and scope, and the rate provenance (ECB via Frankfurter, ExchangeRate-API for e.g. TWD) makes clear this is reference data, not market data. That cleanly separates it from siblings like unit_convert, color_convert, time_convert, and dex_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?

"Not tradable quotes" is an explicit when-not that steers agents away from pricing/trading use cases, and the fiat-only scope is clear. It stops short of naming an alternative (e.g. dex_price for on-chain prices, unit_convert for non-currency units), so routing to the right sibling still requires inference.

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

dex_priceToken price from DEX quotesA
Read-onlyIdempotent
Inspect

Executable-style price of any ERC-20 in USDC from DEX aggregator quotes (KyberSwap, quote only), price impact at a chosen size, route DEXes and deviation vs DefiLlama reference. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainYeschain: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche
tokenYesERC-20 address
sizeUsdNosize for impact check (default 1000)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, open-world, and non-destructive behavior, so the bar is lower. The description adds real context beyond them: KyberSwap as the quote source, that it is a quote and not an executable swap, and explicit rate/cost limits (10 free calls/day, then $0.002 via HTTP or X-API-Key credits).

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

Conciseness5/5

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

A single front-loaded sentence carries the core purpose, outputs, and quote-only caveat, followed by one short sentence on cost. No filler or restated title content.

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 structure needn't be explained, and the description covers source, denomination, impact sizing, and rate limits for a 3-parameter read tool. A small gap remains around how the DefiLlama deviation should be interpreted or what happens when no route exists.

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% — chain, token, and sizeUsd are all documented, including the default size. The description reinforces that sizeUsd controls the price-impact check and that pricing is in USDC, but adds little beyond the schema's own wording, 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-style resource: the executable-style USDC price of any ERC-20 derived from DEX aggregator quotes, plus price impact, route DEXes, and deviation vs a DefiLlama reference. This clearly distinguishes it from siblings like erc20_info (token metadata), token_safety_check (risk), and chain_info (network 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?

The description implies the use case (get a size-dependent price with route and cross-reference deviation), but never states when to prefer it over alternatives or what it should not be used for. The 'quote only' note hints at a boundary (no execution), yet no sibling is named or excluded.

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

dns_lookupDNS + email-auth lookupB
Read-onlyIdempotent
Inspect

A/AAAA/CNAME/MX/TXT/NS/CAA (or chosen types) via DNS-over-HTTPS, DNSSEC flag, SPF/DMARC/DKIM detection and common misconfigurations. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
typesNocomma list, e.g. A,MX,TXT
domainYeshostname

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds genuinely new behavioral facts the annotations cannot express: transport is DNS-over-HTTPS, output includes a DNSSEC flag and misconfiguration detection, and there is a concrete rate limit (10 free calls/day) with a stated paid fallback of $0.001 via HTTP endpoint or X-API-Key credits — exactly the cost/limit context an agent needs before looping calls.

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 no filler; the record-type/feature scope is front-loaded and pricing is correctly relegated to the second position. The first sentence is a telegraphic fragment without a verb, which slightly slows comprehension but wastes no tokens.

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

Completeness3/5

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

An output schema exists so return values need no explanation, and annotations plus pricing cover the operational profile. However, it omits mechanics an agent would want: whether DKIM detection uses a default selector or requires one (no selector parameter exists), what 'common misconfigurations' checks actually run, and default record types when 'types' 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% and both parameters carry their own descriptions ('comma list, e.g. A,MX,TXT' and 'hostname'), so the schema does the heavy lifting. The description only echoes this by saying 'or chosen types', adding no syntax or default behavior beyond the schema (e.g. what types are queried when 'types' is omitted).

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 enumerates the concrete resource scope — A/AAAA/CNAME/MX/TXT/NS/CAA record types plus DNSSEC and SPF/DMARC/DKIM signals — so an agent knows exactly what data comes back. It stops short of naming the action verb ('look up') and never distinguishes itself from the sibling tools spf_dmarc_check and dns_propagation, which overlap directly with the email-auth and propagation parts of its scope.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no exclusions, and no reference to the closely related siblings spf_dmarc_check or dns_propagation. The agent must infer from the record-type list alone whether this tool or one of those siblings is appropriate.

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

dns_propagationDNS propagation checkA
Read-onlyIdempotent
Inspect

Query 6 public resolvers (Cloudflare, Google, AdGuard, NextDNS, AliDNS, DNSPod) and compare answers: has my DNS change propagated? Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
typeNoA|AAAA|CNAME|MX|TXT|NS|CAA
domainYeshostname

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, open-world and non-destructive traits, so the description only needs to add context. It does so meaningfully by disclosing the exact resolver set queried and the cost/rate-limit model (10 free calls/day, then $0.002 via HTTP endpoint or X-API-Key credits), which the agent cannot get from annotations. It omits timing/timeout behavior, which is relevant for a propagation check.

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 the six resolvers are front-loaded in one compact sentence, followed by pricing. Nothing is padding, though the pricing clause mixes in an HTTP-endpoint mention that is marginal for an MCP caller.

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

Completeness4/5

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

For a two-parameter read-only tool with a full output schema and complete annotations, the description covers purpose, scope of resolvers, and cost. Return-value shape is handled by the output schema; only propagation-timing expectations are left unexplained.

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 (domain, type with its record-type list) are already documented in the schema. The description adds no format, defaulting, or constraint information beyond that, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('query 6 public resolvers... compare answers') and even names the resolvers, so the agent knows exactly what is being checked. It never names the sibling dns_lookup, which is the obvious alternative for a single-resolver query, so the differentiation is only 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?

The framing question 'has my DNS change propagated?' implies the usage scenario (post-change verification) but does not state when to prefer this over dns_lookup or when it is unnecessary. Usage is inferred rather than instructed.

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

domain_rdapDomain registration (RDAP)A
Read-onlyIdempotent
Inspect

Registrar, creation/expiry dates, age in days, status codes, nameservers and DNSSEC from RDAP; flags very new domains (phishing signal) and near expiry. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
domainYesdomain name

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavior beyond annotations: free quota, paid credit path, and risk flags for new or near-expiry domains.

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 returned fields before mentioning flags and pricing. The semicolon-packed phrasing is dense but every element is useful, with little wasted wording.

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 detailed return-value documentation is unnecessary. The description still gives enough context about the registration fields and risk flags to set expectations, with only minor gaps around error behavior.

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

Parameters3/5

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

There is a single required parameter with 100% schema description coverage, so the schema already documents the input. The description adds no domain-format or normalization guidance beyond what the schema provides, making the baseline 3 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 the specific resource and data domain: registrar, creation/expiry dates, age, status codes, nameservers, and DNSSEC from RDAP. This clearly separates it from DNS-record siblings like dns_lookup or dns_propagation, though it never explicitly names the sibling it is not.

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

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 data fields listed; there is no explicit 'use this when' or 'do not use this for' guidance. An agent can infer it is for registration metadata rather than live DNS resolution, but that inference is left unstated.

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

duration_parseDuration parserA
Read-onlyIdempotent
Inspect

Parse ISO 8601 (P1DT2H30M), hh:mm:ss or human durations ('1h 30m', '2 weeks') to seconds, ISO and human form; optional end time from a start date. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
fromNoISO start time
durationYesduration

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, openWorld, so the safety profile is covered. The description adds genuinely new behavioral context beyond them: the free-tier limit of 10 calls/day and the $0.001 credit/API-key fallback, which matters for an agent deciding whether to call this repeatedly. It stops short of describing output shape, but an output schema exists to cover 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?

Two sentences, front-loaded with the accepted formats and their examples, with the operational/pricing caveat trailing where it belongs. Every clause carries information; the pricing sentence is the only element that is adjacent rather than core to the parsing 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?

For a two-parameter, single-purpose parsing tool with an output schema and full annotation coverage, the description supplies everything needed to call it correctly: input syntaxes, the optional start-time parameter's purpose, and the cost model. 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.

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 earns an increment by explaining that 'from' is an optional start time used to derive an end time — meaning the schema's bare 'ISO start time' label does not convey. It also clarifies that 'duration' accepts three distinct syntaxes, not just the single example 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 ('Parse') and resource ('durations'), enumerates the accepted input formats with concrete examples (P1DT2H30M, hh:mm:ss, '1h 30m'), and names the output forms (seconds, ISO, human). This distinguishes it in practice from siblings like time_convert or unit_convert, though it never names an alternative explicitly.

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

Usage Guidelines3/5

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

Usage is implied by the format list rather than stated: an agent can infer this is the tool for duration strings, and the 'optional end time from a start date' clause hints at the second parameter's use case. There is no explicit when-to-use/when-not guidance or routing to sibling conversion tools.

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

email_checkEmail address checkA
Read-onlyIdempotent
Inspect

Validate an email: syntax, MX records (DNS-over-HTTPS), accepts mail, disposable domain, role account, free provider and a deliverability guess. No SMTP probing. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
emailYesemail address

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive, open-world, but the description adds real behavioral context on top: no SMTP probing (so the agent knows verification is DNS/heuristic-based, not mailbox-handshake), and concrete rate/cost limits of 10 free calls per day then $0.001 via HTTP endpoint or X-API-Key credits. It also honestly labels one output as a 'guess', setting expectations about reliability.

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 sentences, front-loaded with the capability list so an agent can scan the checks first, followed by the constraint/pricing note. The list of checks is long but each item is actionable; little waste, though the pricing sentence is slightly dense with two payment channels in one 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, the description needn't explain return values, and annotations cover the safety profile, so scope, method limits, and quota/cost are what remain — all covered. The only minor gap is no mention that it handles a single address per call, leaving an agent to infer batch 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?

There is a single required parameter with 100% schema description coverage, so the schema already carries the semantics. The description adds nothing about the email parameter itself (format expectations, IDN handling, single vs batch), 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 and resource ("Validate an email") and then enumerates the exact checks performed: syntax, MX over DoH, accepts-mail, disposable domain, role account, free provider, and a deliverability guess. An agent knows precisely what the tool returns conceptually. It does not name or contrast any of the closely related siblings (dns_lookup, spf_dmarc_check, domain_rdap), so it falls 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 Guidelines3/5

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

Usage is only implied: you call it when you need to validate one email address. The "No SMTP probing" note implies a boundary on how far validation goes, which is useful, but there is no explicit when-to-use versus alternatives such as dns_lookup or spf_dmarc_check, and no guidance on handling a 'deliverability guess' result.

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

ens_availableENS name availabilityA
Read-onlyIdempotent
Inspect

Is name.eth available? Registered / grace period / available, expiry date, yearly base price and registration link. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
nameYeslabel or label.eth

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. Beyond that, the description adds real behavioral value: the three possible status outcomes, that expiry and yearly base price are returned, that a registration link is included, and that there is a 10 calls/day free cap with paid HTTP/API-key overage. It does not state error behavior for malformed labels, which keeps 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?

Two tight sentences, front-loaded with the core question so an agent grasps the purpose immediately. The slash-separated status list is efficient, though the telegraphic fragment style is slightly choppy and the pricing sentence, while useful, is the least essential element.

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 read-only lookup with an output schema, everything an agent needs is present: what is checked, the possible outcomes, the returned fields, cost/rate limits, and sibling-safe annotations. Return-value details need not be expanded further because an output schema exists.

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 already documents 'label or label.eth', so the schema does the heavy lifting. The description's 'name.eth' phrasing mildly reinforces that the .eth suffix is handled, but adds no syntax, validation, or normalization 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?

Opens with a specific question-form verb and resource ('Is name.eth available?') and enumerates the answer states it returns (registered / grace period / available). It does not explicitly distinguish itself from the sibling ens_resolve, so an agent must infer that this is the registration-check path rather than the forward-resolution path.

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 framing question — check availability before registering a name — and the free-tier/pricing note gives practical invocation context. However, there is no explicit when-to-use vs. ens_resolve guidance and no stated prerequisites (e.g., whether a bare label or full name is preferred).

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

ens_resolveENS resolve / reverseA
Read-onlyIdempotent
Inspect

Resolve an ENS name to an address (+ url/avatar/twitter/github records, optional L2 addresses), or an address to its primary ENS name with forward verification. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
nameNoENS name (or pass address)
chainsNoalso resolve ENSIP-11 addresses on these chains
addressNo0x address for reverse lookup

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, open-world, and non-destructive behavior. The description adds meaningful operational context: a free tier of 10 calls/day, then $0.001 via HTTP endpoint or X-API-Key credits, plus optional L2 resolution and forward verification.

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 with no wasted wording: the first front-loads the dual-mode purpose, and the second adds the rate-limit and pricing information. It is appropriately sized for a tool with rich schema and 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?

Given the output schema and annotations, the description covers the essential context: forward and reverse ENS resolution, record retrieval, optional L2 addresses, and cost limits. Return-value details are not needed because an output schema exists.

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 parameter documentation baseline is already satisfied by the schema. The description adds some high-level mapping between name, address, and optional L2 chains, but it does not clarify parameter combinations, mutual exclusivity, or input formats 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?

The description states a specific verb and resource: resolving an ENS name to an address or an address to its primary ENS name. It also names the additional records and optional L2 addresses, making the tool's scope distinguishable from a simple availability check or generic address lookup.

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 resolution directions and optional chain support imply when the tool is appropriate, but there is no explicit guidance on when to use it instead of siblings such as ens_available or address_profile. No exclusions or prerequisites are stated beyond the pricing note.

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

erc20_infoERC-20 token facts + balanceA
Read-onlyIdempotent
Inspect

Name, symbol, decimals, total supply, owner, paused, upgradeable-proxy detection and (optional) a holder's balance for any ERC-20. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainYeschain name
tokenYesERC-20 contract address
holderNoaddress to read the balance of

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, open-world, and non-destructive behavior, so the bar is lower. The description nevertheless adds genuinely new context: a rate limit (10 calls/day free) and the paid fallback via HTTP endpoint or X-API-Key credits, which affects retry and batching 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, no filler: the returned fields lead, and the secondary cost/quota note trails. Every clause earns its place and nothing needs re-reading.

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 structure need not be restated, and the read-only profile is covered by annotations; the description is sufficient for correct invocation. The remaining gap is sibling disambiguation against token_balances and token_safety_check for a tool operating in a crowded token-inspection namespace.

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 each parameter is documented inline, so the schema carries the semantics. The description's only added value is signaling that holder is optional, consistent with the two-required-parameter contract; it adds no format or validation 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 enumerates the exact data returned (name, symbol, decimals, total supply, owner, paused, proxy detection, optional holder balance) for any ERC-20, so the resource and payload are unambiguous. It does not distinguish itself from nearby siblings such as token_balances, token_safety_check, or contract_read, leaving overlap for the agent 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?

It notes the holder balance is optional, which is implied usage guidance, and discloses the free-tier/cost model. It never states when to prefer this over token_balances or contract_read, nor any exclusion conditions, so the agent must infer routing from the sibling names alone.

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

erc4626_vaultERC-4626 vault readerA
Read-onlyIdempotent
Inspect

Yield vault facts: underlying asset, total assets, share price (assets per share), deposits open, and a holder's position. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainYeschain: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche
vaultYesERC-4626 vault address
holderNoholder address

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description adds genuinely non-structured behavior: a 10 calls/day free quota and a $0.002 per-call cost with the payment mechanisms named. It does not disclose error behavior or state that omitting holder simply drops the position 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?

Two short sentences, front-loaded with the returned data before the commercial terms. Every clause carries information; nothing is restated from the title or annotations.

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

Completeness3/5

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

With an output schema present, return values need not be explained, and the description correctly focuses on scope plus cost. However, the telegraphic fragment style leaves real gaps: no statement of what the tool returns when holder is absent, and no error or unsupported-chain 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 the baseline is 3. The description adds only marginal meaning, implicitly linking the 'holder' parameter to the returned 'holder's position' and confirming that asset/share price figures are derived from the vault. It gives no format or constraint hints beyond the schema.

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

Purpose4/5

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

The description names the resource and enumerates the specific facts returned: underlying asset, total assets, share price, deposits open, and holder position. This distinguishes it from generic siblings like contract_read or erc20_info, which don't target ERC-4626 share/asset accounting. It stops short of naming an alternative explicitly, and the verb is implied rather than stated ('Yield vault facts').

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

Usage Guidelines2/5

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

There is no guidance on when to pick this over contract_read, erc20_info, or token_balances, and no note on what happens if the optional holder parameter is omitted. The only conditional content is commercial (free tier limits and pricing), not usage-selection guidance.

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

event_logsContract event logs (decoded)B
Read-onlyIdempotent
Inspect

Recent events of a contract (≤5000 blocks), decoded with your event signature or automatically via the open Sourcify signature DB. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainYeschain: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche
eventNoevent signature
limitNomax logs 1-100
blocksNolook-back blocks (default 1000, max 5000)
addressYescontract
toBlockNoend block
fromBlockNostart block

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior: decoding falls back to the open Sourcify signature DB when no event signature is supplied, and there is a hard 5000-block window plus a 10 calls/day free tier then $0.002/credit. It does not explain how fromBlock/toBlock interact with the blocks parameter.

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

Conciseness5/5

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

Two tight sentences with the scope limit and decoding behavior front-loaded, followed by cost. No filler, no restatement of the title.

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, full annotation coverage and 100% parameter documentation, the description only needs to add scope, decoding behavior and cost, which it does. The one gap is how the block-range parameters interact, which an agent may need before 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%, so all seven parameters are already documented, which sets the baseline at 3. The description contributes one real insight beyond the schema — that the event signature is optional because Sourcify auto-resolves it — but says nothing about the overlap between blocks and fromBlock/toBlock.

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: recent events of a contract, bounded to ≤5000 blocks, with decoded output. It is clearly distinct from siblings like contract_read or tx_explain, though it never names an alternative explicitly.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no routing to alternatives such as contract_read for function calls or tx_explain for a single transaction. The only conditional content is pricing and quota, which does not help an agent choose the tool.

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

extract_entitiesEntity extractorA
Read-onlyIdempotent
Inspect

Pull emails, URLs, EVM addresses, tx hashes, BTC addresses, phone numbers, dates, money amounts, IPs, hashtags and @mentions out of any text. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
textYestext
typesNocomma list to limit

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so safety is covered. The description adds genuinely new operational context the annotations do not carry: a 10 calls/day free quota and $0.001 per call afterwards, plus the two payment paths (HTTP endpoint or X-API-Key credits). Return shape is omitted, but an output schema exists, so that gap is minor.

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, with the capability statement front-loaded and the cost caveat trailing. Nothing repeats the title or the 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 two-parameter, read-only extractor with full annotation coverage and an output schema, the description covers what is extracted and what it costs, which is what an agent needs to decide to call it. The one remaining gap is how the 'types' limiter interacts with the output, left entirely to the 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 baseline is 3, but the description adds real meaning by naming the entity categories, which are effectively the legal values for the otherwise opaque 'types' comma list. It does not state that 'types' narrows the output or how the names must be spelled, which keeps it below a 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 uses a concrete verb ('Pull ... out of') plus an explicit enumeration of the resource classes (emails, URLs, EVM addresses, tx hashes, BTC addresses, phones, dates, money, IPs, hashtags, @mentions) applied to 'any text'. That enumeration separates it from near-neighbours like pii_redact, text_stats, or address_validate without the agent 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?

The extraction-from-text context is clear, but there is no explicit when-to-use/when-not guidance and no reference to alternatives such as pii_redact for redaction or address_validate for verifying a single address. The second sentence is about pricing, not about tool selection, so usage is only implied.

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

feed_parseRSS / Atom / JSON Feed readerA
Read-onlyIdempotent
Inspect

Parse a feed (or autodiscover it from a web page) into clean JSON: title, latest items with link, date and summary. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
urlYesfeed or page URL
limitNoitems 1-50

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely non-structured context: a free tier of 10 calls/day, then $0.002 per call via HTTP endpoint or X-API-Key credits, which affects whether an agent should call it. It does not discuss failures (unreachable page, non-feed content) or item ordering beyond 'latest items'.

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 sentences, front-loaded with the core behavior and output shape, followed by cost. No filler, though the pricing sentence is closer to marketing detail than invocation guidance and could be trimmed without loss of call correctness.

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, annotations covering safety and idempotency, and a fully documented 2-parameter schema, the description only needs to establish scope and cost — which it does. The remaining gap is error/edge-case behavior for pages that are not feeds, which is minor for a read-only parser.

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 url ('feed or page URL') and limit ('items 1-50') are already documented, making 3 the baseline. The description's 'or autodiscover it from a web page' reinforces the url dual-purpose but adds nothing about limit or defaults.

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 (parse) and resource (feed: RSS/Atom/JSON), and adds the autodiscovery-from-page variant plus the returned fields (title, items with link, date, summary). This clearly separates it from adjacent tools like sitemap_parse or url_metadata 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 only implied by the phrasing 'Parse a feed (or autodiscover it from a web page)'. There is no explicit when-to-use/when-not guidance and no named alternative (e.g. sitemap_parse for XML sitemaps) to route the agent.

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

gas_compareMulti-chain gas estimatorA
Read-onlyIdempotent
Inspect

Current gas on 7 EVM chains: base fee, priority fee, suggested maxFee, and the USD cost of a transfer, ERC-20 transfer, approve and DEX swap. Tells you the cheapest chain right now. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainsNocomma list (default all 7)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description goes beyond that with genuinely useful non-schema context: live/current data, a free tier of 10 calls/day, and a $0.001 overage path via HTTP endpoint or X-API-Key credits — an agent needs this to decide whether to batch or repeat calls. It does not name the 7 chains or discuss staleness/caching, which keeps it at 4 rather than 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?

Three sentences, front-loaded with what the tool returns, then the differentiator, then cost/limits. No filler or restatement of the title, and every sentence 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 an output schema present, the description need not explain return shapes, yet it still summarizes the payload, and it covers defaults, freshness, and rate limits. The main gap is that the seven supported chain identifiers are never named, forcing the agent to guess valid values for the chains parameter or call with no argument.

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 optional parameter already documents 'comma list (default all 7)'. The description only reinforces the chain scope by saying '7 EVM chains', adding no format, casing, or error-handling detail beyond the schema. Baseline 3 applies since 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?

The description gives a specific resource (multi-chain gas) and enumerates exactly what is returned: base fee, priority fee, suggested maxFee, and USD costs for transfer, ERC-20 transfer, approve, and DEX swap. The closing line 'Tells you the cheapest chain right now' adds the differentiating angle that separates it from siblings like btc_fees or dex_price.

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 pre-transaction cost check, and the 'cheapest chain right now' line hints at the comparison use case. However, there is no explicit when-to-use/when-not guidance and no named alternative (e.g. btc_fees for Bitcoin, chain_info or rpc_health for raw chain state), even though those siblings exist and could confuse selection.

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

hash_encodeHash / encode / decodeB
Read-onlyIdempotent
Inspect

sha256/sha1/sha512/md5/keccak256, function selector, HMAC-SHA256, base64(url), hex, URL encoding, UUIDs, JWT decode (unverified), EVM checksum address. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
opYesoperation, e.g. sha256, keccak256, selector, base64-decode, jwt-decode
keyNoHMAC key
inputNoinput text
inputEncodingNoutf8 (default) | hex | base64

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds context annotations cannot carry: the free tier (10 calls/day), the $0.001 cost via HTTP endpoint or X-API-Key credits, and the important caveat that JWT decoding is unverified. It omits error behavior and which ops require which optional params.

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?

Two sentences, no filler, but the first is an unstructured comma-separated dump mixing hashing, encoding, decoding and address formatting, which is slower to parse than a grouped list. Pricing is correctly placed 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.

Completeness2/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 parameters are fully documented. But for a multiop tool spanning a dozen operation families, the description gives no op catalog beyond schema examples and no indication of which parameters are conditionally required per operation, leaving an agent to guess for HMAC, selector and decode ops.

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%, including the enumerated op examples and the inputEncoding values, so the baseline is 3. The description adds only marginal meaning beyond the schema — naming HMAC-SHA256 hints at the purpose of `key`, but it does not map operations to the required parameters (e.g. that `selector` expects a function signature in `input`).

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 enumerates concrete capabilities (sha256/sha1/sha512/md5/keccak256, function selector, HMAC-SHA256, base64(url), hex, URL encoding, UUIDs, JWT decode, EVM checksum address), so an agent knows exactly what class of operation the tool performs. It does not, however, distinguish itself from siblings that overlap heavily (jwt_inspect, id_generate, number_base, abi_encode), 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 statement anywhere in the description. With overlapping siblings like jwt_inspect (also JWT decode) and id_generate (UUIDs) present, the absence of routing guidance is a real gap; only the operation list implicitly hints at applicability.

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

html_to_markdownWeb page / HTML → MarkdownA
Read-onlyIdempotent
Inspect

Fetch a public URL (or pass HTML) and get clean LLM-ready Markdown of the main content: headings, links, lists, tables, code; scripts/nav removed; token estimate. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
urlNopublic URL
htmlNoor raw HTML (POST)
maxCharsNocap (default 50000)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, openWorld, idempotent, non-destructive), and the description adds substantial context beyond them: main-content extraction with scripts/nav removed, a token estimate in the result, a hard free-tier limit of 10 calls/day, and the paid path ($0.002 via HTTP endpoint or X-API-Key credits). The rate limit and payment requirement are exactly the kind of operational facts 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 action and result, then the content-handling details, then commercial terms. The single semicolon-chained sentence is dense but every clause carries information; the pricing clause is the longest and could be trimmed, which keeps this just short of top marks.

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 rich annotations, full schema coverage, and an output schema (so return values need no explanation), the description fills the remaining gaps an agent needs: content filtering behavior, rate limits, and cost/auth requirements. 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 all three parameters are already documented in structured form, and the description largely restates them ('public URL', 'or pass HTML'). It does hint that url and html are alternatives, which helps with the ambiguous empty required list, but adds no format, size, or precedence 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: fetch a public URL (or accept raw HTML) and return clean LLM-ready Markdown of the main content. It also enumerates what is preserved (headings, links, lists, tables, code) and what is stripped (scripts/nav), which distinguishes it clearly from the inverse sibling markdown_to_html.

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

Usage Guidelines3/5

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

The use case (turn a page into LLM-ready Markdown) is implied clearly, and 'public URL' implicitly excludes authenticated or private pages. However, it never names an alternative (e.g., markdown_to_html for the reverse direction, url_metadata for raw metadata) and gives 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.

http_inspectHTTP / API inspectorB
Read-onlyIdempotent
Inspect

Fetch a URL and report status, redirect chain, latency, size, cache headers, CORS, parsed rate-limit headers (RateLimit-, X-RateLimit-, Retry-After) and a security-headers grade. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
urlYeshttp(s) URL
methodNoGET (default) or HEAD

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description goes beyond them with concrete operational context: a 10 calls/day free quota, a $0.002 per-call charge afterward, and the X-API-Key credit mechanism — material facts an agent needs when planning repeated calls.

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 two sentences, front-loaded with the action and the payoff, with the enumeration and pricing kept tight. The long header-family list is dense but each item is informative; nothing is obviously padding, though the output enumeration slightly duplicates what the output schema presumably covers.

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

Completeness3/5

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

With an output schema present, the description need not restate return values, and the small two-parameter input is fully covered by the schema, so the essentials are there. What is missing is sibling differentiation and any note on authentication requirements for paid calls beyond the bare mention of X-API-Key credits.

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 both parameters ('url' documented as http(s) URL with an example, 'method' documented as GET (default) or HEAD), so the baseline is 3. The description adds no meaning beyond the schema for either parameter — it never mentions the HEAD/GET distinction or any constraints on the URL.

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 a URL") and enumerates exactly what the report contains: status, redirect chain, latency, size, cache headers, CORS, parsed rate-limit headers and a security-headers grade. It does not, however, distinguish itself from close siblings such as security_headers_audit, url_metadata or proxy_inspect, so an agent cannot route between them from the description alone.

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. Given that security_headers_audit, broken_links, robots_check, og_image_check and proxy_inspect all touch adjacent HTTP territory, the absence of any routing hint is a real gap; the pricing sentence is commercial information, not usage guidance.

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

iban_validateIBAN validatorA
Read-onlyIdempotent
Inspect

Check an IBAN's country length and mod-97 check digits, return BBAN and print format. Not stored. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
ibanYesIBAN

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, and non-destructive, so the description is not needed for the safety profile. It nonetheless adds context annotations cannot express: 'Not stored' discloses the data-retention behavior, and 'Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits' discloses rate limits and pricing, which directly affect an agent's decision to call it repeatedly.

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, both front-loaded: the first states what is checked and returned, the second states retention and cost. Nothing is repeated from the title or annotations, 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?

With an output schema present, the description needn't explain return values, and it correctly avoids doing so while still naming BBAN and print format. For a single-parameter read-only tool, this is near-complete; the only residual gap is how an invalid IBAN is surfaced (error vs. a validity flag), which is reasonably delegated 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 coverage is 100% with a single required 'iban' string, so the schema already documents the only parameter and the baseline of 3 applies. The description adds no format guidance beyond what is present — notably it does not say whether the spaced form shown in the example ('GB82 WEST ...') is accepted, leaving that inference to the schema example alone.

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 ('Check an IBAN') and goes further by naming the exact checks performed ('country length and mod-97 check digits') plus the outputs ('BBAN and print format'). This makes it unmistakable against siblings like card_number_check, phone_format, or address_validate, which validate different resources.

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 tool's scope clear but never states when to prefer it over an alternative or when it should not be used (e.g. that it validates format/checksum, not whether an account is live). The mention of the free tier implies a cost-based reason to call it sparingly, but that is indirect rather than explicit usage guidance.

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

id_generateUUID / ULID / nanoid generator + decoderA
Read-onlyIdempotent
Inspect

Generate UUID v4/v7, ULID or nanoid (up to 100), or decode a UUID/ULID to its version and embedded timestamp. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
typeNouuid4 | uuid7 | ulid | nanoid
countNo1-100
decodeNoa UUID or ULID to decode

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, destructiveHint=false), but the description adds genuinely new behavior: a free tier of 10 calls/day followed by $0.001 per call via HTTP endpoint or X-API-Key credits, plus the fact that decoding yields version and embedded timestamp. It does not mention pagination or output shape, but an output schema exists so that is covered elsewhere.

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, both front-loaded: capability first, then cost/quota. Every clause carries information (formats, count cap, decode output, rate limit, auth mechanism) with no filler or repetition of the title.

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, fully optional-argument tool with an output schema, the description covers the modes, the count bound, the decode return semantics, and the commercial/rate-limit constraints. The only gap is that it does not say what happens when no type is supplied, which matters since no parameter is required.

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 type (uuid4|uuid7|ulid|nanoid), count (1-100) and decode. The description restates the type options and the count ceiling but adds no format or syntax detail beyond the schema; its only marginal value is clarifying that decode returns a version and embedded timestamp.

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 specific verbs and resources: generate UUID v4/v7, ULID or nanoid, or decode a UUID/ULID. It also states the two operating modes (generation vs decoding) and the cap on output (up to 100), which lets an agent tell immediately that this is the identifier tool rather than a sibling like hash_encode or number_base.

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: 'or decode a UUID/ULID' signals that the decode path is the alternative mode, and 'up to 100' bounds generation. There is no explicit when-to-use or when-not-to-use guidance and no named alternative tool, though among the siblings none is a close substitute, so the cost of that omission is low.

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

idn_homograph_checkLook-alike domain (homograph) checkA
Read-onlyIdempotent
Inspect

Decode punycode, detect mixed scripts and look-alike characters (Cyrillic а vs Latin a) and one-letter typos of major brands/wallets. Anti-phishing for agents. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
domainYesdomain or URL

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

With readOnlyHint, idempotentHint, and destructiveHint already declared, the description adds genuinely new behavioral context: a free tier of 10 calls/day and a $0.001 cost afterward via HTTP endpoint or X-API-Key credits. That rate-limit/cost disclosure is exactly the kind of detail annotations cannot convey, though the description does not state what happens on quota exhaustion (error vs. fallback).

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 with the capability front-loaded, followed by a positioning statement and then pricing. No padding, though the pricing sentence is dense enough that a scanner might miss it if skimming the opening 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?

For a read-only, single-parameter tool with an output schema, the description supplies what the output schema cannot: detection scope, an example, intended use, and cost model. The main residual gap is any note on input normalization or what happens when the quota is exhausted.

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 carries 100% coverage and documents the single parameter as 'domain or URL' with a punycode example. The description confirms punycode input is handled, but adds no syntax, normalization, or edge-case detail (e.g. whether trailing paths or schemes are stripped) 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 concrete operations (punycode decoding, mixed-script detection, look-alike character comparison, brand/wallet typo detection) with a worked example ('Cyrillic а vs Latin a'). This clearly separates it from siblings like domain_rdap, dns_lookup, and url_parse_clean, which do not perform look-alike analysis.

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?

'Anti-phishing for agents' implies the intended use case but gives no explicit when/when-not guidance and names no alternative tool. An agent must infer that this is the right check before domain_rdap or dns_lookup when the concern is impersonation rather than registration or resolution.

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

impermanent_lossImpermanent loss calculatorA
Read-onlyIdempotent
Inspect

LP value vs holding after a price move: full-range (Uniswap v2) and concentrated range (v3, lower/upper) impermanent loss. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
lowerNov3 range lower
upperNov3 range upper
newPriceNocurrent price
entryPriceNoprice at deposit
priceRatioNoor new/entry ratio

Output Schema

NameRequiredDescription

No output parameters

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, idempotent and non-destructive behaviour, yet the description adds real operational context the annotations do not: a 10 calls/day free quota and the paid fallback ($0.001) via HTTP endpoint or X-API-Key credits. What is missing is failure behaviour — what a quota-exceeded or invalid-range call returns.

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 computation and its two variants, then the commercial constraint. No filler and nothing buried.

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?

All five parameters are optional and an output schema exists, so return values need no explanation, and annotations carry the safety profile. The remaining shortfall is that the description never says which parameter combination is required for each mode, leaving a zero-required-parameter tool under-constrained.

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 would be 3, but the description adds genuine meaning by scoping lower/upper to the v3 concentrated case and implying they are unnecessary for the full-range computation. It does not clarify that entryPrice+newPrice and priceRatio are alternative input paths, which is the one gap.

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 computation (LP value vs holding after a price move) and enumerates both supported models, full-range Uniswap v2 and concentrated v3 with lower/upper. No sibling in the list (apr_apy, liquidation_price, dex_price, erc4626_vault) computes impermanent loss, so the boundary is self-evident.

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 imply which inputs to use (bounds for v3, none for v2), but there is no explicit when-to-use statement and no alternative tool is named or excluded. Usage context 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.

ip_cidrIP / CIDR calculatorA
Read-onlyIdempotent
Inspect

IPv4/IPv6 subnet math: network, range, size, netmask/wildcard, private/reserved type, contains-check and subnet split. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
cidrYesCIDR or IP
splitNonew prefix length
containsNoIP to test

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive, open-world behavior, so the bar is lower. The description pays that back with non-obvious context the annotations don't carry: a 10 calls/day free quota and paid overage via HTTP endpoint or X-API-Key credits, which matters for rate-limit planning. It says less about whether split and contains can be combined in one call or how the result is structured.

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 capability list before the commercial terms; no filler. The enumeration is compressed to near-telegraphic style, which slightly hurts scanability but wastes nothing.

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?

A three-parameter, read-only calculator with a rich output schema and full annotation coverage needs little more; the capability list plus quota note is nearly sufficient. The remaining gap is the interaction semantics between the optional split and contains parameters, which an agent would need in order to call it confidently in one shot.

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 all three parameters, and the baseline is 3. The description does add framing—'contains-check' for the IP test and 'subnet split' as a distinct operation producing subnets—but it does not state whether split and contains may be supplied together or how they interact when both are present.

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 pair ('IPv4/IPv6 subnet math') and enumerates the exact computed outputs: network, range, size, netmask/wildcard, private/reserved type, contains-check, and subnet split. This is distinguishable at a glance from neighbors like ip_owner (whois) or address_validate (format check).

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

Usage Guidelines3/5

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

The operation list implies when the tool applies, and the pricing sentence clarifies the free-tier boundary, but there is no explicit when-to-use/when-not guidance and no reference to competing siblings such as address_validate or ip_owner. An agent must infer the choice rather than being routed.

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

ip_ownerIP owner / network (RDAP)A
Read-onlyIdempotent
Inspect

Who owns this IP? Network name, CIDR, country, organization and abuse contact from the regional internet registries (RDAP). Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
ipYesIPv4/IPv6

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description goes beyond them by disclosing a concrete quota and cost model (10 free calls/day, then $0.001, with HTTP endpoint or X-API-Key credits) — real operational context an agent needs before retrying or looping.

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, both front-loaded: the ownership question and returned fields come first, then the cost/quota caveat. No filler, no restatement of the title verbatim, and the most decision-relevant 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?

Because an output schema exists, the description doesn't need to explain return values, and annotations cover safety. What it does supply — data source, field list, and rate/cost limits — is close to sufficient; the only shortfall is edge-case behavior (invalid or private IPs, failure mode) for a single-parameter lookup.

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 exactly one parameter and schema description coverage is 100% ('IPv4/IPv6' with an example), so the schema does the work. The description adds nothing about accepted formats (e.g., whether hostnames, private ranges, or CIDR blocks are valid), 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 verb and resource — 'Who owns this IP?' — and enumerates the returned data (network name, CIDR, country, organization, abuse contact) plus the source (RDAP). An agent can tell this is an IP-ownership lookup rather than a CIDR calculator like ip_cidr, though it never explicitly contrasts itself with 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 Guidelines3/5

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

Usage is only implied: the question phrasing signals 'use this when you need IP registration data.' There is no statement of when to prefer this over ip_cidr, dns_lookup, or geo-style siblings, and no prerequisites (e.g., public IPs only) are given. The pricing line hints at volume/cost constraints but 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.

json_diffJSON diff + patchA
Read-onlyIdempotent
Inspect

Structural diff of two JSON values: added/removed/changed paths (JSON Pointer) and an RFC 6902-style patch. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
aYesold JSON
bYesnew JSON

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive, and open-world behavior. The description adds useful non-annotation context: the free quota of 10 calls/day and paid access via HTTP endpoint or X-API-Key credits. It could go further on input limits or error behavior, but it meaningfully supplements the annotations.

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

Conciseness5/5

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

The description is two focused sentences: the first states the core diff behavior and output, the second gives pricing/access constraints. It is front-loaded and contains no redundant wording.

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

Completeness4/5

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

For a simple two-parameter diff tool with an output schema and rich annotations, the description covers purpose, output components, and pricing/access. It omits explicit usage alternatives and does not note that the schema restricts inputs to objects, but the structured fields fill most remaining gaps.

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

Parameters3/5

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

Schema coverage is 100%, and the schema already documents both parameters as old JSON and new JSON with examples. The description adds no parameter-specific 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.

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: structural diff of two JSON values, with added/removed/changed JSON Pointer paths and an RFC 6902-style patch. This clearly differentiates it from text_diff by operating on JSON structure, but it does not explicitly name or contrast against sibling tools such as json_query or json_format.

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 does but does not state when to use it versus alternatives such as text_diff, json_query, or json_repair. There is no explicit when-to-use or when-not-to-use guidance.

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

json_formatJSON formatter, validator & path queryA
Read-onlyIdempotent
Inspect

Validate JSON (error line + context), pretty-print/minify/sort keys, measure depth and size, and pick a value by path like a.b[0].c. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
opNopretty | minify
jsonYesJSON text
pathNoe.g. a.c[1]
sortKeysNotrue/false

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely non-obvious context: validation failures return an error line with surrounding context, and there is a quota/paid-tier model (10 free calls/day, then $0.001 via HTTP endpoint or X-API-Key credits), which an agent needs before retry-looping.

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 sentences: the capability list is front-loaded and the commercial terms are compressed into one clause with no filler. The operation list is dense but readable; only the depth/size clause is arguably unearned since no parameter backs it.

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

Completeness3/5

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

With an output schema present, the description needn't explain return values, and it covers ops, path syntax, and pricing. The gap is the mapping between advertised capabilities (validate, depth, size) and the schema's op values, which are documented only as 'pretty | minify' — an agent cannot tell how to request validation or metrics from the supplied fields.

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 json, path, op, and sortKeys, and the baseline is 3. The description echoes the path syntax ('a.b[0].c') already shown in the schema example and adds nothing about op values beyond pretty/minify — notably it advertises depth/size measurement without indicating which parameter selects that mode.

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 concrete operations (validate with error line + context, pretty-print/minify/sort keys, depth/size measurement, path extraction) on a specific resource (JSON text), so the agent knows exactly what capability it gets. It stops short of differentiating from nearby siblings such as json_schema_validate, yaml_json_convert, or csv_json_convert, which could plausibly be confused with a general JSON tool.

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

Usage Guidelines3/5

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

Usage is implied through the enumerated operations and the example path syntax, giving an agent a reasonable sense of when the tool fits. However, there is no explicit when-not-to-use statement and no pointer to json_schema_validate for schema validation or to the YAML/CSV converters, 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.

json_queryJSON path queryA
Read-onlyIdempotent
Inspect

Extract values from JSON with a JSONPath-like path: a.b[0], a[*].b, a[-1], slices and filters like items[?(@.price>=10)]. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
dataYesJSON
pathYespath

Output Schema

NameRequiredDescription

No output parameters

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, idempotent, non-destructive, so the description correctly spends its words elsewhere: the 10 calls/day free tier and the $0.001 per-call charge via HTTP endpoint or X-API-Key credits is real operational context an agent cannot get from the schema. What is missing is failure behavior, e.g. whether a malformed path errors or returns empty.

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 sentences, front-loaded with the core operation and followed by syntax examples, then quota. Dense but every clause carries information; the pricing clause is secondary but legitimately useful 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?

For a two-parameter tool with a 100% covered schema, an output schema, and annotations carrying the safety profile, the description supplies the two things structured fields lack: the path dialect and the quota/cost model. Error semantics would be a nice-to-have, not a blocker.

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 schema labels are bare ('JSON', 'path') and the description adds genuine grammar detail: dotted access, wildcards a[*].b, negative index a[-1], slices, and filter expressions items[?(@.price>=10)]. That is meaning the schema's single example 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?

States a specific verb and resource ('Extract values from JSON') plus the mechanism (JSONPath-like path), which distinguishes it from siblings like json_format, json_diff, and json_schema_validate that also take JSON. It stops short of naming those siblings 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?

The extraction framing implies when to use it over formatting or validation tools, but there is no explicit when-to-use or when-not-to-use statement. An agent must infer the boundary from the sibling list.

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

json_repairJSON repair (fix LLM output)A
Read-onlyIdempotent
Inspect

Fix broken JSON from LLMs: code fences, leading prose, comments, single quotes, bare keys, trailing commas, Python True/None, truncated strings and unclosed brackets. Returns parsed JSON + list of fixes. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
textYesbroken JSON text

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description goes beyond them by disclosing the lenient-repair semantics, the return shape (parsed JSON + list of applied fixes), and the quota/cost model (10 free calls/day, then $0.001 via HTTP endpoint or X-API-Key credits). It does not say what happens when repair is impossible (error vs. best-effort output), which is the one behavioral gap.

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, then the defect taxonomy, then the return value and pricing — a sensible order with no filler. The error enumeration is dense but each item carries routing information; the pricing sentence is slightly secondary but operationally relevant for rate-limited use.

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 and an output schema already present, the description only needs to add repair semantics and cost context, both of which it does. The remaining omission is failure behavior and whether repaired output should be re-validated downstream — minor for a single-string 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?

Only one parameter, and schema description coverage is 100% with a concrete malformed-JSON example embedded in the schema. The description adds no meaning beyond that — it never mentions the 'text' input explicitly or constraints on it — so the 3 baseline for a fully documented schema 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 ('Fix broken JSON from LLMs') and enumerates the exact defect classes handled: code fences, leading prose, comments, single quotes, bare keys, trailing commas, Python literals, truncated strings, unclosed brackets. This clearly separates it from sibling tools like json_format (well-formed JSON) and json_schema_validate (schema conformance), which an agent could otherwise confuse with 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 enumerated defect list functions as an implicit when-to-use trigger: if the payload exhibits any of those symptoms, this is the tool. What's missing is any explicit exclusion or named alternative (e.g. 'for already-valid JSON use json_format'), so the agent must infer the routing itself.

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

json_schema_validateJSON Schema validatorA
Read-onlyIdempotent
Inspect

Validate JSON data against a JSON Schema (draft 4, 7, 2019-09, 2020-12) and get precise error paths. Use it to check tool outputs or API payloads. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
dataYesJSON value to validate
draftNo4 | 7 | 2019-09 | 2020-12 (default)
schemaYesJSON Schema

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely new behavioral context: the free tier of 10 calls/day, the $0.001 cost afterwards, and that paid access works via an HTTP endpoint or X-API-Key credits — cost/rate-limit disclosure is exactly the kind of thing 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.

Conciseness5/5

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

Two sentences, no filler, with the core action and supported drafts front-loaded before the use case and pricing note. Every clause carries information an agent would 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?

An output schema exists, so return values need not be explained, and annotations cover the safety profile; the description still adds the useful 'precise error paths' hint and the billing model. A minor gap is that it does not clarify the mismatch between 'JSON value to validate' and the schema's object-only typing of data.

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 data, schema and draft, including the draft enum values and default. The description's parenthetical draft list merely restates the schema, adding no new syntax or format 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 states a specific verb and resource ('Validate JSON data against a JSON Schema') and enumerates the supported drafts, which is far more precise than the title alone. It does not explicitly name a sibling such as json_format or openapi_lint to draw the boundary, 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 Guidelines4/5

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

'Use it to check tool outputs or API payloads' gives a concrete usage context that an agent can match against a task. There are no exclusions or named alternatives (e.g. when to prefer json_format for pretty-printing), so the guidance is clear but incomplete.

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

jwt_inspectJWT inspector + JWKS verifyA
Read-onlyIdempotent
Inspect

Decode a JWT, explain its claims (expired? lifetime?) and verify RS/PS/ES/EdDSA signatures against a public JWKS URL or the issuer's OIDC discovery. No secrets needed or stored. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
tokenYesJWT
jwksUrlNoJWKS URL
discoverNotrue = use iss OIDC discovery

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the bar is lower; the description still adds real value. It names the supported asymmetric algorithms (RS/PS/ES/EdDSA), states no secrets are needed or stored, and discloses a 10 calls/day free quota with $0.002 thereafter. What it omits is what happens with HMAC/HS256 tokens, which cannot be verified via JWKS.

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 decode/verify action, then constraints, then cost. No filler. The pricing sentence is slightly promotional but legitimately informs an agent about quota limits.

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 described, and annotations carry the safety profile. The description covers purpose, algorithm support, privacy, and cost. Remaining gaps are edge-case behavior: unsupported algorithms, decode-only mode, and failure/error semantics.

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 baseline, but the description goes beyond the terse schema labels by presenting jwksUrl and discover as two alternative verification paths (external JWKS vs issuer OIDC discovery). It does not state precedence if both are supplied, which caps it at 4.

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 and resource: decode a JWT, explain claims (expiry, lifetime), and verify RS/PS/ES/EdDSA signatures against a JWKS URL or OIDC discovery. That is far more precise than the name alone. It does not explicitly differentiate from the sibling signature_verify (or typed_data_risk), which keeps it off 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 context is implied well: pass a token, and either supply a JWKS URL or enable issuer discovery. The 'No secrets needed or stored' line usefully frames the safe case. However, there is no explicit when-not guidance and no routing to the closest sibling (signature_verify) for raw non-JWT signatures.

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

language_detectLanguage detectionA
Read-onlyIdempotent
Inspect

Detect the language of a text (82 languages, ISO 639-3 + BCP 47), including Traditional vs Simplified Chinese. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
textYestext (20+ chars best)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context the annotations cannot express: a free tier of 10 calls/day, then $0.001 per call via the HTTP endpoint or X-API-Key credits — an agent can budget calls accordingly. It stops short of describing accuracy behavior on short inputs, which the schema only hints at.

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 compact sentence with the capability front-loaded and the scope qualifiers trailing in parentheses, so nothing is buried. The pricing clause is useful but appended with a semicolon, making the sentence do two unrelated jobs; a split would read more cleanly.

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

Completeness4/5

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

For a one-parameter tool with rich annotations and an output schema, the description covers capability, language coverage, and cost — enough for correct invocation without explaining return values. The only omission is any note on behavior with very short or mixed-language input, which the schema touches only as "20+ chars best".

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 ("text (20+ chars best)") plus an example, so the schema already carries the semantics and the baseline is 3. The description's mention of 82 languages and Chinese variants relates to output granularity rather than adding meaning to the input parameter.

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 ("Detect the language of a text") and immediately qualifies scope with 82-language coverage, ISO 639-3/BCP 47 output codes, and Traditional vs Simplified Chinese disambiguation. An agent can distinguish this from nearby text tools like text_stats or text_diff 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 only implied by the verb — an agent can infer you call this when you need the language of a string, but there is no explicit when-to-use framing, no statement about alternatives, and no prerequisite notes. The pricing sentence describes cost, not selection criteria, so it does not fill the guidance gap.

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

liquidation_priceLiquidation price calculatorA
Read-onlyIdempotent
Inspect

Perp (isolated margin: side, entry, leverage, maintenance margin) or lending (collateral, debt, liquidation threshold → health factor) liquidation price and distance. Risk math, not advice. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
debtNolending: debt value
modeNoperp | lending
sideNolong | short
entryNoentry price
priceNolending: collateral price
leverageNox
collateralNolending: collateral amount
maintenanceMarginNo%
liquidationThresholdNolending: LT %

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely non-obvious behavior: a 10 calls/day free tier, then $0.001 per call via HTTP endpoint or X-API-Key credits, plus the 'not advice' limitation. It stops short of describing output shape, though an output schema exists to cover 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?

Two sentences, front-loaded with the capability and mode split, then pricing. The nested parentheticals are dense but readable, and no sentence is pure filler. The pricing clause is tangential to invocation but earns its place as cost context.

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 9-parameter calculator with no required fields and an existing output schema, the description covers both operating modes, the field mapping per mode, the returned quantities, and cost/rate limits. An agent has everything needed to choose a mode and construct a valid 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 by grouping parameters by mode (side/entry/leverage/maintenanceMargin vs collateral/debt/liquidationThreshold) and mapping LT to a health-factor result. That disambiguation is not present in the flat schema, which merely labels each field.

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 computation (liquidation price and distance, plus health factor for lending) and enumerates the inputs each mode consumes, so an agent knows exactly what the tool returns. It never explicitly contrasts itself with siblings like impermanent_loss or apr_apy, but the resource is specific enough to stand apart.

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 parentheticals effectively route the agent: use perp fields for isolated-margin perps, lending fields for collateral/debt/LT. It adds a scope boundary ('Risk math, not advice'), but gives no guidance on defaults when mode is omitted (all 9 params are optional) and no when-not-to-use case.

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

llm_cost_estimateLLM cost calculatorA
Read-onlyIdempotent
Inspect

USD cost of a prompt across 22 popular models (GPT, Claude, Gemini, Grok, DeepSeek, Llama, Mistral) from token counts or raw text, sorted cheapest first. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
textNoor raw prompt text to count
callsNonumber of calls
modelsNocomma list (default all)
inputTokensNoinput tokens (default 1000)
outputTokensNooutput tokens (default 500)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely new context: a free tier of 10 calls/day, then $0.001 per call via the HTTP endpoint or X-API-Key credits, plus the cheapest-first ordering. It does not describe error or over-quota behavior, which keeps it from a 5.

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

Conciseness4/5

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

Two dense sentences with the core capability front-loaded and no filler. The second sentence is slightly cluttered by mixing quota, per-call price and auth mechanism, but each element carries information an agent cannot get from the 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 values need no explanation, and all five parameters are optional with full schema coverage. The description covers capability, model scope, ordering and rate limits, leaving only marginal gaps such as behavior when the daily quota is exhausted or the result of an unknown model name.

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 every parameter is already documented with defaults and examples; the baseline of 3 applies. The description adds only the framing that text and token counts are alternative input paths, which is modest extra meaning over the per-field schema text.

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 ("USD cost of a prompt") plus the model set (22 models, named families) and the two input modes (token counts or raw text), and even declares the output ordering (cheapest first). An agent can distinguish this from the sibling token_count, which only counts tokens without pricing.

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 use it (estimating per-call prompt cost across providers), but never states it explicitly or names an alternative such as token_count or currency_convert for related tasks. There are no when-not-to-use conditions or prerequisites beyond the quota note.

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

llms_txt_validatellms.txt validatorA
Read-onlyIdempotent
Inspect

Check a site's /llms.txt against the llmstxt.org format: H1, summary, sections, link entries with notes; optional link check. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
urlNosite or llms.txt URL
textNoor the file content
checkLinksNotrue to check up to 8 links

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, open-world, non-destructive behavior, so the safety profile is covered. The description adds useful operational context beyond annotations: the free quota of 10 calls/day, the $0.002 paid path, and the HTTP endpoint or X-API-Key credit mechanism.

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, consisting of one dense validation sentence followed by a short pricing/rate-limit sentence. Every element earns its place, and no unnecessary wording is 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?

With annotations covering safety and an output schema covering return values, the description supplies the remaining essentials: what format rules are checked, that link checking is optional, and what usage limits/costs apply. It is complete enough for an agent to decide whether and how to call the tool.

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

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 explains url, text, and checkLinks in detail. The description reinforces that a site or llms.txt URL is accepted and that link checking is optional, but it adds little parameter meaning beyond the structured 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: check a site's /llms.txt against the llmstxt.org format. It also enumerates the validated elements (H1, summary, sections, link entries with notes), making its purpose clearly distinct from siblings such as robots_check or sitemap_parse.

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 intended use clear for agents dealing with llms.txt validation and mentions the optional link-check mode. It does not explicitly contrast itself with related sibling tools or state when not to use it, 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.

loan_amortizationLoan / mortgage amortizationA
Read-onlyIdempotent
Inspect

Monthly payment, total interest and schedule for annuity (本息平均攤還) or equal-principal (本金平均攤還) loans. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
methodNoannuity | equal-principal
monthsYesterm in months
principalYesloan amount
annualRateYesannual rate %

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely new behavioral context: a free tier of 10 calls/day and a paid fallback ($0.001 via HTTP endpoint or X-API-Key credits), which matters for an agent deciding whether to call repeatedly. It stops short of describing the returned schedule structure, but an output schema exists.

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

Conciseness4/5

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

Two sentences, front-loaded with what is computed before the pricing caveat; nothing is padded. The pricing sentence is dense but earns its place as decision-relevant 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 need not explain return values, and it covers methods, key inputs implicitly, and cost. The only real gap is whether the amortization schedule is returned inline (and how large it may be for 360-month loans), which an agent might want to know.

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

Parameters3/5

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

Schema coverage is 100%, so all four parameters are already documented in the schema, making 3 the baseline. The description adds only the Chinese equivalents for the two method values, which mildly clarifies 'annuity' vs 'equal-principal' but adds no unit, rounding, or default information 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?

The description names the concrete outputs (monthly payment, total interest, schedule) and the resource (loan/mortgage amortization), plus the two supported methods (annuity / equal-principal). This is specific enough to separate it from siblings such as apr_apy or vesting_schedule 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 domain is narrow enough that usage is largely self-evident, and the two method names hint at the choice an agent must make. However, there is no explicit when-to-use vs. alternatives guidance (e.g. apr_apy, vesting_schedule) and no instruction on how to pick between annuity and equal-principal.

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

lunar_dateLunar (農曆) date converterA
Read-onlyIdempotent
Inspect

Gregorian ↔ Chinese lunar date (incl. leap months) with 干支 year and zodiac; e.g. find the solar date of 中秋 (8/15). Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
dateNoYYYY-MM-DD (default today, Taipei)
leapNoleap month
lunarDayNo1-30
lunarYearNofor lunar→solar
lunarMonthNo1-12

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world, so the description is free to add the non-obvious operational facts: a 10 calls/day free quota, then $0.001 per call, paid either through the HTTP endpoint or X-API-Key credits. That quota/payment detail is exactly the kind of context an agent cannot get from structured fields. It still doesn't say what happens when quota is exhausted (error vs. silent billing).

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 front-loads the core capability, then the example, then the cost model — no filler and nothing repeated from the title. Every clause carries information the agent needs to decide or call.

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 explanation, and the free/paid model plus bidirectional scope cover the main agent concerns. The remaining gap is parameter interaction: it never states whether date and the lunar* fields can be supplied together or which wins, which matters because all five parameters are optional.

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 discloses that conversion runs in both directions, which is what tells an agent that supplying lunarYear/lunarMonth/lunarDay switches to lunar→solar mode while date is the Gregorian input. Leap-month handling is also called out, giving the 'leap' flag a purpose beyond its terse schema text.

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 bidirectional resource (Gregorian ↔ Chinese lunar date) plus the extra outputs it returns (干支 year, zodiac, leap months), and anchors it with a concrete example (中秋 8/15 → solar date). No sibling tool covers calendrical conversion except the timezone-oriented time_convert and holiday-oriented public_holidays, so the resource itself differentiates it, though neither sibling is 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?

The 中秋 example implies the intended use case (holiday-to-solar lookup), and the pricing line hints at call budgeting, but there is no explicit when-to-use vs. when-not-to-use guidance and no routing to time_convert or public_holidays for adjacent needs. 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.

markdown_to_htmlMarkdown → HTMLA
Read-onlyIdempotent
Inspect

Render GitHub-flavored Markdown to HTML with raw HTML escaped and script URLs removed; also returns the heading outline. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
markdownYesMarkdown text

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and openWorld, so the safety profile is covered. The description goes meaningfully beyond them by disclosing the sanitization policy (raw HTML escaped, script URLs stripped), the secondary return value (heading outline), and per-call rate/cost limits — exactly the kind of behavioral context annotations cannot express. It stops short of noting size limits or what escaping does to inline HTML in practice.

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 sentence with three tightly packed clauses, leading with the core conversion behavior before secondary output and cost details. No filler or redundant restatement of the title.

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 only light mention, and the description still flags the heading outline. Sanitization and rate limits are covered; the only gap is input-side constraints such as maximum markdown size or GFM extension coverage, which are minor for a one-parameter converter.

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 including an example, so the schema already does the explanatory work. The description adds no format, length, or encoding constraints beyond what the schema provides, 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 states a specific verb and resource ('Render GitHub-flavored Markdown to HTML') and immediately adds scope details: raw HTML escaped, script URLs removed, heading outline also returned. Among siblings such as json_format, yaml_json_convert, and text_stats, the format pair makes the tool's domain unmistakable 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 conditions are implied by the nature of a converter, and the quota/pricing note ('Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits') tells the agent about cost constraints. However, there is no explicit when-to-use vs. when-not guidance and no naming of an alternative tool for cases like diffing or stats.

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

math_evalSafe math evaluatorA
Read-onlyIdempotent
Inspect

Evaluate arithmetic exactly instead of guessing: + - * / ^ %, parentheses, sqrt/ln/log/round/min/max/pow, pi/e and named variables. No code execution. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
exprYesexpression
varsNoJSON object of variables

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive, so the safety profile is largely pre-paid. The description still contributes beyond them by asserting 'No code execution' (a security-relevant guarantee about how the expression is handled) and by disclosing the rate limit and pricing model (10 calls/day free, then paid credits), which is operationally important for an agent deciding how often to call it.

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

Conciseness5/5

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

Two sentences, front-loaded with the capability and grammar before the cost note. The operator list is dense but every token is functional, and the pricing clause is compressed into one tail sentence rather than a paragraph.

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?

A return-value explanation is unnecessary because an output schema exists, and the expression grammar plus variable support covers the two-parameter surface well. What is left implicit is error behavior (malformed expression, unresolvable variable name) and what 'exactly' means numerically, e.g. precision or rounding policy, which matters for a tool the agent is told to trust over its own arithmetic.

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 terse schema descriptions ('expression', 'JSON object of variables') already carry the baseline. The description does add real value by publishing the accepted grammar (operators, function names, constants) that the schema never states, but it says nothing about how 'vars' keys bind to the expression or how they interact with 'pi'/'e'. That is a marginal improvement over a fully-covered schema, not a decisive one.

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-plus-resource ('Evaluate arithmetic') and then enumerates the exact supported surface: + - * / ^ %, parentheses, sqrt/ln/log/round/min/max/pow, pi/e, and named variables. That enumeration alone separates it from look-alike siblings such as number_base, unit_convert, or apr_apy, which an agent can rule out without opening either 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?

'Evaluate arithmetic exactly instead of guessing' gives a clear selection cue: reach for this rather than doing mental arithmetic. It does not name an alternative tool or state a when-not condition, but for a self-contained calculator no plausible sibling overlap exists, so the missing exclusion is low-cost.

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

mcp_tools_lintMCP tool-definition linterA
Read-onlyIdempotent
Inspect

Connect to an MCP server (streamable HTTP) or take a tools/list array and lint every tool: names, descriptions, JSON Schema, required params, annotations; score + fixes. Free: 10 calls/day; then $0.003 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
urlNoMCP endpoint
toolsNoor the tools/list JSON

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds genuinely new behavioral facts the annotations do not carry: the transport type (streamable HTTP), that output includes a score plus fixes, and the commercial constraints — 10 free calls/day, then $0.003, or X-API-Key credits. That pricing/auth context is exactly the kind of extra disclosure this dimension rewards.

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 sentences, front-loaded with the core action and its inputs before the pricing detail. Dense but every clause carries information; the semicolon-chained list is slightly compressed but not wasteful.

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 explanation, and the description still covers inputs, lint scope, output summary, and auth/billing. The remaining gap is behavior when both url and tools are supplied, or when neither is, which an agent would want to 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 coverage is 100%, so both parameters are already documented as 'MCP endpoint' and 'the tools/list JSON'. The description's 'or' framing hints that the two inputs are alternatives, which is useful since both are optional, but it does not state mutual exclusivity or precedence, so it adds only marginal 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?

States a specific verb (lint) and resource (every tool in an MCP server / tools/list array) and enumerates exactly what is checked: names, descriptions, JSON Schema, required params, annotations. It also states the output shape (score + fixes), and the MCP-server framing clearly separates it from siblings like openapi_lint or json_schema_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?

The description makes the two accepted input modes explicit (connect to a streamable-HTTP MCP endpoint, or paste a tools/list array), which implies when the tool applies. However it never names an alternative tool or an exclusion case, and it does not say which mode to prefer or whether exactly one of the two inputs is required, so the guidance remains implicit.

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

nft_metadataNFT metadata + ownerA
Read-onlyIdempotent
Inspect

ERC-721/1155 token: standard, collection name, owner, tokenURI resolved (IPFS/Arweave/data URI) and the metadata JSON with image URL; says whether metadata is on-chain, IPFS or a mutable server. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainYeschain: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche
tokenIdYestoken id
contractYesNFT contract

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive, open-world behavior, and the description still adds real value: it explains that tokenURI is resolved across IPFS/Arweave/data URI schemes and that the response classifies whether metadata is on-chain, IPFS, or a mutable server — the last being behaviorally important since mutable metadata can change under the caller. It also discloses the free quota (10/day) and pricing/credential path, which annotations cannot express. It stops short of mentioning failure modes (unresolvable URI, unsupported chain).

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 payload is front-loaded in the first clause, followed by resolution/storage behavior and then commercial terms — a sensible ordering. The pricing sentence is dense but every element (quota, price, credential options) is actionable, with little 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?

With an output schema present, the description needn't spell out return fields, and it still covers URI resolution, storage mutability, and access cost for a simple three-parameter read tool. Only the absence of any error or unsupported-chain guidance 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% with only three parameters, each documented in the schema itself (including the supported chain list). The description adds no syntax, format, or constraint detail beyond that, 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 enumerates concrete outputs — standard (ERC-721/1155), collection name, owner, resolved tokenURI, and metadata JSON with image URL — so an agent knows exactly what the call returns. The verb is implicit (a fetch/lookup) rather than stated, and no sibling (e.g. token_safety_check, token_balances, erc20_info) is named for contrast, which keeps it short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no alternatives named. The final sentence discusses free-tier limits and paid access but gives no routing logic, so distinguishing this from other token-inspection siblings is left entirely to the agent.

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

number_baseNumber base converter (BigInt)A
Read-onlyIdempotent
Inspect

Convert big integers between bases 2-36 (hex/bin/oct/dec, 0x/0b/0o prefixes) with two's complement for 8-256 bits. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
toNoextra target base
bitsNotwo's complement width
fromNobase 2-36 (auto from prefix)
valueYesnumber

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive and open-world, so the bar is lower, and the description adds genuinely useful behavior: automatic prefix-based base detection, the 8-256 bit two's complement window, and the free-tier limit of 10 calls/day before $0.001 per call via HTTP or X-API-Key credits. That quota/pricing disclosure is exactly the kind of context 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?

Two sentences, front-loaded with the conversion capability and its constraints before the commercial/rate-limit note. Dense and mostly waste-free, though the pricing clause sits in a marketing tone that could be tightened to a plain quota statement.

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

Completeness4/5

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

For a single-operation converter with an output schema, a fully described input schema, and clear annotations, the description covers bases, prefixes, width, and quota, leaving nothing an agent needs before calling it. The only gap is guidance on choosing it over adjacent numeric/encoding tools.

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 would be 3, but the description adds meaning the schema lacks: the 2-36 valid range for bases, the prefix conventions that drive automatic 'from' detection, and the 8-256 bit width bound that the 'bits' property only illustrates with a single example. It does not clarify 'to' semantics further, which keeps it out of 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?

States a specific verb and resource (convert big integers between bases 2-36) and pins down the input forms (hex/bin/oct/dec with 0x/0b/0o prefixes) plus two's complement support. No sibling tool in the list covers radix conversion, so an agent can select this 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 Guidelines2/5

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

The description explains what the tool does but never says when to reach for it rather than an alternative (e.g. unit_convert or hash_encode) or when not to use it. The rate-limit sentence is operational context, not usage guidance, so everything about selection is left to inference from the name.

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

og_image_checkLink-preview image checkA
Read-onlyIdempotent
Inspect

Does the page's og:image work in link previews? Fetches it and checks status, type, file size, pixel dimensions and aspect ratio (1200×630). Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
urlNopage URL
imageNoor an image URL directly

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, open-world and non-destructive, so the description rightly spends its words elsewhere: it discloses that a remote fetch happens, exactly which validations are performed, and the cost/quota model (10 calls/day free, then $0.002 via HTTP endpoint or X-API-Key credits). It does not say how fetch failures, redirects or non-HTML pages are handled.

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 compact sentences: the purpose question is front-loaded, then the checks, then pricing. The pricing sentence is on the long side but is genuine call-time information, so nothing is clearly 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 an output schema present, the description need not explain return values, so the remaining burden is scope, checks and cost — all covered. The gap is the edge case where neither url nor image is supplied, which is undefined here and only weakly implied by 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% and both parameters are optional, so the schema carries parameter meaning; the description adds nothing about the 'url vs image' choice. In particular it does not clarify the mutually-exclusive/priority relationship that the schema only hints at with 'or an image URL directly'.

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 (the page's og:image) and a specific check set (status, type, file size, pixel dimensions, aspect ratio against 1200x630). It is clearly distinguishable from generic siblings like url_metadata, though it never names an alternative.

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 framing question ('Does the page's og:image work in link previews?') implies the use case well, but there is no explicit when-to-use/when-not guidance and no mention of the nearest alternative (url_metadata, http_inspect) for agents deciding between them.

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

openapi_lintOpenAPI linter (agent readiness)A
Read-onlyIdempotent
Inspect

Lint an OpenAPI/Swagger JSON or YAML: operationIds, descriptions, responses, undeclared path params, missing security schemes, servers, x402 payment info. Free: 10 calls/day; then $0.003 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
urlNospec URL
specNoor the spec (JSON object or YAML string)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuinely non-structured context: a free tier of 10 calls/day, then $0.003 per call via the HTTP endpoint or X-API-Key credits — exactly the cost/auth constraint an agent needs before calling. It stops short of describing failure modes (e.g., invalid URL, unreachable spec).

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 sentences, front-loaded with the resource and the check list, with cost/limit information trailing. The enumeration of checks is long but each item is a real capability, so it earns its space; nothing is redundant with the title.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and annotations cover safety. What remains missing for a two-parameter tool is the url/spec selection rule and any mention of failure behavior for unreachable or malformed specs — the one thing an agent could plausibly get wrong when invoking 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 the baseline is 3; the schema already labels 'url' as a spec URL and 'spec' as a JSON object or YAML string. The description does not clarify the important relationship between them — required is empty, and the phrase 'or the spec' hints at mutual exclusivity but never states that exactly one must be supplied or what happens if both or neither are given.

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 (lint) and resource (OpenAPI/Swagger JSON or YAML) and enumerates the actual checks performed: operationIds, descriptions, responses, undeclared path params, security schemes, servers, x402 payment info. That is concrete enough to distinguish it from generic validators, though it never names near-siblings like json_schema_validate or mcp_tools_lint to route the agent explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: you call it on an OpenAPI/Swagger document. There is no statement of when to prefer it over json_schema_validate, llms_txt_validate, or a2a_card_validate, and no guidance on choosing the url path versus pasting a spec inline. The pricing sentence is cost information, not when-to-use guidance.

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

partner_program_infoMoneyTools partner program info (free)A
Read-only
Inspect

Free. How to earn by recommending MoneyTools (we run this server): join steps, ref= attribution, 2-tier terms (20% of net revenue for 12 months, +5% tier 2, not MLM), required disclosure. No income guaranteed.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful behavioral context beyond that: it discloses the actual payout terms (20% of net revenue for 12 months, +5% tier 2), clarifies 'not MLM', and includes the 'No income guaranteed' caveat, which tells the agent how to frame the returned content honestly.

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 definition is a single compact block with the cost signal front-loaded and the content list following. It is telegraphic ('ref=<mt-code>', '+5% tier 2') but each fragment carries real information; a slightly fuller subject-verb framing would read better without adding 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?

For a static, no-parameter info tool with no output schema and read-only annotations, the description is complete enough: it tells the agent what topics the response will cover so results can be relayed accurately. Only the exact response shape is unspecified, which is a minor gap here.

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

Parameters4/5

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

The tool takes zero parameters, so there is no parameter meaning to convey and the baseline of 4 applies. The description correctly implies a parameterless, fixed-content lookup with nothing to supply.

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 (the MoneyTools partner/referral program) and enumerates exactly what the returned content covers: join steps, ref=<mt-code> attribution, 2-tier terms, and required disclosure. The verb is implicit rather than stated, but an agent can still tell unmistakably what this tool is for, and no sibling covers the same ground.

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 leading 'Free.' and 'we run this server' give context that this is a zero-cost, first-party informational lookup, and the topic itself implies when an agent would call it. There is no explicit when-to-use/when-not statement or named alternative, so usage is only implied.

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

password_strengthPassword strength estimateA
Read-onlyIdempotent
Inspect

Entropy, common-password and pattern checks (sequences, years, Word123!), crack-time estimates and feedback. Never stored or logged. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
passwordYespassword to rate (use a similar pattern, not your real one)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, non-destructive, and openWorld, so the safety profile is known; the description adds real value beyond that with the privacy guarantee ('Never stored or logged') and a concrete rate-limit/quota model (10 calls/day free, then $0.001 via HTTP endpoint or X-API-Key credits). Only the lack of any note on how failures or invalid input are handled keeps it at 4.

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: the capability list is front-loaded and the privacy/commercial constraints follow. Every clause carries information, though the pricing detail reads slightly like marketing copy in an otherwise technical 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 return values (entropy score, crack time, feedback) needn't be explained inline. Combined with the privacy and quota disclosures, an agent has enough to call this correctly; only explicit selection guidance versus other security-check tools 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, including an example and a warning to use a similar pattern rather than a real password. The description adds no additional meaning about the parameter beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

The description enumerates the concrete checks performed (entropy, common-password lists, pattern checks like sequences/years/'Word123!', crack-time estimation, feedback), which is specific enough that an agent can distinguish this from sibling validators like card_number_check or iban_validate. It never explicitly names a sibling, which keeps it 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 feature list and the schema note 'password to rate', but there is no explicit when-to-use or when-not-to-use guidance relative to alternatives such as id_generate or regex_test. The privacy statement ('Never stored or logged') and the free-tier limit do give useful context for deciding to call it.

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

phone_formatPhone number validate + formatA
Read-onlyIdempotent
Inspect

Validate and format phone numbers for 240+ regions (libphonenumber): E.164, international/national format, type (mobile/fixed), country. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
numberYesphone number
countryNodefault region ISO code

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description's real addition is commercial/operational: a 10 calls/day free tier, then $0.001 per call billed via HTTP endpoint or X-API-Key credits. It says nothing about invalid-number behavior (error vs a validity flag), which is the key behavioral unknown for a validator, and with an output schema the return shape itself need not be 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-loaded with the capability, then output formats, then pricing — two dense but readable sentences. The pricing/credit clause is useful context yet compresses several facts (free tier, per-call price, endpoint, auth) into one run-on fragment.

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

Completeness4/5

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

For a simple two-parameter read-only tool with full schema coverage, annotations and an output schema, the description is essentially complete: capability, coverage, output forms and cost/auth constraints are all present. The only notable omission is failure semantics for invalid numbers and the practical role of the country parameter.

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 documentation of 'number' and 'country' is already handled and baseline is 3. The description adds marginal value by naming libphonenumber and the 240+ region coverage, which tells the agent the ISO country code is a libphonenumber default region, but it does not state that country is effectively mandatory for the example's local format ('0912 345 678').

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 (validate and format) plus the resource (phone numbers) and scope (240+ regions via libphonenumber), with the concrete outputs enumerated: E.164, international/national, type, country. No sibling in the list does phone-number work, so no further disambiguation 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 Guidelines3/5

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

Usage is only implied by the verb 'validate and format'; there is no explicit statement of when to prefer this over e.g. patching a number yourself, nor guidance on when the optional country field is required (local format vs E.164). Adequate but with a clear routing gap.

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

pii_redactPII & secret redactorA
Read-onlyIdempotent
Inspect

Redact emails, phones, card numbers (Luhn-checked), IBANs, SSNs, IPs, API keys, JWTs, private keys and seed phrases before sending text to an LLM or log. Not stored. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
modeNolabel | mask
textYestext

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description adds genuinely new behavioral facts: 'Not stored' addresses retention concerns, and the pricing/quota line ('Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits') discloses rate limits and auth requirements that no annotation conveys. What redaction output actually looks like is left to the output schema.

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

Conciseness4/5

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

Two sentences, front-loaded with the verb and the entity list, with the actionable constraint (LLM/log use) and cost follow-up. Dense but no filler. The long enumeration is justified because it defines the coverage boundary of the redaction.

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 only two parameters, an output schema present, and annotations covering the safety profile, the description carries what remains: purpose, trigger context, retention, and commercial/auth terms. The only residual gap is the semantics of 'mode', which the schema covers thinly.

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 nothing about the two parameters — notably the 'mode' parameter (label vs mask), which is the one meaningful behavioral choice in the call and is not even alluded to, leaving the agent to infer format differences from a bare enum-less string 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?

The description opens with a specific verb, 'Redact', followed by an enumerated inventory of the exact entity types handled (emails, phones, Luhn-checked card numbers, IBANs, SSNs, IPs, API keys, JWTs, private keys, seed phrases). This clearly distinguishes it from sibling validators like email_check, phone_format, iban_validate and card_number_check, which check rather than strip.

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 the intended context explicitly: 'before sending text to an LLM or log'. That gives an agent a concrete trigger condition. It stops short of naming alternatives or exclusions (e.g., use card_number_check when you only need validity, not redaction), so a 5 is not warranted.

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

prompt_injection_scanPrompt-injection scannerA
Read-onlyIdempotent
Inspect

Heuristic scan of untrusted web/email/tool content for injection markers: instruction override, system-prompt spoofing, secret exfiltration, payment coercion, hidden Unicode, image-URL exfil. Low/medium/high risk. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
textYesuntrusted text

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the read-only, idempotent, and non-destructive annotations, it discloses the heuristic detection approach, low/medium/high risk classification, daily free-call limit, subsequent pricing, and HTTP endpoint or API-key credit options. These details help the agent anticipate both the nature of the assessment and invocation costs.

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 operation and applicable content are front-loaded, followed by detection categories, risk levels, and quota or payment details. The compact phrasing contains substantial actionable 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?

For a single-parameter scanner with complete annotations and an output schema, the description covers scope, method, representative threats, result granularity, and usage costs. It provides enough context for correct selection and invocation without needing to explain the structured return value.

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 schema already fully documents the single required "text" parameter as untrusted text. The description adds useful source context by identifying web, email, and tool content, although it supplies no additional size or preprocessing constraints.

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 pairs the specific verb "scan" with untrusted web, email, and tool content, then enumerates concrete injection markers. This clearly distinguishes it from general text-analysis and other security-related 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 gives clear usage context: apply the heuristic scanner to untrusted web, email, or tool content when checking for prompt injection. It does not provide explicit when-not guidance or name alternatives for adjacent tasks such as PII redaction or token safety checks.

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

proxy_inspectProxy / upgradeability inspectorA
Read-onlyIdempotent
Inspect

Is this contract upgradeable? Detects EIP-1967 (impl/admin/beacon), EIP-1167 clones, legacy OZ and Safe-style proxies and EIP-7702 delegated EOAs; returns implementation and admin. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainYeschain: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche
addressYescontract address

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, non-destructive, and open-world, so the safety profile is settled. The description adds genuinely non-derivable behavior: it returns implementation and admin addresses, and it discloses a rate/price model (10 free calls/day, then $0.001 via HTTP endpoint or X-API-Key credits). It stops short of describing what happens for non-proxy contracts, which keeps it from a 5.

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

Conciseness4/5

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

Two sentences, front-loaded with the guiding question before the detection list, and no filler. The pricing clause is dense but useful; it could have been split for readability, which is the only small ding.

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 detail is not required, yet the description still tells the agent the key outputs (implementation and admin). Combined with the coverage/pricing note, an agent has enough to decide and call correctly; only contract-type edge cases are 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% and the chain enumeration is already listed verbatim in the schema's chain description. The description adds no syntax, formatting, or edge-case meaning for chain or address, 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 leads with the question it answers ("Is this contract upgradeable?") and then names the specific detection targets — EIP-1967 impl/admin/beacon, EIP-1167 clones, legacy OZ and Safe-style proxies, and EIP-7702 delegated EOAs — plus what it returns. That is a precise verb+resource statement that clearly separates it from siblings like contract_read, contract_abi, or token_safety_check.

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

Usage Guidelines3/5

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

The opening question implies the use case (checking upgradeability before interacting with a contract), but the description never states when to prefer this over alternatives such as contract_read for storage inspection or abi lookups. No exclusions or prerequisites (e.g. whether the address must be a deployed contract) are given, leaving usage to inference.

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

public_holidaysPublic holidays (Taiwan / US)B
Read-onlyIdempotent
Inspect

Official Taiwan government office calendar (holidays, 補假, make-up workdays) or US federal holidays with observed dates, plus the next holiday. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
yearNoyear
countryNoTW | US

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, openWorld, and non-destructive, so the bar is lower. The description still adds genuinely useful behavior beyond that: a free tier of 10 calls/day, paid fallback at $0.001, and the requirement to pass an X-API-Key or use the HTTP endpoint. It does not state what is returned when both optional params are omitted, which keeps it out of 5 territory.

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

Conciseness4/5

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

Two sentences, front-loaded with the data scope and followed by the cost/access constraint; every clause carries information. It is dense but not padded, with only minor compression cost from stacking 補假, make-up workdays, and observed dates into one sentence.

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

Completeness3/5

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

An output schema exists and annotations cover the safety profile, so return-format detail is rightly omitted. However, for a tool where both parameters are optional, the description never says what the default call yields (current year? both countries? only the next holiday?), which is a material 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?

Schema description coverage is 100% for both parameters, so the schema carries parameter documentation and the baseline of 3 applies. The description names the two supported country values (TW / US) in prose, which is consistent with the schema examples but adds no new semantics such as a default year or what happens when country is unspecified.

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: 'Official Taiwan government office calendar (holidays, 補假, make-up workdays) or US federal holidays with observed dates, plus the next holiday.' That is far more precise than a generic 'get holidays' and the mention of 補假/make-up workdays distinguishes it from a plain holiday list. It does not name or differentiate against nearby siblings like business_days or lunar_date, 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 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 comparison to the many calendar-adjacent siblings (business_days, lunar_date, time_convert). The only situational hint is the phrase 'plus the next holiday,' which implies an upcoming-holiday use case but never says how to request it. Usage must be inferred rather than read.

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

regex_testRegex testerA
Read-onlyIdempotent
Inspect

Run a JavaScript regex on text: all matches with index and capture groups, optional replace, and a ReDoS warning for nested quantifiers. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
textYesinput text
flagsNoflags
patternYesregex source
replaceNoreplacement string

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses the return payload shape (match index plus capture groups), the replace capability, and a proactive ReDoS warning for nested quantifiers. It also discloses quota and commercial terms (10 free calls/day, then $0.001 via HTTP endpoint or X-API-Key credits), which no annotation or schema field conveys.

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 operation and its output shape, then a second sentence for cost/quota — both earn their place and there is no filler. The pricing sentence is dense and packs quota, endpoint, and auth mechanism together, costing a little readability.

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 detailed, yet the description still summarizes them alongside dialect, safety warning, and pricing — enough for correct invocation. It omits failure modes (invalid pattern errors, timeouts on catastrophic backtracking) that would round out a regex 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%, so a baseline of 3 applies, but the description adds real meaning the terse schema labels ("regex source", "flags") do not: the dialect is JavaScript regex, and replace is explicitly optional. It still does not explain flag values (g/i/m) or replacement-string syntax such as $1 group references.

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

Purpose5/5

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

The description names a specific verb and resource ("Run a JavaScript regex on text") and immediately specifies the outputs: all matches with index and capture groups, optional replace, and ReDoS warnings. Nothing among the many sibling utilities overlaps with regex evaluation, so an 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 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 it should call this when it needs to test or apply a regex, and the mention of "optional replace" hints at the substitution case. However, there is no explicit when-to-use/when-not guidance, no note that this is not a text-diff or text_stats substitute, and no statement about match-count or input-size limits.

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

robots_checkrobots.txt / AI-crawler checkA
Read-onlyIdempotent
Inspect

May this user agent fetch this URL? RFC 9309 evaluation of robots.txt with the matching rule, crawl-delay, sitemaps, llms.txt presence and an allow/deny table for 12 AI crawlers. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
urlYespage URL
userAgentNouser agent token (default *)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the output surface (allow/deny table across 12 AI crawlers) and a concrete rate-limit/cost model (10 free calls/day, then $0.001 via HTTP endpoint or X-API-Key credits). It stops short of stating error behavior or whether results are live-fetched or cached.

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 sentences, front-loaded with the core question, then the output enumeration, then access terms. Dense and mostly waste-free, though the pricing sentence is crammed into a definition whose primary job is capability description and could be a separate line.

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

Completeness4/5

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

For a two-parameter read-only lookup with an output schema, the description covers purpose, output shape, and access constraints adequately. Remaining gaps are minor: no mention of failure modes for unreachable or missing robots.txt, and no statement on caching or freshness.

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 defines url and userAgent. The description reinforces the semantics by framing the userAgent as the subject of the evaluation and noting the 12-crawler scope, but adds no syntax, token format, or default-handling detail 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?

The description opens with a concrete question the tool answers ('May this user agent fetch this URL?') and names the exact mechanism: RFC 9309 evaluation of robots.txt. It enumerates the specific outputs (matching rule, crawl-delay, sitemaps, llms.txt presence, allow/deny table for 12 AI crawlers), which clearly separates it from siblings like llms_txt_validate, sitemap_parse, and user_agent_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?

The question framing implies the use case (deciding crawl permission for a given UA), but there is no explicit when-to-use/when-not guidance and no routing to alternatives such as llms_txt_validate or sitemap_parse, even though those overlap on adjacent checks. Usage must be 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.

rpc_healthPublic RPC health & latencyA
Read-onlyIdempotent
Inspect

Probe the keyless public RPC endpoints of 7 EVM chains right now: up/down, latency, head block, lag. Returns the recommended RPC per chain. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainsNocomma list (default all 7)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds genuinely non-structured behavior: a free quota of 10 calls/day, then $0.002 per call via HTTP or X-API-Key credits — exactly the rate-limit/cost context the rubric credits. It stops short of describing failure modes, such as how unreachable chains are reported.

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

Conciseness5/5

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

Three short sentences, front-loaded with the action and measurements, followed by the return value and then the cost model. No filler, and the pricing caveat is placed where it is read before invoking.

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 shape need not be explained, and the description still summarizes the key result (recommended RPC per chain). Cost and quota are covered, which matters for a live-probing tool. The only gap is not naming which 7 chains are probed, which the agent must discover from the output.

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 optional parameter already documents its comma-list format and "default all 7" behavior. The description reinforces the total chain count (7) but adds no syntax or selection detail beyond the schema. Baseline 3 applies when the schema does the 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 ("Probe") and resource ("keyless public RPC endpoints of 7 EVM chains"), then enumerates what is measured (up/down, latency, head block, lag) and what is returned (recommended RPC per chain). This is clearly distinct from sibling tools like chain_info, gas_compare, or tx_status, so an agent can route to it without inspecting 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?

Implied usage is live, point-in-time endpoint checking ("right now"), which helps an agent understand it is not a historical query tool. However, there is no explicit statement of when to prefer this over chain_info or gas_compare, and no when-not guidance. 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.

safe_multisig_infoSafe multisig inspectorA
Read-onlyIdempotent
Inspect

Is this address a Safe multisig? Owners, threshold (m-of-n), nonce, version, enabled modules, guard, fallback handler, plus risk warnings (1-of-n, modules). Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainYeschain: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche
addressYesSafe address

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context: a rate limit with cost (10 calls/day free, then $0.002 via HTTP endpoint or X-API-Key credits) and the fact that risk warnings such as 1-of-n thresholds and enabled modules are surfaced. It does not describe failure behavior for non-Safe or non-existent addresses, which keeps 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?

The core purpose is front-loaded in a short question, followed by a compact return-field list and a single pricing clause. Dense but purposeful; only the pricing clause could arguably be moved to a trailing note, and nothing is repetitive.

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 enumerate return values, and it still helpfully summarizes them; annotations and 100% schema coverage handle the rest. The main omission relative to a paid, quota-limited inspector is what happens on non-Safe addresses or bad chains, which an agent would want to know before spending a call.

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 chain enum values listed in the schema and the address example provided, so the description carries no additional parameter burden. Its mention of the address is only implicit in the opening question, adding no syntax or format detail 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?

Opens with a direct question form ("Is this address a Safe multisig?") and then enumerates exactly what is returned: owners, m-of-n threshold, nonce, version, modules, guard, fallback handler, and risk warnings. The 'Safe multisig' scope is distinct from near neighbors like address_profile, contract_read, and token_safety_check, so an agent can pick it without inspecting 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 implied by the question framing (use it to determine whether an address is a Safe and to inspect its configuration), and the free-tier/quota note gives a practical gating condition. However, no explicit when-to-use versus when-not guidance is given, and no alternative sibling (e.g., address_profile for general address context, contract_read for arbitrary contract state) is named.

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

security_headers_auditSecurity headers audit (A-F)A
Read-onlyIdempotent
Inspect

Graded audit of HSTS, CSP (unsafe-inline/eval, wildcards), clickjacking, nosniff, Referrer/Permissions-Policy, cookie flags, version leaks and CORS misconfig, with fixes. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
urlYespage URL

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so safety is covered. The description adds value beyond that by disclosing the commercial/rate-limit model: 10 free calls/day, then $0.002 via the HTTP endpoint or X-API-Key credits, which materially affects how an agent should budget calls. It does not mention redirect handling or how partial failures on a page are reported, 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?

Two sentences, front-loaded with what is audited and the graded outcome, followed by a separate pricing sentence. The parenthetical CSP details are dense but each clause maps to a real check. Slightly list-like, 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?

An output schema exists, so return values need not be explained, and the description covers scope, checks, grading, pricing, and auth options. What remains unstated is operational edge behavior, such as whether the audit follows redirects or works on non-HTTPS targets. For a one-parameter read-only tool, that is a minor 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% with a single required `url` parameter already described as 'page URL' and exemplified. The description adds no further guidance on accepted URL forms (scheme required? paths allowed? redirects followed?), so it neither compensates nor detracts. Baseline 3 applies when the schema does the 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?

Names a specific verb (graded audit) and resource (security headers) and enumerates the exact checks performed: HSTS, CSP with unsafe-inline/eval and wildcard detection, clickjacking, nosniff, Referrer/Permissions-Policy, cookie flags, version leaks, CORS misconfig, plus fixes. The A-F grading and header-specific vocabulary clearly separate it from siblings like http_inspect, ssl_certificate, and proxy_inspect.

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 required page URL and the enumeration of header checks, so an agent can infer this is for auditing a single page's security posture. However, there is no explicit when-to-use/when-not guidance and no routing against near-neighbors such as http_inspect or ssl_certificate, so the agent must decide that itself.

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

semver_checkSemver compare / range checkB
Read-onlyIdempotent
Inspect

Parse and compare semantic versions, check a version against a range (^1.2, ~2.0, >=1 <2), max satisfying version and sort a list. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
rangeNorange
compareNoother version
versionNoversion
versionsNocomma list

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds genuinely new behavior: a rate limit of 10 free calls/day and a paid path via the HTTP endpoint or X-API-Key credits, which matters for an agent deciding whether it can retry. It does not disclose how the tool dispatches among its optional parameters or what happens when zero or conflicting parameters are supplied.

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 front-loaded sentence lists the capabilities, followed by a short commercial caveat; no filler. The pricing clause is the weakest element, being a marketing add-on, but it does carry operational information about retry budget.

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 carry the safety profile. The remaining shortfall is mode selection: all four parameters are optional, yet the description never says which to set to compare two versions versus test a range versus sort a list, leaving an agent to guess the invocation shape.

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. The schema's own descriptions are near-tautological ('range', 'other version', 'comma list'), but the description compensates by giving real range syntax examples (^1.2, ~2.0, >=1 <2) and clarifying that 'versions' is a comma list to be sorted. It still does not map each named operation onto its parameters.

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 concrete operations against a specific resource: parse/compare semver, range check, max satisfying version, and sort a list. An agent can tell this is the version-arithmetic tool rather than a validator like json_schema_validate or a generic comparator like text_diff. It stops short of 5 because four distinct operations are bundled without stating they are separate modes.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives, and no guidance on which parameter combination triggers which operation. The only conditional language is pricing ('Free: 10 calls/day; then $0.001'), which is cost guidance rather than usage guidance. The agent must infer from the name alone that this is the right tool for version checks.

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

signature_verifySignature verifier (EOA + smart wallets)A
Read-onlyIdempotent
Inspect

Verify a personal_sign message or EIP-712 typed-data signature against an address, including smart-contract wallets (ERC-1271 / ERC-6492). Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainNochain for smart-wallet checks (default base)
addressYesexpected signer (0x address)
messageNosigned text (personal_sign)
signatureYes0x signature (65+ bytes hex)
typedDataNoEIP-712 JSON instead of message

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the description's added value is the explicit disclosure of smart-wallet support beyond plain EOA verification and the cost/rate limit (10 free calls/day, then $0.001 or X-API-Key credits). It does not say how EOA vs smart-wallet results are reported, but the output schema carries that.

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

Conciseness5/5

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

Two dense sentences with zero padding: the core capability and supported standards are front-loaded, and cost follows. Every clause carries information an agent or caller 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?

With an output schema present, rich annotations, and full parameter descriptions, the only meaningful gaps are behavioral edge cases (mutual exclusivity of message/typedData, chain defaulting at the description level, how smart-wallet results differ from EOA results). For a stateless read-only verifier this is nearly 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%, so every parameter is already documented, including that typedData is used 'instead of message'. The description restates the two signing modes at the tool level but adds no format, constraint, or edge-case detail (e.g., what happens if both message and typedData are supplied, or how chain affects EOA checks). 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 states a specific verb (verify) applied to a specific resource (a personal_sign message or EIP-712 typed-data signature against an address) and names the supported standards ERC-1271/ERC-6492 for smart-contract wallets. No sibling in the list (address_validate, typed_data_risk, tx_explain) does this job, so the agent can select it without ambiguity.

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

Usage Guidelines3/5

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

Usage is implied by the input modes described (personal_sign text vs EIP-712 typed data), but there is no explicit statement of when to prefer this over neighbors such as typed_data_risk or address_validate, and no exclusion guidance. The free-tier/pricing sentence gives practical context but 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.

sitemap_parseSitemap readerA
Read-onlyIdempotent
Inspect

Find (via robots.txt) and parse a sitemap or sitemap index: URL count, lastmod range, sample URLs and protocol issues. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
urlYessite or sitemap URL
limitNosample size

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, open-world and non-destructive behavior. Beyond that, the description discloses two things the annotations do not: that it auto-discovers sitemaps via robots.txt (an extra network fetch with implications if robots.txt is missing or blocks), and an explicit quota/pricing model (10 calls/day free, then $0.002 or X-API-Key credits), which is directly actionable for a cost-aware 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?

Two sentences, front-loaded with the action and result contents, followed by the cost/quota caveat. No wasted clauses, though the pricing sentence could be considered tangential to the core contract.

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-shape detail is not required, and the description still lists key result fields. Combined with quota disclosure and a 2-parameter schema, an agent has what it needs to invoke 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 coverage is 100% and both parameters are documented in-schema ('site or sitemap URL', 'sample size'). The description adds no new syntax or format meaning beyond hinting the sample list exists; baseline 3 applies since the schema carries the parameter burden.

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

Purpose4/5

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

Specific verb+resource: 'Find (via robots.txt) and parse a sitemap or sitemap index', with the returned contents enumerated (URL count, lastmod range, sample URLs, protocol issues). It is distinguishable from nearby siblings like robots_check or url_metadata by its sitemap focus, but it never names an alternative explicitly.

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

Usage Guidelines3/5

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

Usage is only implied by the resource name — an agent infers 'use this when you want sitemap contents.' There is no when-not guidance and no routing versus robots_check (which reads robots.txt for crawl rules) or broken_links, so a sibling-selection decision 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.

slugifySlug + safe filenameA
Read-onlyIdempotent
Inspect

URL slug (accents removed; CJK kept or ASCII-only) and a filesystem-safe filename from any title. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
textYestitle
asciiNotrue = ASCII only
maxLengthNomax length

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds real behavioral context beyond that: a concrete rate limit (10 calls/day free) and the escalation path ($0.001 via HTTP endpoint or X-API-Key credits). It does not discuss determinism across locales or handling of very long inputs, 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?

Two sentences, no filler, with the output definition front-loaded ahead of the pricing note. The parenthetical is slightly dense but 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?

An output schema exists, so return values need not be explained, and the description covers transformations, the ASCII toggle and cost model for a simple three-parameter pure function. The main remaining gap is truncation behavior for `maxLength`, which matters for a tool that deliberately shortens text.

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 genuine meaning for `ascii` by framing it as "CJK kept or ASCII-only", which implies the default preserves CJK, but it says nothing about how `maxLength` truncates (hard cut vs word boundary vs error), leaving the highest-risk parameter undocumented in both places.

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 outputs ("URL slug" and "filesystem-safe filename") and the transformation rules (accents removed, CJK kept or ASCII-only), so an agent knows exactly what it produces. It does not explicitly name a sibling or contrast with near-neighbors like url_parse_clean, 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, and no mention of alternatives among the many text/URL siblings. The only contextual guidance is commercial (free tier, then paid via HTTP endpoint or X-API-Key credits), which helps with cost decisions but not with tool selection.

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

solana_accountSolana account + token balancesA
Read-onlyIdempotent
Inspect

SOL balance (USD), account type (wallet/program), and SPL + Token-2022 balances for any Solana address via public RPC. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
addressYesSolana address

Output Schema

NameRequiredDescription

No output parameters

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, idempotent, non-destructive, open-world behavior, so the description only needs to add context. It does: data comes from public RPC, and there is a hard quota (10 free calls/day) then paid access via HTTP endpoint or X-API-Key credits — genuinely useful operational detail 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.

Conciseness5/5

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

Two sentences, zero filler: capability and scope first, cost/quota second. 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 and rich annotations cover return shape and safety profile, and the description adds data source and quota. The only real gap is disambiguation from the similar token_balances and address_profile siblings, plus no mention of failure behavior for invalid or non-existent addresses.

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, fully documented in the schema with an example address, so the schema carries the semantics. The description adds nothing beyond 'any Solana address', which matches the baseline for high schema coverage.

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 outputs (SOL balance in USD, account type wallet/program, SPL + Token-2022 balances) and the resource (any Solana address), which is far more specific than the title alone. The chain scoping implicitly separates it from generic siblings like token_balances, but no sibling is named explicitly.

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

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 infers this is the Solana-specific balance lookup, and the free-tier/pricing sentence hints at cost-sensitive use. There is no explicit when-to-use, when-not-to-use, or routing to alternatives such as token_balances or address_profile.

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

spf_dmarc_checkSPF lookup-count + DMARC checkA
Read-onlyIdempotent
Inspect

Recursively expand SPF includes, count DNS lookups against the RFC limit of 10, flag +all/?all, duplicate records and weak DMARC policy. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
domainYesdomain

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context not in annotations: the free quota of 10 calls/day and the paid fallback via HTTP endpoint or X-API-Key credits, which tells an agent to budget calls. It stops short of saying how failures (nonexistent domain, no SPF record) are reported.

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 analytical behavior and finishing with the cost/quota caveat. Every clause carries information; no filler or restatement of the title.

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

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 a single required parameter is well covered. Minor gaps remain around input format expectations (apex domain vs subdomain) and behavior on domains with no SPF/DMARC records.

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 only one parameter and schema coverage is 100%, so the baseline is 3. The description does not clarify whether the parameter expects a bare registrable domain versus a subdomain or full URL, leaving that meaning to the schema's single example.

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 resources (SPF includes, DMARC policy) and the concrete operations: recursively expand includes, count DNS lookups against the RFC 10-lookup limit, and flag +all/?all, duplicate records and weak DMARC. An agent can distinguish this from dns_lookup or dns_propagation purely from the text.

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

Usage Guidelines3/5

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

Usage context is implied (email-deliverability/security auditing of a domain's SPF and DMARC), and the pricing tiers hint at volume-sensitive use, but there is no explicit when-to-use or when-not-to-use guidance and no named alternatives among the many DNS-adjacent siblings.

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

ssl_certificateTLS certificate expiry (CT logs)A
Read-onlyIdempotent
Inspect

Latest unexpired certificates for a domain from Certificate Transparency logs: issuer, names, expiry date, days left, expiring-soon warning. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
domainYeshostname

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds meaningful context beyond that: quota (10 calls/day free) and cost/payment path ($0.002 via HTTP endpoint or X-API-Key credits), which directly affects whether an agent should loop over many domains. It does not say what happens when no CT entries exist or how stale certificates are filtered.

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 sentences, front-loaded with the capability and followed by cost/quota, with no filler. The pricing sentence packs several distinct facts (free tier, per-call price, two payment mechanisms) into one clause, which is dense but still 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-value details need not be explained, and annotations plus the quota note cover the operational profile for a single-parameter read tool. Minor gaps remain: no statement about behavior for domains without CT entries, wildcard handling, or a fallback tool for related DNS/registration questions.

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 only one parameter and schema description coverage is 100%, so the schema already documents 'domain' as a hostname with a github.com example. The description references a domain but adds no format detail (e.g. wildcards, subdomains, URL vs bare host) beyond what the schema 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 resource (latest unexpired certificates for a domain) and its source (Certificate Transparency logs), plus the exact fields returned: issuer, names, expiry date, days left, expiring-soon warning. This clearly separates it from neighbors like dns_lookup, domain_rdap, and security_headers_audit 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 Guidelines3/5

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

Usage is implied rather than stated: the mention of 'expiring-soon warning' signals the intent of checking certificate renewal status, and the rate-limit sentence warns about repeated calls. However, there is no explicit when-to-use/when-not guidance and no named alternative (e.g. domain_rdap or dns_lookup) for adjacent questions.

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

stablecoin_pegStablecoin peg monitorA
Read-onlyIdempotent
Inspect

Current price and deviation in bps for 15 major stablecoins (USDT, USDC, DAI, USDS, USDe, PYUSD, FDUSD, EURC...) with on_peg / watch / depeg status. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
symbolsNocomma list (default all)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world behavior, so the description does not need to restate safety. It adds genuinely useful context beyond them: the free quota of 10 calls/day, the $0.001 per-call cost afterwards, and the payment mechanisms (HTTP endpoint / X-API-Key credits), plus the status classification returned. It does not mention data freshness or refresh cadence.

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 sentences, front-loaded with the capability and followed by cost/quota information; nothing is padding. The second sentence is slightly dense with pricing mechanics, but each clause (free quota, price, payment route) carries information an agent may 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?

An output schema exists, so return values need not be spelled out, yet the description still names the fields (price, deviation bps, status). With a single optional parameter and full annotation coverage, the definition is nearly complete; only data-source/refresh cadence is left 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 100% and the single optional symbols parameter is already documented with an example, so a 3 would be defensible. The description adds value by listing the supported tickers (USDT, USDC, DAI, USDS, USDe, PYUSD, FDUSD, EURC...), which tells the agent what valid values look like and what 'default all' actually covers.

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 (current price and deviation in bps for 15 major stablecoins) plus the derived status labels on_peg/watch/depeg, and enumerates the covered assets. This is clearly distinguishable from generic price or safety tools in the sibling list such as dex_price or token_safety_check.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is the tool for monitoring stablecoin pegs, and the pricing note hints at cost-awareness, but there is no explicit when-to-use, when-not-to-use, or pointer to an alternative (e.g., dex_price for non-stablecoin pairs).

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

taiwan_id_checkTaiwan ID / ARC / 統一編號 checkerA
Read-onlyIdempotent
Inspect

Checksum and format for 國民身分證, 居留證 (old and 2021 new format) and 統一編號 (company tax ID, new ÷5 rule). Not stored. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
idYesID or 8-digit 統編

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely new context: inputs are not stored, and there is a free tier of 10 calls/day after which calls cost $0.001 via HTTP endpoint or X-API-Key credits — a rate-limit/cost trait not expressible in annotations.

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

Conciseness4/5

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

Two sentences, no filler; the supported-document list comes first and pricing/storage constraints follow. The parenthetical asides make it dense but each carries real information, so 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?

An output schema exists, so return-value explanation is not needed, and the input is fully documented. Coverage of what is validated, storage policy, and cost/quota is complete for a one-parameter pure-validation tool; only the when-not-to-use 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?

With a single parameter at 100% schema description coverage and a concrete example (A123456789), the schema carries the input contract. The description names the ID types accepted but adds no per-format length or syntax guidance beyond what the schema's 'ID or 8-digit 統編' 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 operation (checksum and format check) against named resources — 國民身分證, 居留證 in old and 2021 formats, and 統一編號 with the ÷5 rule. This is clearly distinguishable from siblings like id_generate, iban_validate, card_number_check, or phone_format, which handle different identifier families.

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 well enough that an agent knows this is the Taiwan-ID validator, but there is no explicit 'use this when…' statement, no exclusions, and no mention of the sibling id_generate (generate) versus this tool (verify). Usage has to be inferred from the resource list.

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

text_chunkText chunker for RAGA
Read-onlyIdempotent
Inspect

Split long text into sentence/paragraph-aware chunks of N characters or tokens with overlap, ready for embeddings. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
sizeNochunk size (default 1000)
textYestext (≤500k chars)
unitNochars | tokens
overlapNooverlap (default 100)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

The annotations already declare readOnly, idempotent, openWorld and non-destructive behavior, and the description adds real behavioral detail beyond them: a free tier of 10 calls/day, then $0.001 per call, and the choice between the HTTP endpoint and X-API-Key credits. That directly covers the quota and authentication context the rubric calls out as valuable, with no contradiction of the annotations.

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

Conciseness5/5

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

Two sentences of dense, front-loaded content: the capability first, then quota and cost. Nothing is repeated from the schema, and no wording 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?

The description is complete enough for a four-parameter, read-only tool: it explains the operation, the unit choice, and the pricing and authentication model, and an output schema exists, so return values need not be restated. It could say what happens on quota exhaustion or how boundaries behave when no sentence break exists, but these are minor 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?

Schema coverage is 100%, so the schema already documents all four parameters and the baseline is 3. The description adds meaning the schema does not: that boundaries respect sentences and paragraphs, and that size and overlap can be measured in characters or tokens, which tells the agent how the parameters interact in behavior.

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 concrete action and a concrete object: it splits long text into sentence- or paragraph-aware chunks sized by characters or tokens with overlap. The phrase 'ready for embeddings' also separates it from neighboring tools such as token_count and text_stats, which count or summarize text rather than split it, so the agent can choose correctly.

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 context for when to use the tool ('long text', 'ready for embeddings'), which points to RAG and embedding pipelines, and the title reinforces this. It does not name any alternative for counting tokens or comparing text, nor does it state when not to use the tool, 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.

text_diffText diffA
Read-onlyIdempotent
Inspect

Line, word or character diff between two texts with a unified patch, added/removed counts and similarity. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
aYesold text
bYesnew text
modeNolines | words | chars

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context the annotations do not carry: a free tier of 10 calls/day, then $0.001 per call via HTTP endpoint or X-API-Key credits. It does not discuss error behavior or how similarity is computed, which keeps it short of a 5.

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

Conciseness5/5

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

Two sentences, zero waste, and the capability statement is front-loaded ahead of the pricing note. The pricing detail is compact and earns its place because it affects whether an agent should call repeatedly.

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, and it still sketches them (patch, counts, similarity). Combined with full schema coverage and annotation coverage, an agent has what it needs to call this correctly. Only the meaning of the similarity score and input size limits are left 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%, so a, b and mode are already documented in the schema, including the 'lines | words | chars' value list. The description's 'line, word or character diff' restates the mode options in prose and adds the mild implication that mode controls diff granularity, but contributes no syntax or default information beyond the schema. Baseline 3 applies.

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

Purpose4/5

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

The description names a specific verb (diff) and resource (two texts) and enumerates the three granularities (line, word, character) plus the output shape (unified patch, added/removed counts, similarity). That is enough to separate it from the nearest sibling, text_stats, without opening either schema, though it never names that sibling explicitly.

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

Usage Guidelines3/5

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

Usage is only implied by the nature of the operation: compare two texts to see what changed. There is no statement of when to prefer this over text_stats, no note on size limits for large inputs, and no exclusions. For a self-evident utility that is acceptable, but no routing guidance is actually given.

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

text_similarityText similarity / dedupeA
Read-onlyIdempotent
Inspect

Compare two texts: bag-of-words cosine, word Jaccard, Levenshtein distance/ratio and a near-duplicate verdict. Lexical, no embeddings. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
aYestext A
bYestext B

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description still adds non-obvious behavior: results are purely lexical with no embedding model, and there is a concrete quota (10 calls/day free) plus a pricing/credit path through the HTTP endpoint, which an agent needs to know before high-volume use. It does not describe output shape, but that is covered by the output schema.

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

Conciseness5/5

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

Three short sentences with zero filler: capability and metrics first, the lexical caveat second, pricing last. Every clause carries information an agent can act on, and nothing is repeated from the name or annotations.

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 low-complexity, two-parameter, read-only tool with an output schema, the description covers what it computes, the lexical limitation, and the cost model. The only mild gap is no stated input size or preprocessing behavior for long texts, which matters for Levenshtein on large inputs, but that is a minor omission given the tool's simplicity.

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

Parameters3/5

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

Schema description coverage is 100% with only two string parameters and examples, so the schema already does the heavy lifting. The description only restates that there are two texts to compare and adds no format, length, or normalization guidance beyond the schema. Baseline 3 is appropriate here.

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 (compare) and resource (two texts) and enumerates the exact metrics computed: bag-of-words cosine, word Jaccard, Levenshtein distance/ratio and a near-duplicate verdict. That is far more specific than the title alone. It stops short of explicitly distinguishing itself from close siblings such as text_diff or text_stats, 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?

There is no explicit 'use this instead of X' routing and no stated prerequisites, so guidance is implied rather than declared. The clause 'Lexical, no embeddings' does function as a real usage boundary, telling the agent this is not a semantic-similarity tool, which is a meaningful selection signal. That partial constraint lifts it above a bare 2 but it never names an alternative tool.

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

text_statsText statistics + token estimateA
Read-onlyIdempotent
Inspect

Characters, words (CJK-aware), sentences, paragraphs, reading time, LLM token estimate and top words. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
textYestext

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely non-derivable behavior: a 10 calls/day free tier, then $0.001 per call via HTTP endpoint or X-API-Key credits, which tells an agent about throttling and metering that the annotations do 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?

Two dense sentences with the capability list front-loaded and no filler adjectives. The pricing sentence is slightly off-target for an MCP invocation context (it speaks of an HTTP endpoint and X-API-Key credits), making it marginally less efficient than it could 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?

With an output schema present, the description need not explain return values, and the enumerated metrics plus metering give an agent a solid picture of a simple one-parameter tool. The main remaining gap is input size limits or truncation behavior for very long text, which matters for a statistics 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%, but the single 'text' parameter is documented only as 'text' with an example string. The description does not compensate with useful semantics such as maximum input length, accepted encodings, or whether the CJK handling is automatic, so it adds nothing 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 enumerates exactly what the tool computes (characters, CJK-aware words, sentences, paragraphs, reading time, LLM token estimate, top words), which is far more specific than the name alone. It is implicitly distinguishable from neighbors like text_diff or language_detect, though it never explicitly contrasts itself with them.

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

Usage Guidelines2/5

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

No statement of when to reach for this tool versus text_diff, language_detect, or slugify, and no prerequisites or input constraints are given. The only guidance is commercial (free quota, then paid), not usage selection.

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

time_convertTime-zone converter & date mathA
Read-onlyIdempotent
Inspect

op=now|convert|diff|add: current time in many zones, convert a local time between IANA zones (DST-aware), difference incl. business days, add ISO-8601 durations. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
opNonow | convert | diff | add
toNotarget zones, comma list
tzNosource IANA zone (default UTC)
addNoISO duration for add, e.g. P1DT2H
endNoend datetime for diff
datetimeNoISO 8601 or unix

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds genuinely new behavioral context: DST-aware conversion, inclusion of business days in diffs, and a concrete cost/limit model (10 calls/day free, then $0.001 via HTTP endpoint or X-API-Key credits). It does not explain how multiple comma-separated target zones are returned, but the output schema covers 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?

The op list is front-loaded so an agent can pattern-match mode immediately, and the pricing/limit sentence is short and relevant to call planning. It is dense but not padded, though the pricing clause could be split for readability.

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-format explanations are unnecessary, and the description covers the four operational modes plus access limits. All six parameters are optional and fully documented in the schema, so the remaining gaps (multi-zone return shape, unix-vs-ISO precedence) are minor for a read-only utility.

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%, including defaults ('source IANA zone (default UTC)'), so the schema already carries parameter meaning and the baseline is 3. The description adds only marginal semantics, clarifying that `add` takes ISO-8601 durations and that `diff` can span business days, without enriching `end`, `datetime`, or multi-zone `to` behavior beyond what the schema 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?

The description names a concrete verb set tied to a resource: 'now|convert|diff|add' over IANA zones and ISO-8601 durations, so the agent can tell it is a time-zone/date-math utility rather than a generic converter. It stops short of differentiating from adjacent siblings such as business_days, public_holidays, cron_next_runs, or unit_convert, so the sibling boundary 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?

Enumerating the four ops implies which mode to pick for each need (current time, conversion, difference, duration addition), which is useful routing guidance. However, there is no explicit when-not guidance and no mention of when to prefer business_days or public_holidays instead, even though 'difference incl. business days' overlaps those siblings.

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

token_balancesWallet token balancesA
Read-onlyIdempotent
Inspect

Native + ERC-20 balances for a wallet in one multicall: major tokens on the chain by default or your own list of token addresses/symbols. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
chainYeschain: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche
ownerYeswallet address
tokensNocomma list of addresses or symbols

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the read-only, idempotent, non-destructive safety profile, so the bar is lower. The description still adds real behavior: balances are fetched in one multicall, default coverage is 'major tokens' unless a list is given, and there is a concrete quota (10 calls/day) plus paid fallback. It does not mention failure modes for unsupported chains, but the rate-limit and default-coverage disclosures are genuinely useful.

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 sentences, with the core capability and default behavior front-loaded before the commercial terms. Nothing is redundant with the schema or annotations, and 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?

The tool is a simple three-parameter read with a 100% documented schema and an output schema, so return values need no explanation. The description supplies default behavior and quota context, leaving only minor gaps such as chain-validation or error behavior, which are low-risk for a read-only 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 the baseline is 3. The description goes beyond the schema by explaining that 'tokens' is optional and that omitting it yields a default set of major tokens, and that the field accepts either addresses or symbols — meaning the schema's comma-list note alone 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 states a specific verb and resource ('Native + ERC-20 balances for a wallet') and clarifies the two modes: default major tokens or a caller-supplied token list. It does not differentiate itself from nearby siblings such as erc20_info or address_profile, which keeps 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 explaining the default-vs-custom token modes, which tells an agent how to call it in each case. However, there is no explicit when-to-use guidance relative to alternatives like erc20_info or address_profile, and no when-not-to-use conditions.

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

token_countToken count estimateA
Read-onlyIdempotent
Inspect

Estimate LLM tokens, words and characters for any text (±15% vs GPT/Claude tokenizers; CJK-aware) and whether it fits 8k-1M context windows. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
textYestext

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely non-obvious behavior beyond that: accuracy is approximate (±15%), CJK is handled, and there is a 10 calls/day free cap followed by per-call credit charges — a rate/pricing constraint 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?

Two sentences, capability front-loaded before the cost/tier clause, with no filler. The pricing sentence is dense but each element (free quota, price, credit mechanism) carries actionable information for an agent deciding whether to call.

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

Completeness4/5

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

Low-complexity, single-parameter tool with an output schema, so return values need not be described. The description covers scope, accuracy, language handling and cost limits; the only gaps are the specific context-window set checked and the exact estimate method, which 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 coverage is 100% but the single schema description is only the placeholder word 'text', while the description adds that arbitrary text (including CJK) is acceptable. That is a marginal semantic gain over the schema; baseline 3 applies for a one-parameter tool with full coverage.

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: estimate LLM tokens, words and characters for text, plus a context-window fit check. That scope plus the '±15% vs GPT/Claude tokenizers; CJK-aware' qualifier clearly separates it from generic siblings like text_stats or text_chunk, 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?

Usage context is implied rather than stated: the LLM-token framing tells an agent roughly when this applies, and the free-tier/paid-model note signals a prerequisite. But there is no explicit when-to-use/when-not and no routing guidance versus llm_cost_estimate or text_stats, so an agent must infer the boundary.

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

token_safety_checkToken safety round-trip checkA
Read-onlyIdempotent
Inspect

Before buying an ERC-20: simulates USDC→token→USDC with aggregator quotes and reads the contract (owner, proxy, paused, supply). Flags no-sell-route (honeypot pattern), high round-trip loss (tax / thin liquidity). Free: 10 calls/day; then $0.003 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
usdNotest size in USD, 1-5000 (default 10)
chainYeschain: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche
tokenYesERC-20 contract address

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and open-world, so the safety profile is covered. The description adds real behavioral context beyond them: the simulation methodology, what contract fields are inspected, and concrete cost/rate-limit terms (10 free calls/day, then $0.003 via HTTP endpoint or X-API-Key credits), which an agent needs to decide whether to invoke repeatedly.

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 sentences with the purpose and trigger front-loaded, followed by detection signals and pricing. Every clause carries information an agent would otherwise have to guess, and nothing is repeated from the schema or annotations.

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

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 is unnecessary, and annotations cover the safety profile. The description supplies what remains: the simulation approach, the signals it detects, and the rate-limit/cost model. 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 chain, token, and usd are fully documented in the schema itself. The description only implies that 'usd' is the simulated trade size via 'simulates USDC→token→USDC'; it adds no format, bounds, or default information beyond what the schema already supplies. 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: it simulates a USDC→token→USDC round trip with aggregator quotes and reads contract state (owner, proxy, paused, supply). That distinguishes it clearly from siblings like erc20_info, dex_price, contract_read, and address_profile, which each cover only part of this job.

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 opening phrase 'Before buying an ERC-20' gives an explicit usage trigger, and the two flag categories (no-sell-route honeypot, high round-trip loss from tax/thin liquidity) tell the agent what decision the output supports. It does not name sibling alternatives or state when not to use it, so it stops short of a 5.

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

tx_explainTransaction explainerA
Read-onlyIdempotent
Inspect

Explain a transaction in plain words: status, fee in USD, decoded method and arguments, token/NFT transfers, approvals (incl. unlimited / setApprovalForAll), other events. Free: 10 calls/day; then $0.003 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
hashYes0x transaction hash
chainYeschain name

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely non-structured behavior: a free tier of 10 calls/day, then $0.003, with metering via the HTTP endpoint or X-API-Key credits. Not covered are failure modes such as pending/unknown hashes or unsupported chains.

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 followed by the commercial constraint. Every clause carries information; nothing is repeated from 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?

For a two-parameter read-only tool with an output schema, the definition is close to complete, and the cost model is a welcome addition. The one real gap is that chain is free-form with no enum and no supported-chain list, so an agent must guess valid values.

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 required parameters (hash, chain) carry descriptions and examples, so the schema does the heavy lifting. The description adds no chain-resolution semantics, even though chain has no enum and no list of accepted values anywhere.

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?

"Explain a transaction in plain words" gives a specific verb and resource, and the enumerated payload (status, USD fee, decoded method/args, transfers, approvals, events) makes the output scope unambiguous. It never distinguishes itself from the nearby tx_status or calldata_decode siblings, which is the only thing keeping it off 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: an agent can infer this is for turning a known transaction hash into a human-readable summary, and the pricing note hints at cost-sensitive use. There is no explicit when-to-use, when-not-to-use, or named alternative for simpler status lookups.

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

tx_statusTransaction status + confirmationsA
Read-onlyIdempotent
Inspect

Is my transaction pending, confirmed, reverted or not found? Confirmations and a per-chain finality hint. Cheap polling for agents waiting on a tx. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
hashYes0x tx hash
chainYeschain: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description contributes context the annotations cannot: a free tier of 10 calls/day followed by $0.001 per call via the HTTP endpoint or X-API-Key credits, which is exactly what an agent doing polling loops needs to know. A minor gap remains around when 'not found' should be expected (e.g., freshly broadcast transactions), which matters for polling logic.

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 short sentences, front-loaded with the question the tool answers, then usage, then cost. Every sentence earns its place. The staccato fragments ('Cheap polling for agents waiting on a tx.') are efficient though slightly clipped, and the pricing detail is packed densely into one 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?

A low-complexity, two-parameter read tool with an output schema (so return values need not be explained), full schema coverage, and rich annotations. Purpose, call pattern, and cost are all present. The only thing an agent might still want — how quickly a just-broadcast tx becomes visible, or polling cadence advice — is absent but not critical.

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

Parameters3/5

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

Schema description coverage is 100% and the chain property already lists all supported networks, so the schema carries parameter semantics fully. The only addition from the description is that confirmations/finality are chain-dependent, which is implied rather than spelled out. Baseline 3 is appropriate when the schema does the work.

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

Purpose4/5

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

The description names a specific resource (a transaction, keyed by chain + hash) and enumerates the exact outcome states it returns: pending, confirmed, reverted, not found, plus confirmations and a finality hint. That is far more than a restatement of the name. It does not explicitly contrast itself with the sibling tx_explain, so an agent must infer the split (status polling vs. decoding/explaining) 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 Guidelines4/5

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

'Cheap polling for agents waiting on a tx' gives a concrete usage scenario and signals the intended call pattern (repeated, low-cost). It stops short of an explicit exclusion or named alternative, so nothing tells the agent to prefer tx_explain when it actually needs calldata interpretation rather than status.

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

typed_data_riskEIP-712 signature risk checkA
Read-onlyIdempotent
Inspect

Before an agent signs EIP-712 data: identifies Permit / Permit2 / EIP-3009 (x402) / Seaport / CoW / delegation messages, explains them in one sentence and flags unlimited amounts, far deadlines, unknown spenders and NFT-drain listings. Free: 10 calls/day; then $0.003 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
typedDataYesEIP-712 JSON {domain, types, primaryType, message} (object in a POST body, or a JSON string in the query)
expectedChainIdNoflag if the domain chainId differs

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive, so safety is covered structurally. The description adds genuinely non-redundant behavior: the specific risk classes it escalates (unlimited amounts, far deadlines, unknown spenders, NFT-drain listings) and a concrete rate/cost model (10 free calls/day, then $0.003 via HTTP endpoint or X-API-Key credits) that an agent needs for budgeting and retry 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, zero filler. The workflow trigger and detection list come first, the risk flags second, and the pricing note last where it can be skimmed or ignored. Nothing repeats 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?

For a single-object-input check with an output schema, nested structure and full annotation coverage, the description supplies everything an agent lacks from structured fields: the call timing, the detection scope, the escalation criteria, and the cost/quota 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% — typedData is documented as the EIP-712 {domain, types, primaryType, message} object with a full worked example, and expectedChainId is documented as 'flag if the domain chainId differs'. The description adds no parameter-level 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?

States a specific verb set (identifies, explains, flags) against a specific resource (EIP-712 typed data) and enumerates the message families it recognizes — Permit, Permit2, EIP-3009/x402, Seaport, CoW, delegation. That enumeration separates it cleanly from siblings like signature_verify, calldata_decode, tx_explain and x402_validate 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 Guidelines4/5

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

The trigger is explicit and front-loaded: 'Before an agent signs EIP-712 data' tells the agent exactly when in a workflow to call it, including the safety-gate framing that implies when NOT to bother (no signature, no call). It stops short of naming alternatives or exclusions, so it lands at 4 rather than 5.

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

unit_convertUnit converterA
Read-onlyIdempotent
Inspect

Length, mass, volume, area (incl. 坪/ping), speed, time, data (KB vs KiB), energy, pressure, temperature and exact wei/gwei/ETH conversion. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
toYesunit
fromYesunit
valueYesnumber

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

The description goes beyond the readOnly/idempotent/openWorld annotations by disclosing a concrete quota and cost model (10 free calls/day, then $0.001 via HTTP endpoint or X-API-Key credits), which is genuinely useful operational context. However, it doesn't say what an agent sees when the free quota is exhausted (error vs. charge prompt) or whether unit strings are case-sensitive, so it stops short of a 4.

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

Conciseness5/5

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

Two tight sentences: capability scope first, then pricing/access. Every clause carries information (unit domains, the KB/KiB and ping edge cases, the quota). Nothing is redundant with the title or annotations.

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 covers scope plus the cost/rate dimension that annotations omit. The remaining gap is edge-case behavior: invalid or ambiguous unit strings, and what happens at the quota boundary — minor for a simple stateless converter.

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 itself only labels the three fields as 'unit'/'unit'/'number', so the description's specific callouts — KB vs KiB distinction, 坪/ping support, exact wei/gwei/ETH — add real meaning about what unit identifiers are accepted. It still doesn't spell out accepted spellings, aliases, or case rules for `from`/`to`, keeping it below 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 enumerates the conversion domains covered (length, mass, volume, area incl. 坪/ping, speed, time, data, energy, pressure, temperature, wei/gwei/ETH), which tells an agent precisely what class of request this tool handles. It falls short of a 5 because it never distinguishes itself from overlapping siblings like currency_convert, time_convert, or number_base — an agent could plausibly route a duration or number-base request to either tool.

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 mention of alternatives, despite several siblings that overlap on time and numeric conversion. The only selection-relevant signal is implicit: the category list hints that currency and base-N conversion are out of scope, but the agent must infer that.

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

url_metadataPage metadata / Open GraphA
Read-onlyIdempotent
Inspect

Title, description, canonical, language, favicon, Open Graph + Twitter card, JSON-LD types, feeds, word count and what's missing for link previews. Metadata only, not page content. Free: 10 calls/day; then $0.002 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
urlYespage URL

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the description's job is to add what they can't. It does: free tier of 10 calls/day, then $0.002 via the HTTP endpoint or X-API-Key credits, which is exactly the kind of cost/rate-limit constraint an agent needs before calling. It also discloses the output boundary (metadata only). It does not mention failure modes for unreachable or non-HTML URLs, but the additions are substantive.

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 returned fields are front-loaded in the first sentence, with scope and pricing after. The field enumeration is long but each item is a distinct output category, so it earns its space. No filler or restated title.

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?

This is a low-complexity, single-parameter read tool with an output schema, so return-value documentation is unnecessary and the description correctly skips it. Between the field list, the content exclusion, and the pricing model, an agent has what it needs to call it correctly. The only real gap is sibling disambiguation against og_image_check and http_inspect.

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, so the schema carries the semantics and the baseline is 3. The description adds nothing about the url parameter (no accepted formats, redirect handling, or whether non-HTML URLs are valid), leaving the schema to do all the work.

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

Purpose4/5

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

The description names a specific resource and enumerates exactly what is extracted (title, description, canonical, language, favicon, OG/Twitter cards, JSON-LD types, feeds, word count), plus a clear scope boundary: 'Metadata only, not page content.' That is far more than a restatement of the name. It stops short of differentiating from the nearest siblings, notably og_image_check (also link-preview oriented) and http_inspect, so an agent still has to infer which of those 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 rather than stated: fetch metadata for a page URL, and explicitly not page content. There is no when-to-use/when-not-to-use framing and no mention of the sibling tools (og_image_check, http_inspect, url_parse_clean) that an agent could confuse this with. The 'not page content' line is a useful scope exclusion but is the only routing signal.

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

url_parse_cleanURL parser + tracker removerA
Read-onlyIdempotent
Inspect

Split a URL into parts and query params, strip tracking params (utm_*, fbclid, gclid...) and flag phishing tricks (user@host, raw IP, shorteners, punycode). Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
urlYesURL

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds genuine value beyond that: it enumerates which parameter families get stripped and which phishing patterns are flagged, and it discloses a real operational constraint (10 free calls/day, then $0.001 via HTTP endpoint or X-API-Key credits). That rate-limit/quota disclosure is exactly the kind of behavior 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 sentence with the core capability front-loaded, followed by the concrete tracker/phishing lists and then the pricing note. Every clause carries information; nothing is padded. The commercial clause is slightly tangential to task selection but is short and clearly demarcated.

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, and the input is a single well-covered parameter. Given the tool's low complexity, the description covers the three behavioral facets (parse, strip, flag) plus quota, which is sufficient for correct invocation. Minor gap: it does not state whether the cleaned URL is reassembled in the output or whether flags are returned as booleans versus a risk score.

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 coverage, so the schema already carries the documentation burden and the baseline is 3. The description adds no meaning about the input — it does not say whether the URL must be absolute, whether a scheme is required, or how malformed input is handled. The example in the schema does more work than the prose here.

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 three concrete operations on a specific resource: splitting a URL into parts and query params, stripping known tracking parameters (utm_*, fbclid, gclid), and flagging phishing indicators (user@host, raw IP, shorteners, punycode). This is far more specific than the name alone and clearly separates it from a plain metadata fetcher. It stops short of naming a sibling such as url_metadata or idn_homograph_check to route the agent explicitly.

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

Usage Guidelines3/5

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

Usage is implied by the operation list — an agent can infer it should call this when it needs a de-tracked, decomposed URL rather than fetched metadata. However, there is no explicit when-to-use/when-not-to-use statement and no mention of alternatives like url_metadata for fetching page data or idn_homograph_check for deeper IDN analysis. The pricing/credit sentence is a constraint, not selection guidance.

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

user_agent_parseUser-agent parser + bot detectionB
Read-onlyIdempotent
Inspect

Browser, engine, OS, device type, and whether it is a known crawler or AI agent (GPTBot, ClaudeBot, PerplexityBot, scripts...). Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
uaYesUser-Agent string

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and openWorld, so safety is covered. The description's real contribution is rate-limit and cost disclosure (10 calls/day free, then $0.001 via HTTP endpoint or X-API-Key credits), which is genuinely useful behavior beyond the structured fields, but it says nothing about output shape or edge cases such as malformed UA strings.

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 compact sentences with no filler, and the primary capability list comes first. The pricing clause is slightly tangential to invocation but is short and clearly separated by a colon-and-semicolon structure.

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

Completeness3/5

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

For a one-parameter, read-only parser with an output schema, the essential coverage is present: what is extracted and what it costs. It stops short of describing how unknown or unrecognized agents are reported, which is the main ambiguity an agent would face when interpreting 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% for the single 'ua' parameter, so the schema already carries the semantics; the description adds nothing about format, encoding, or handling of empty/malformed strings. Baseline 3 applies when the schema does the work.

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

Purpose4/5

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

The description enumerates exactly what the tool extracts: browser, engine, OS, device type, and crawler/AI-agent detection, with concrete bot examples (GPTBot, ClaudeBot, PerplexityBot). A reader knows precisely what this does, though it is a noun-phrase fragment with no verb and never distinguishes itself from near-neighbours like url_parse_clean, http_inspect, or proxy_inspect.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus the many other URL/request-inspection siblings in the toolset, and no stated prerequisites. The only contextual sentence addresses billing, not invocation choice.

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

vesting_scheduleToken vesting calculatorA
Read-onlyIdempotent
Inspect

Cliff + linear vesting with optional TGE unlock: vested/unvested on any date and the monthly unlock schedule. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
atNodate to evaluate (default today)
startYesvesting start date
totalYestotal tokens
tgePercentNo% unlocked at start
cliffMonthsNocliff months
durationMonthsYestotal months

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely new behavioral context beyond them: a rate limit (10 calls/day free) and a paid tier priced at $0.001 via the HTTP endpoint or X-API-Key credits, which an agent needs before repeated calls. It does not describe output shape, but an output schema exists.

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

Conciseness4/5

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

Two dense sentences with the computational model and outputs front-loaded, then the quota/pricing constraint. Nothing is redundant, though mentioning 'the HTTP endpoint' inside an MCP tool description is slightly off-register and could confuse an agent about the transport being described.

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 stateless read-only calculator with 100% schema coverage and an output schema, the description supplies everything else an agent needs: the vesting model, the outputs produced, and the cost/rate-limit behavior. 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%, so every parameter's meaning is already documented in the input schema, setting the baseline at 3. The description adds marginal value by framing tgePercent as 'optional TGE unlock' and the model as 'cliff + linear', which hints how cliffMonths and durationMonths interact, but it gives no detail on units, date formats or precedence between at and today.

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 computation precisely ('Cliff + linear vesting with optional TGE unlock') and states the two outputs: vested/unvested on a given date and the monthly unlock schedule. It is specific enough to distinguish from every sibling (none of which compute vesting), though it never uses an explicit verb such as 'compute' and leans on the title for framing.

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 use is implied clearly by the narrow purpose, and the quota note ('Free: 10 calls/day') gives practical context for when to call it, but there is no explicit when-to-use/when-not-to-use statement and no alternative tool is named or excluded. Adequate for a niche calculator, with no guidance on edge cases such as dates before the vesting start.

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

webhook_inbox_createWebhook test inboxAInspect

Create a temporary URL that records any HTTP request sent to it (method, path, query, headers, body ≤16 KB, up to 100 requests, kept 24 h); read them back with the secret token. For testing webhooks and callbacks. Free: 3/day.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

Far exceeds what the annotations declare: body cap of 16 KB, a 100-request limit, 24-hour retention, a secret token for retrieval, and a 3-per-day free quota. These limits are exactly the operational constraints an agent needs to avoid silent truncation or quota failures.

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 action, then a parenthesized clause packing the capture details and limits, then a purpose fragment and quota. Dense but every clause carries operational information; 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 explanation, and the description covers retention, size caps, request limits, retrieval mechanism, and rate limits. Nothing an agent needs in order to create an inbox 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?

The schema takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description instead maps the implicit outputs (the URL and the secret token) which is useful but not strictly 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?

States a specific verb and resource: 'Create a temporary URL that records any HTTP request sent to it', and enumerates exactly what is captured (method, path, query, headers, body). It also distinguishes itself from the sibling webhook_inbox_read by saying captured requests are read back with the secret token.

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 testing webhooks and callbacks' gives a clear use case, and the read-back clause implicitly routes agents to webhook_inbox_read for retrieval. It lacks explicit exclusions (e.g., not for production traffic) or prerequisites, so it stops short of full when/when-not guidance.

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

webhook_inbox_readRead webhook test inboxB
Read-onlyIdempotent
Inspect

Read requests captured by a webhook_inbox_create inbox (free).

NameRequiredDescriptionDefault
idYesinbox id from webhook_inbox_create
tokenYessecret read token from webhook_inbox_create

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered and the bar is lower. The description adds only the '(free)' cost note, which is genuinely useful behavioral context, but it does not say whether reading drains/consumes the captured queue, whether repeated reads return the same payloads (despite the idempotent hint), or anything about 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?

A single short sentence with no redundant wording, and the key scoping fact (which inbox the requests come from) is front-loaded. It is efficient but arguably too terse to be fully self-standing, which keeps it below a 5.

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

Completeness3/5

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

The tool is simple (two required parameters), annotations cover the safety profile, and an output schema exists so return values need not be explained. Still, an agent polling a webhook inbox would benefit from knowing whether reads consume messages or whether it should poll, and that gap 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%, with both 'id' and 'token' documented as coming from webhook_inbox_create, so the schema already carries the parameter meaning. The description reinforces the provenance of those values but adds no new syntax, format, or validation detail beyond the schema, making the baseline 3 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 uses a specific verb ('Read') plus a specific resource ('requests captured by a webhook_inbox_create inbox'), which is enough for an agent to understand that this returns captured webhook payloads rather than creating or configuring an inbox. It implicitly distinguishes itself from the sibling webhook_inbox_create by naming that tool as the source of the inputs.

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 mention of 'a webhook_inbox_create inbox' signals that an inbox must exist first and that its id/token are prerequisites. There is no explicit when-to-use guidance, no statement about polling cadence or when to re-read, and no named alternative (e.g., how to inspect results if the inbox is empty).

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

x402_validatex402 endpoint validatorA
Read-onlyIdempotent
Inspect

Lint any x402 paid endpoint like a client would: 402 status, PAYMENT-REQUIRED header decode, CAIP-2 network, integer amount, payTo/asset, EIP-712 domain extra, CORS expose headers, bazaar discovery, /.well-known/x402. Score + fixes. Unpaid request only. Free: 10 calls/day; then $0.003 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
urlYeshttps URL of the paid endpoint
methodNoGET (default) or POST

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Beyond the readOnly/idempotent/openWorld annotations, the description discloses that the probe makes an unpaid request, that free usage is capped at 10 calls/day, and that further calls cost $0.003 via HTTP or X-API-Key credits — genuine rate-limit and billing context an agent needs. It stops short of describing behavior on a non-x402 or unreachable endpoint (error shape), which is the remaining gap.

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 check list are front-loaded, and the constraint/cost tail is useful rather than padding. The telegraphic colon-list style ('402 status, PAYMENT-REQUIRED header decode, CAIP-2 network...') is efficient but sacrifices readability compared with full sentences.

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 an output schema exists (score + fixes need not be explained) and annotations carry the safety profile, the description covers what an agent needs to call it: what it checks, that it only issues unpaid requests, and the cost model. Minor omission: no note on what happens for non-x402 or failing endpoints, though the output schema likely absorbs that.

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 (url, method) are already documented in the schema, so the baseline is 3. The description adds nothing about URL format, redirect handling, or method-specific differences beyond what the schema already states.

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 (lint/validate) and a specific resource (an x402 paid endpoint), and enumerates the exact checks performed (402 status, PAYMENT-REQUIRED header, CAIP-2 network, payTo/asset, EIP-712 domain, CORS, bazaar discovery, /.well-known/x402). That enumeration distinguishes it cleanly from generic siblings like http_inspect, openapi_lint or security_headers_audit.

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

Usage Guidelines4/5

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

It gives a clear context of use (validate a paid x402 endpoint the way a client would) and one real constraint: 'Unpaid request only,' meaning the probe does not actually settle payment. It does not explicitly name an alternative tool or state when-not to use this versus http_inspect/a2a_card_validate, 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.

yaml_json_convertYAML ↔ JSON converterA
Read-onlyIdempotent
Inspect

YAML (multi-document, with line-numbered errors) to JSON, or JSON to YAML. Free: 10 calls/day; then $0.001 via the HTTP endpoint or X-API-Key credits.

NameRequiredDescriptionDefault
inputYesYAML or JSON text
directionNoyaml-to-json | json-to-yaml (auto)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Beyond the annotations (readOnly, idempotent, non-destructive, openWorld), the description discloses real operational traits: rate limiting (10 calls/day free), the paid fallback path and auth mechanism (X-API-Key credits), plus error behaviour (line-numbered errors) and multi-document handling. It doesn't describe response structure, but an output schema exists to cover that.

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

Conciseness5/5

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

Two sentences with the core purpose front-loaded and no wasted wording. The rate-limit sentence is compact and each clause adds actionable information for an agent deciding whether to call.

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

Completeness4/5

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

For a simple two-parameter, read-only conversion tool with a complete schema, rich annotations, and an output schema, the description covers purpose, capability edge cases, and cost/auth constraints. Only the usage comparison to sibling conversion tools is left 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%, so both 'input' and 'direction' are already documented, including the auto-detection hint. The description adds only indirect context (that multi-document YAML input is supported) and no additional syntax or format constraints, 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 both directions explicitly: 'YAML ... to JSON, or JSON to YAML', with a distinguishing detail (multi-document support, line-numbered errors). An agent can immediately separate this from siblings like json_format or csv_json_convert by the format pair.

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 bimodal phrasing and the 'direction' parameter description ('auto'), but there is no explicit when-to-use or when-not-to-use guidance against neighbouring tools such as json_format. The agent must infer that this is the tool for cross-format conversion rather than validation or formatting.

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
    • Addedpartner_program_info
  2. 14 tool updates
    • Addedduration_parse
    • Addedemail_check
    • Addedextract_entities
    • Addedhtml_to_markdown
    • Addedjson_diff
    • Addedjson_query
    • Addedjson_repair
    • Addedllm_cost_estimate
    • Addedmath_eval
    • Addedpii_redact
    • Addedprompt_injection_scan
    • Addedtext_chunk
    • Addedtext_similarity
    • Addedtoken_count
  3. 3 tool updates
    • Changedjson_schema_validate2 fields changed
      • addedInput schema / properties / data / examples
        Added value: +[
        +  {
        +    "name": "gas",
        +    "price": 0.001
        +  }
        +]
      • addedInput schema / properties / schema / examples
        Added value: +[
        +  {
        +    "properties": {
        +      "name": {
        +        "type": "string"
        +      },
        +      "price": {
        +        "minimum": 0,
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "name",
        +      "price"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedsignature_verify5 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"expected signer"New value: +"expected signer (0x address)"
      • changedInput schema / properties / address / examples
        Previous value: -[
        -  "0x..."
        -]New value: +[
        +  "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
        +]
      • addedInput schema / properties / message / examples
        Added value: +[
        +  "Sign in to MoneyTools example"
        +]
      • changedInput schema / properties / signature / description
        Previous value: -"0x signature"New value: +"0x signature (65+ bytes hex)"
      • addedInput schema / properties / signature / examples
        Added value: +[
        +  "0x63f1769398941dfea46d40d30c729a55e1bee0f000781ade7ac775b759dce0d55c404e2b015ce2f08893cad56457c4e3a77e01f6bd9a0b00ebe162c7b603aa511b"
        +]
    • Changedtyped_data_risk2 fields changed
      • changedInput schema / properties / typedData / description
        Previous value: -"EIP-712 JSON {domain, types, primaryType, message}"New value: +"EIP-712 JSON {domain, types, primaryType, message} (object in a POST body, or a JSON string in the query)"
      • addedInput schema / properties / typedData / examples
        Added value: +[
        +  {
        +    "domain": {
        +      "chainId": 8453,
        +      "name": "USD Coin",
        +      "verifyingContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        +      "version": "2"
        +    },
        +    "message": {
        +      "deadline": "1893456000",
        +      "nonce": "0",
        +      "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
        +      "spender": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
        +      "value": "115792089237316195423570985008687907853269984665640564039457584007913129639935"
        +    },
        +    "primaryType": "Permit",
        +    "types": {
        +      "Permit": [
        +        {
        +          "name": "owner",
        +          "type": "address"
        +        },
        +        {
        +          "name": "spender",
        +          "type": "address"
        +        },
        +        {
        +          "name": "value",
        +          "type": "uint256"
        +        },
        +        {
        +          "name": "nonce",
        +          "type": "uint256"
        +        },
        +        {
        +          "name": "deadline",
        +          "type": "uint256"
        +        }
        +      ]
        +    }
        +  }
        +]
  4. 90 tool updates
    • First observeda2a_card_validate
    • First observedabi_encode
    • First observedaddress_profile
    • First observedaddress_validate
    • First observedallowance_revoke_plan
    • First observedapr_apy
    • First observedblock_at_time
    • First observedbridge_status
    • First observedbroken_links
    • First observedbtc_address
    • First observedbtc_fees
    • First observedbusiness_days
    • First observedcalldata_decode
    • First observedcard_number_check
    • First observedchain_info
    • First observedcolor_convert
    • First observedcontract_abi
    • First observedcontract_read
    • First observedcron_next_runs
    • First observedcsv_json_convert
    • First observedcurrency_convert
    • First observeddex_price
    • First observeddns_lookup
    • First observeddns_propagation
    • First observeddomain_rdap
    • First observedens_available
    • First observedens_resolve
    • First observederc20_info
    • First observederc4626_vault
    • First observedevent_logs
    • First observedfeed_parse
    • First observedgas_compare
    • First observedhash_encode
    • First observedhttp_inspect
    • First observediban_validate
    • First observedid_generate
    • First observedidn_homograph_check
    • First observedimpermanent_loss
    • First observedip_cidr
    • First observedip_owner
    • First observedjson_format
    • First observedjson_schema_validate
    • First observedjwt_inspect
    • First observedlanguage_detect
    • First observedliquidation_price
    • First observedllms_txt_validate
    • First observedloan_amortization
    • First observedlunar_date
    • First observedmarkdown_to_html
    • First observedmcp_tools_lint
    • First observednft_metadata
    • First observednumber_base
    • First observedog_image_check
    • First observedopenapi_lint
    • First observedpassword_strength
    • First observedphone_format
    • First observedproxy_inspect
    • First observedpublic_holidays
    • First observedqr_payment_link
    • First observedregex_test
    • First observedrobots_check
    • First observedrpc_health
    • First observedsafe_multisig_info
    • First observedsecurity_headers_audit
    • First observedsemver_check
    • First observedsignature_verify
    • First observedsitemap_parse
    • First observedslugify
    • First observedsolana_account
    • First observedspf_dmarc_check
    • First observedssl_certificate
    • First observedstablecoin_peg
    • First observedtaiwan_id_check
    • First observedtext_diff
    • First observedtext_stats
    • First observedtime_convert
    • First observedtoken_balances
    • First observedtoken_safety_check
    • First observedtx_explain
    • First observedtx_status
    • First observedtyped_data_risk
    • First observedunit_convert
    • First observedurl_metadata
    • First observedurl_parse_clean
    • First observeduser_agent_parse
    • First observedvesting_schedule
    • First observedwebhook_inbox_create
    • First observedwebhook_inbox_read
    • First observedx402_validate
    • First observedyaml_json_convert

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Non-custodial agent wallet with a transaction preflight that decodes an unsigned EVM tx and flags drain patterns (unlimited/large approval, approve-all, token & NFT transferFrom, proxy upgrade, on-chain permit, approvals hidden in multicall) before signing.
    9
    85 PyPI
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to query multichain balances, inspect smart contracts, and draft DeFi interactions while enforcing anti-drainer protections such as approval blocking, destination whitelisting, spend caps, and human approval gates.
    11 npm
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    basescope is a read-only onchain safety layer for AI agents: it answers "is this token/contract/approval safe?" on Base and EVM chains (honeypot/rug checks, risky-approval detection, verified-source lookup, balances, ENS/Basenames, gas, prices), with no private keys and no required API keys.
    13
    6 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources