Skip to main content
Glama

Server Details

61 x402 pay-per-call tools that chain: each answer names the next call. No API key, no account.

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

TDQS

A3.6/5.0

Scored across 79 tools

Disambiguation3/5

The set includes several overlapping clusters: chat_completions/llm_completion/messages all call LLMs, evm_gas/evm_fees/evm_estimate_gas/evm_gas_window/evm_can_i_send all concern gas and cost, evm_tx/evm_receipt overlap, and evm_token_safety/evm_verdict both assess token risk. The descriptions do a good job of cross-referencing and narrowing each tool, but an agent still faces real misselection risk across 79 endpoints.

Naming Consistency4/5

Most tool names follow a readable snake_case domain_resource pattern such as evm_balance, ai_image_describe, red_dnsbl, and util_sha256. Minor deviations exist in bare or vague names like do, catalog, messages, and chat_completions, and the styles mix nouns with some verbs, but the overall convention is predictable.

Tool Count1/5

With 79 tools, this is far beyond the typical scoped toolset and fits the rubric's extreme-mismatch range of 50+ tools. The catalog, do, and x402_recommend tools help navigate the surface, but they do not reduce the cognitive load of exposing dozens of micro-endpoints as individual tools.

Completeness4/5

Coverage is broad across AI media, LLM access, content generation, EVM on-chain reads, DNS/security reconnaissance, time, utilities, weather, web reading, randomness, and paid-endpoint discovery. There are some gaps such as web search, video handling, and account/payment management, but core workflows have usable tools and the catalog/recommend/do routes provide discovery fallbacks.

Available Tools

79 tools
ai_documentDocument to Markdown (PDF, Office, HTML)AInspect

Use when an agent must read a document it was handed: it turns it into clean Markdown in about a second - pass an https URL or base64 of a PDF, Word, Excel, PowerPoint, HTML, CSV or XML file and get the text back with its headings, tables and page markers, plus the token count. It reads the text layer, so a scanned page with no text layer comes back without text. You are only charged if the Markdown is delivered. No API key, no account. $0.01 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
urlNohttps URL of the document to convert. Use this or document.
documentNoThe document, as base64. Use this or url.
filenameNoName with extension, e.g. invoice.pdf. Helps the converter pick the parser. Default: taken from the URL.

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses latency (~1 second), the text-layer limitation that makes scanned pages return empty, the billing model ($0.01/call over x402 USDC, charged only if Markdown is delivered), and the absence of any API key or account requirement.

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 when-to-use condition, then capabilities, limitations, and pricing in a single dense paragraph. Every sentence carries information, though the pricing/payment sentence is long enough to slightly slow scanning.

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?

No output schema exists, yet the description explains the return value in detail — Markdown with headings, tables and page markers plus a token count — and flags the main failure mode (no text layer). An agent has everything needed to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so url, document, and filename are already well documented in the schema. The description restates the either/or input choice ('pass an https URL or base64') but adds no syntax, size limits, or format-selection nuance beyond what the schema provides, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource — converts a document into clean Markdown — and enumerates the supported input formats (PDF, Word, Excel, PowerPoint, HTML, CSV, XML). It is clearly distinguishable from siblings like web_read (fetches pages) or ai_transcribe (audio) by scoping to a document the agent was handed.

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: 'Use when an agent must read a document it was handed.' It does not name alternatives or exclusions (e.g., use web_read for live pages, ai_transcribe for audio), so routing to siblings is left to inference, but the use context itself is unambiguous.

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

ai_imageText-to-image (FLUX.1 schnell)AInspect

Use when an agent needs a picture it can hand straight to the next step: a 1024x1024 JPEG from a text prompt with FLUX.1 [schnell] in about 2 seconds. Returns a hosted image URL valid for 24 hours that you can hand straight to the next tool; add inline=true to also get the base64. Choose 1-8 diffusion steps (default 4). You are only charged if the image is delivered. No API key, no account. $0.02 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
stepsNoDiffusion steps, 1-8. More is sharper and slower. Default 4.
inlineNoAlso return the JPEG as base64. Default false.
promptYesWhat to draw, up to 2048 characters. English works best.

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses latency (~2 seconds), output format, 24-hour URL validity, optional base64 return, pricing ($0.02 per call), charging only on delivery, payment via x402/USDC, and no API key/account requirement. These are meaningful behavioral details beyond the schema.

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

Conciseness4/5

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

The description is dense and front-loads the main usage scenario and output format. It has slight redundancy in repeating 'hand straight to the next step/tool', but overall it remains efficient and appropriately sized.

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

Completeness5/5

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

Given no annotations and no output schema, the description fully explains the return value (hosted URL valid 24 hours, optional base64), model, image size/format, cost, auth/payment, and latency. An agent has enough information to call it and understand the result.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents prompt, steps, and inline. The description reinforces steps 1-8/default 4 and inline=true/base64, but this mostly duplicates schema semantics rather than adding new parameter meaning.

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: generate a 1024x1024 JPEG from a text prompt using FLUX.1 [schnell]. It is clearly a text-to-image tool rather than an edit/describe/styled sibling, but it does not explicitly name or contrast those alternatives.

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

Usage Guidelines4/5

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

It gives clear usage context: use when an agent needs a picture it can pass directly to the next step, and it explains when to add inline=true for base64. It lacks explicit when-not guidance or named alternatives such as ai_image_edit or ai_image_styled.

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

ai_image_describeDescribe what is in an imageAInspect

Use when an agent has an image and needs words it can act on, in about a second: pass an https URL or base64 and ask anything about it, from a one-line caption to reading a sign. Pairs with the rest of the chain: describe an image, translate the description, then have it read aloud. You are only charged if the description is delivered. No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
urlNohttps URL of the image to describe. Use this or image.
imageNoThe image, as base64. Use this or url.
promptNoWhat to ask about the image. Default: a one-sentence description.
max_tokensNoLength limit of the answer, 16-512. Default 128.

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full transparency burden and delivers key behavioral traits: ~1 second latency, 'only charged if the description is delivered', no API key/account, and $0.005 per call via x402 (USDC). It does not cover rate limits or error modes, but the payment and auth details are unusually specific and valuable.

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

Conciseness4/5

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

The description is front-loaded with the core trigger and how-to, then adds chaining context and billing/auth details. Each sentence serves a purpose, though the 'pairs with the rest of the chain' sentence is slightly tangential and could be trimmed without losing much.

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 4-parameter tool with no output schema and no annotations, the description is complete enough: it implies a text result, explains how to supply the image and prompt, and covers billing and auth. It omits error behavior and output format specifics, but the schema already fully documents the inputs, so these gaps 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% and all four parameters have descriptions, so the baseline is 3. The description mentions URL/base64 and 'ask anything' for the prompt, which aligns with the schema but adds no new syntax, format, or constraint details beyond what is already documented.

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 action: passing an image URL or base64 to get words back, from a one-line caption to reading a sign. This distinguishes it from generation or editing siblings like ai_image, though it never names those alternatives explicitly. The title reinforces the purpose, but the description could be sharper about what 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 Guidelines4/5

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

It clearly says when to use it ('Use when an agent has an image and needs words it can act on') and how to invoke it ('pass an https URL or base64 and ask anything about it'). It also suggests a workflow chain with translate and speech tools, but does not state when not to use it or name specific alternative tools for different image tasks.

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

ai_image_editEdit an image you already have (inpainting)AInspect

Use when an agent must change part of an image and leave the rest untouched: pass the image and a black-and-white mask, and Stable Diffusion inpainting repaints only the white area following your prompt. Image and mask go as https URLs or as base64, up to 10 MB each. Returns a hosted image URL valid for 24 hours. You are only charged if the edit is delivered. No API key, no account. $0.02 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
urlNohttps URL of the image to edit. Use this or image.
maskNoThe mask, as base64. Use this or mask_url.
seedNoSame inputs and same seed give the same edit.
imageNoThe image to edit, as base64. Use this or url.
stepsNoDiffusion steps, 1-20.
promptYesWhat to paint into the masked area, up to 2048 characters.
guidanceNoHow closely to follow the prompt, 0-20.
mask_urlNohttps URL of the mask: white where it should repaint, black where it must not. Use this or mask.

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations to lean on, the description carries the full burden and does so well: 10 MB per-asset limit, a hosted URL valid 24 hours, billing only on delivered edits, $0.02 per call over x402/USDC, and no API key or account required. These are exactly the operational traits an agent cannot infer from the schema.

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

Conciseness4/5

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

The use case and mask semantics are front-loaded, and every clause contributes. The payment/pricing sentence is dense but relevant for an unauthenticated paid endpoint; still, the run-on single-sentence structure could be split for faster scanning.

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

Completeness5/5

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

For an 8-parameter, single-required-input tool with no output schema, the description covers inputs, size limits, the return value (24-hour hosted URL), cost and payment method. An agent has everything needed to decide to call it and interpret the result.

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

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 synthesizes what the schema states per-property: the mutual exclusivity of url/image and mask/mask_url as URL-or-base64 alternatives, plus the shared 10 MB cap. It stops short of touching sampling knobs like steps, guidance or seed, which remain schema-only.

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 effect — "change part of an image and leave the rest untouched" — plus the concrete mechanism (mask-based inpainting repainting only the white area). This clearly separates it from sibling image tools like ai_image, ai_image_styled and ai_image_describe, which generate or analyze whole images.

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 when an agent must change part of an image and leave the rest untouched" gives a clear triggering condition and implicitly excludes full-image generation or description. It never names an alternative sibling or states a when-not case explicitly, so it falls short of a 5.

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

ai_image_styledIllustration from text, with a seed (DreamShaper 8)AInspect

Use when an agent needs an illustration rather than a photo: DreamShaper 8 LCM from a text prompt in about 2 seconds - painterly and character art rather than photoreal. Takes a seed for a repeatable result, a negative prompt, and your own width and height. Returns a hosted image URL valid for 24 hours; add inline=true to also get the base64. You are only charged if the image is delivered. No API key, no account. $0.01 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
seedNoSame prompt and same seed give the same image.
stepsNoDiffusion steps, 1-20.
widthNoWidth in pixels, a multiple of 8 between 256 and 1536. Default 1024.
heightNoHeight in pixels, a multiple of 8 between 256 and 1536. Default 1024.
inlineNoAlso return the image as base64. Default false.
promptYesWhat to draw, up to 2048 characters. English works best.
guidanceNoHow closely to follow the prompt, 0-20.
negative_promptNoWhat to keep out of the image, up to 1024 characters.

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden and does so well: ~2 second latency, seed-based repeatability, return format (hosted URL valid 24 hours, optional base64 via inline=true), no API key/account, pricing ($0.01/call over x402 USDC), and the unusual billing rule that you are only charged if the image is delivered. These are exactly the traits an agent cannot infer from structured fields.

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

Conciseness5/5

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

One dense, front-loaded paragraph: use case first, then model/style, then parameters, then return values, then cost/auth. Every sentence contributes a fact an agent would otherwise have to guess, with no repetition of schema text.

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

Completeness5/5

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

With no output schema, the description supplies the return contract (hosted URL, 24h validity, optional base64), plus cost, auth, and latency. For an 8-parameter generation tool with full schema coverage, nothing material is missing.

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

Parameters4/5

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

Schema coverage is 100% so the baseline is 3; the description adds intent beyond the schema by saying the seed is for a repeatable result, that width/height are caller-chosen, that a negative prompt is supported, and that inline returns base64. It doesn't touch steps or guidance, but those are fully documented in the schema.

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

Purpose5/5

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

States a specific verb and resource (generate an illustration from a text prompt), names the underlying model and its style bias (DreamShaper 8 LCM, painterly/character art, not photoreal), and gives a rough latency. An agent can immediately tell this apart from ai_image (photos) and ai_image_edit 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?

Explicit when-to-use: 'Use when an agent needs an illustration rather than a photo', reinforced by the painterly/non-photoreal contrast. It implies the alternative (photo generation) but doesn't name ai_image or ai_image_edit directly, so routing is clear for the main case but not explicitly enumerated.

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

ai_speechText-to-speech (Aura-2 / MeloTTS)AInspect

Use when an agent must be heard and not read, in English, Spanish, French, Chinese, Japanese or Korean: Deepgram Aura-2 for English and Spanish, MeloTTS for the rest. Returns a hosted audio URL valid for 24 hours (MP3 for English and Spanish, WAV otherwise) plus its size; add inline=true to also get the base64. Up to 2000 characters per call. You are only charged if the audio is delivered. No API key, no account. $0.01 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
langNoen, es, fr, zh, ja or ko. Default en.
textYesWhat to say, up to 2000 characters.
inlineNoAlso return the WAV as base64. Default false.

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: URL validity (24h), output formats per language, size reporting, optional base64 via inline, the 2000-char input limit, charge only on delivery, pricing ($0.01), no API key/account, and x402/USDC payment. These are the exact operational facts an agent needs before invoking.

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

Conciseness4/5

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

A dense single paragraph with zero filler; the usage condition and key constraints are front-loaded. It is packed with clauses, slightly heavy for one sentence chain, but every clause carries operational information.

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

Completeness5/5

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

No output schema exists, yet the description fully describes the return (URL, format, size, optional base64) plus limits and payment. Nothing material is missing for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3; the description adds value by explaining that inline=true yields the base64 alongside the URL and by mapping lang values to the underlying engine per language. Minor redundancy with schema on the 2000-char limit, but net additive.

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

Purpose5/5

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

The description names the specific resource (English/Spanish via Aura-2, others via MeloTTS), the six supported languages, and the output artifact (audio URL, MP3/WAV). The 'heard and not read' framing distinguishes it cleanly from siblings like ai_transcribe (the reverse) and ai_image, so an agent can select it without opening the schema.

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

Usage Guidelines4/5

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

It states an explicit when-to-use condition ('when an agent must be heard and not read') and constrains to the six supported languages, which rules out unsupported cases. It doesn't name a specific alternative tool to use when the condition fails, but the usage context is clear enough for selection.

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

ai_transcribeSpeech-to-text (Whisper large v3 turbo)AInspect

Use when an agent is handed audio and needs text it can work with: Whisper large v3 turbo - pass an https URL (mp3, wav, flac, m4a, ogg, up to 10 MB) or base64 audio in a POST. Returns the text, the detected language with its probability, the duration, and timed segments; add words=true for word-level timestamps. Around 100 languages. You are only charged if the transcript is delivered. No API key, no account. $0.02 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
urlNohttps URL of the audio file, up to 10 MB.
audioNoAlternative to url: the audio as base64 (POST only).
wordsNoInclude word-level timestamps. Default false.
languageNoOptional ISO code to skip detection, e.g. es.

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: accepted input forms (https URL or base64 POST), supported formats, 10 MB cap, ~100 languages, billing model ($0.02/call over x402 USDC, charged only on delivery), and no API key/account required. These are exactly the prerequisites and cost constraints an agent needs before invoking a paid external service.

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 usage trigger, then input specs, then return values and pricing – a sensible order and no filler sentences. It is a single very dense sentence chain with semicolons, which costs a bit of scannability.

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

Completeness5/5

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

There is no output schema, so the description takes responsibility for describing returns (text, detected language with probability, duration, timed segments, optional word timestamps), plus cost and auth. Nothing an agent needs to call this correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents url, audio, words, and language. The description restates the format list and the words=true behavior but adds no syntax or edge-case detail beyond the schema, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb+resource ('speech-to-text', 'handed audio and needs text') and names the concrete engine (Whisper large v3 turbo). It is clearly distinguishable from siblings like ai_speech and ai_translate, which handle the opposite or a different transformation.

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 when an agent is handed audio and needs text it can work with' gives a concrete triggering condition. It does not name an alternative or an explicit when-not case (e.g., when to reach for ai_translate instead), so it stops short of full routing guidance.

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

ai_translateTranslate text (M2M100, 100 languages)AInspect

Use when an agent must say something in a language it was not given: about 100 languages with Meta M2M100 1.2B - pass the text and the target language (ISO code or English name); the source language is detected if omitted. Long texts are split by sentence, keeping order and line breaks. Up to 2000 characters per call. Chains with /v1/ai/transcribe and /v1/ai/speech. You are only charged if the translation is delivered. No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
toYesTarget language: ISO code (es, fr, de, zh, ja...) or English name (spanish).
fromNoOptional source language; detected when omitted.
textYesWhat to translate, up to 2000 characters.

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses cost ($0.005/call via x402/USDC), that billing only occurs on delivery, that no API key or account is required, the 2000-character cap, and that long texts are split by sentence while preserving order and line breaks. That is exactly the kind of operational context an agent needs before paying for a call.

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

Conciseness4/5

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

Front-loaded with the 'Use when...' trigger, then limits, chaining and pricing in a compact block with no filler sentences. The payment-mechanism detail (x402/USDC) is slightly dense but still decision-relevant.

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?

No output schema and no annotations exist, and the description covers cost, limits, segmentation behavior and chaining, which is most of what matters. It never states what the response looks like (translated string vs object, detection result), which is the one remaining gap for a no-output-schema tool.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters are already documented, including ISO-code-or-English-name for 'to' and auto-detection for 'from'. The description restates these facts and adds no syntax, format or constraint details beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

Names a specific verb (translate), the resource (text), the engine (Meta M2M100 1.2B) and the scope (about 100 languages), so an agent knows exactly what it gets. It does not explicitly say why an agent would pick this over llm_completion or chat_completions for translation, so sibling differentiation is only implied by the tool's exclusivity.

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 when an agent must say something in a language it was not given' is a concrete trigger condition, and the chaining note with /v1/ai/transcribe and /v1/ai/speech tells the agent where this fits in a pipeline. There is no explicit when-not guidance (e.g. against using a general LLM for translation).

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

catalogCatalogue (free)AInspect

FREE, no payment needed. Lists all 78 tools with a real example of the input and of the output each one returns, plus what a call costs and how to pay for it. Call this first if a tool answered HTTP 402.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

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

Given that there are no annotations, the description provides crucial behavioral traits that are not in the schema: it specifies that the tool is 'FREE,' lists specific content like 'a real example of the input and of the output each one returns,' and details the cost structure.

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 perfectly sized (one sentence), highly direct, and front-loads the most critical business constraint (free usage and emergency trigger).

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?

Since this is a zero-parameter metadata retrieval tool, the description is extremely complete. It defines the scope (all 78 tools) and the depth of information provided (costs, examples, payment methods), leaving no ambiguity for the agent.

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

Parameters3/5

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

Since the schema coverage is 100% (no parameters), the baseline score applies. The description supports this by explaining that the tool will provide the necessary contextual information (inputs/outputs) for all listed tools, even if they require parameters.

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

Purpose5/5

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

The description clearly defines the tool's purpose as cataloging all available tools and providing specific metadata (input examples, output examples, cost) for each. It effectively distinguishes itself from the specific function of sibling tools.

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

Usage Guidelines5/5

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

It provides an explicit critical path for usage: 'Call this first if a tool answered HTTP 402.' This guides the agent to use the catalog exactly when it is most needed—when a specific tool has failed.

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

chat_completionsOpenAI-compatible chat completionsAInspect

Use when an agent must call an LLM with no account and no token metering: chat completions with the exact request and response shape of the OpenAI API - point your existing client at this URL and it works, no code change. One flat price per call whatever the size of the prompt or the answer — no token metering, no API key, no account, no rate limit. Automatic failover across several large models. You are only charged if the completion is delivered. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
modelNoIgnored on purpose: the service picks the model and fails over between several. Accepted so an OpenAI client can send it unchanged.
promptNoShortcut for a single user message, if you do not want to build the array.
messagesNoThe conversation, as in the OpenAI API: [{"role":"system|user|assistant","content":"..."}]. In a POST, send it as a real JSON array, exactly as an OpenAI client does; in a GET, pass that same JSON as text in the query string. Both are accepted.
max_tokensNoOutput token cap, up to 4000. Does not change the price.
temperatureNoPassed through to the model when given.

TDQS

A4.2/5.0
Behavior5/5

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

No annotations exist, so the description carries the full burden and does so: flat $0.005 per call regardless of prompt size, x402/USDC payment, no API key/account/rate limit, automatic failover across models, and billing only on delivery. It also warns that the model parameter is ignored on purpose, which prevents a costly misunderstanding.

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 'use when' trigger, then the compatibility guarantee, then cost/payment facts. Slightly redundant: the no-account/no-token-metering/no-key idea is restated in both the first and second 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?

Covers cost, payment mechanism, failover, model-parameter behavior, and the response shape (by reference to OpenAI) with no output schema to lean on. What remains thin is the mechanics of the x402 payment handshake and how a failed/undelivered call is actually handled by the client.

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; the description adds the framing that parameters follow the OpenAI API exactly, which gives an agent a mental model for messages/prompt/max_tokens. The pricing-relevant claim ('does not change the price') for size is stated at the description level rather than per-parameter.

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

Purpose4/5

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

States a specific verb+resource (chat completions with the exact OpenAI request/response shape) and its distinguishing property (no account, no token metering). An agent knows the shape of the call immediately. It stops short of naming sibling llm_completion to make the distinction airtight.

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 when an agent must call an LLM with no account and no token metering' is an explicit use condition, and the flat-price/no-key framing further clarifies the context. There is no explicit 'use X instead when...' routing and no exclusions, even though llm_completion sits right next to it in the sibling list.

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

content_adviceOne piece of adviceAInspect

Use when an agent must end a reply with something usable rather than a platitude: one piece of practical advice about work, life or money, in English or Spanish. Short, concrete and usable - not a fortune cookie. Filterable by topic, with an id to avoid repeats and a seed for reproducibility. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
seedNoSame seed always returns the same advice.
topicNowork | life | money. Omit for any.
excludeNoIds already seen, comma-separated in a GET.
languageNoen | es. Defaults to en.

TDQS

A3.9/5.0
Behavior4/5

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

No annotations exist, so the description carries the full load, and it discloses the cost model ($0.005 per call, paid over x402/USDC), the output style (short, concrete, not a platitude), and reproducibility via seed. It omits what a payment failure or exhausted exclusion list looks like, and does not describe the response payload.

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 usage trigger, followed by output character and cost. The 'not a fortune cookie' clause is slightly flavorful but earns its place by delineating quality expectations.

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 zero-required-param generator with no output schema and no annotations, the description covers purpose, output character, cost, and reproducibility. It is only slightly short of complete because the actual returned fields and payment-failure behavior 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 coverage is 100%, so all four parameters are already documented with enums and defaults. The description restates them (topic filtering, id to avoid repeats, seed for reproducibility) without adding syntax or edge-case guidance beyond the schema, which is the baseline 3 case.

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

Purpose4/5

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

The description names a specific verb+resource: return one piece of practical advice about work, life or money, explicitly contrasted with a platitude/fortune cookie. It is clearly distinguishable from siblings like content_joke or content_fact by content type, though it never names those alternatives.

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

Usage Guidelines4/5

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

Gives a concrete trigger — end a reply with something usable rather than a platitude — which tells the agent exactly when to reach for it. It stops short of stating when NOT to use it or naming a sibling to prefer instead.

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

content_factRandom factAInspect

Use when an agent needs something true to say and must not repeat itself across a session: one curious fact, in English or Spanish, by topic: science, computing, history or nature. Takes parameters, returns an id so you can avoid repeats across a session, and accepts a seed for a reproducible answer. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
seedNoSame seed always returns the same fact.
topicNoscience | computing | history | nature. Omit for any.
excludeNoIds already seen, comma-separated in a GET.
languageNoen | es. Defaults to en.

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and discloses key non-schema behavior: per-call cost, x402/USDC payment, return of an id for repeat avoidance, and seed-based reproducibility. It does not describe error behavior or rate limits, but it covers the important operational traits.

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 usage condition is front-loaded and the remaining details are dense and relevant. 'Takes parameters' is mildly redundant, but the cost/payment note and repeat-avoidance explanation earn their place.

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

Completeness4/5

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

For a four-optional-parameter content tool with no annotations or output schema, the description is largely complete: it covers the fact, topics, languages, id return, seed behavior, and payment. It stops short of describing the exact response shape or error cases.

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

Parameters3/5

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

Schema description coverage is 100%, so all four optional parameters are already documented. The description reinforces the purpose of seed and id/exclude for reproducibility and repeat avoidance, but adds little parameter syntax or meaning beyond the schema.

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

Purpose5/5

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

The description states a specific resource and scope: one curious fact, optionally by topic and language, for non-repeating use. It distinguishes itself from creative siblings like content_joke, content_riddle, and content_roast by emphasizing something true and factual.

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 usage condition: use when an agent needs something true to say and must not repeat itself across a session. It does not explicitly name alternatives or when-not-to-use cases, but the factual-content framing implies differentiation from joke/riddle/roast tools.

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

content_horror_storyTwo-sentence horror storyAInspect

Use when an agent has to perform something short and timed, not just print text: a two-sentence horror story, in English or Spanish, by theme: domestic, technological, cosmic or folk. Returned SPLIT into setup and payoff as well as joined, so a narrating agent can deliver the first line, pause, and then land the second. Takes parameters, returns an id to avoid repeats, and accepts a seed for a reproducible answer. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
seedNoSame seed always returns the same story.
themeNodomestic | technological | cosmic | folk. Omit for any.
excludeNoIds already seen, comma-separated in a GET.
languageNoen | es. Defaults to en.

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations at all, the description carries the full burden and does so well: it discloses the response shape (split into setup and payoff as well as joined), that an id is returned for de-duplication, seed-based reproducibility, and a concrete price with the payment rail ($0.005/call over x402 USDC). The pay-per-call requirement is exactly the kind of fact an autonomous agent needs before invoking.

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

Conciseness4/5

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

It is front-loaded with the trigger condition and the concrete artifact, and every later sentence adds a distinct fact (split output, id, seed, price). The phrase 'Takes parameters' is pure filler and the opening clause is slightly convoluted, so it is not flawless.

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?

No output schema exists, so the description must describe the return value — and it does, down to the setup/payoff split that matters for narration plus the id. Combined with cost and payment mechanism, an agent has everything needed to decide, call, and use the result.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds a real semantic link the schema leaves implicit: the returned id is what feeds the `exclude` parameter to avoid repeats. The seed and language defaults are echoed rather than extended, which keeps it from 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 deliverable (a two-sentence horror story) with its two axes of variation (English or Spanish; domestic/technological/cosmic/folk themes), which cleanly separates it from the other content_* siblings like content_joke or content_riddle. An agent can pick it 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 opening clause gives a clear usage condition: call this when something short and *timed* (setup, pause, payoff) is needed rather than plain printed text. It does not name explicit alternatives or say when another content_* tool would be the better pick, so it stops short of a full routing rule.

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

content_jokeRandom jokeAInspect

Use when an agent must fill a pause without repeating itself: one joke, in English or Spanish, filtered by category: programming, crypto or general. Unlike the usual one-liner endpoints this one takes parameters, returns an id so you can exclude what you have already seen, and accepts a seed for a reproducible answer. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
seedNoSame seed always returns the same joke.
excludeNoIds already seen, comma-separated in a GET.
categoryNoprogramming | crypto | general. Omit for any.
languageNoen | es. Defaults to en.

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It does well on several points: it discloses a per-call price ($0.005), the payment rail (x402/USDC), that an id is returned, and that a seed makes answers reproducible. It is silent on error behavior, rate limits, and the shape of the returned payload.

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 when-to-use clause before the mechanics. Most of it earns its place, though the 'unlike the usual one-liner endpoints' aside is slight self-promotion that a reader could do without.

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 4-param, zero-annotation tool with no output schema, the description covers what an agent needs: trigger condition, filtering options, uniqueness handling via ids, reproducibility, and the payment requirement. Return-field detail beyond the id is the only real gap.

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 purpose-level meaning: the id return value explains why 'exclude' exists, and 'reproducible answer' explains the seed's intent. That goes beyond the schema's mechanical 'same seed always returns the same joke.'

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: return one joke, in English or Spanish, filtered by category (programming, crypto, general). It implicitly separates itself from other single-value content tools by noting it 'takes parameters,' though it never names a sibling such as content_riddle or content_horror_story.

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 clause gives a clear triggering condition: 'Use when an agent must fill a pause without repeating itself,' and the exclude/id mechanic supports that anti-repetition use case. There are no explicit exclusions or named alternatives, which keeps it short of a 5.

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

content_riddleRiddle with checkable answerAInspect

Use when an agent has to run a guessing game and must mark the answer without seeing it first: one riddle by difficulty, in English or Spanish, with the answer AND the SHA-256 of the answer in lowercase. The hash is the point: an agent can check whether its guess is right without reading the solution first, which no other riddle endpoint lets you do. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
seedNoSame seed always returns the same riddle.
excludeNoIds already seen, comma-separated in a GET.
languageNoen | es. Defaults to en.
difficultyNoeasy | medium | hard. Omit for any.

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the burden well: it discloses the return payload (answer plus lowercase SHA-256), the verification purpose of the hash, and the commercial model ($0.005 per call via x402/USDC), which is critical operational context. It omits error/failure behavior and does not flag that the plaintext answer is returned alongside the hash, which slightly undercuts the 'without reading the solution first' framing.

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 'Use when' clause and with pricing last. Slight marketing phrasing ('The hash is the point') spends words on persuasion, but the content is dense and nothing is redundant with 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 no-annotation, no-output-schema tool, the description covers what matters: what comes back, the cost model, and the verification use case. The one gap is the internal tension of returning the plaintext answer while advertising blind checking, plus no note on response shape beyond the two 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 description coverage is 100%, so all four parameters are already documented, including seed determinism and exclude. The description only echoes the difficulty and language filters and adds nothing about seed or exclude beyond the schema, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb+resource: returns one riddle filtered by difficulty, in English or Spanish, together with the answer and its lowercase SHA-256 hash. It also explicitly differentiates from siblings ('no other riddle endpoint lets you do this'), so an agent can pick it out of the content_* family 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?

'Use when an agent has to run a guessing game and must mark the answer without seeing it first' gives a clear triggering condition. It contrasts with unnamed alternatives rather than naming a sibling to use instead, so there is no explicit when-not guidance, but the selection context is unambiguous.

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

content_roastDeveloper roast, on a target you pickAInspect

Use when a code-review agent wants to land a joke about the actual stack in front of it: a lighthearted developer roast aimed at a target YOU choose - javascript, python, css, git, regex, kubernetes, agile or legacy code - and at the severity you ask for. Every other roast endpoint returns something generic; this one lets a code-review agent roast the actual stack in front of it. Bilingual, seedable and repeat-free. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
seedNoSame seed always returns the same roast.
targetNojavascript | python | css | git | regex | kubernetes | agile | legacy. Omit for any.
excludeNoIds already seen, comma-separated in a GET.
languageNoen | es. Defaults to en.
severityNomild | medium | savage. Omit for any.

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and usefully discloses paid usage ($0.005 per call over x402/USDC), bilingual output, seedable determinism, and repeat-free behavior. It does not describe the response shape, error behavior, or rate limits, but the key non-obvious traits are present.

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 use case is front-loaded and the description is compact enough for an agent to scan. There is some marketing repetition in the repeated 'actual stack' framing, but it still earns most of its space by covering targets, severity, determinism, and payment.

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 content-generation tool with full schema coverage and no output schema, the description covers the essential context: when to use it, target/severity options, determinism, language, and payment. It could be stronger by clarifying the return format or failure modes, but it is largely 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 all five parameters are already well documented. The description reinforces target and severity options and mentions seed/language behavior, but it adds little beyond the schema and does not explain exclude semantics.

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

Purpose5/5

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

The description states a specific verb and resource: a lighthearted developer roast aimed at a chosen stack target. It also scopes the tool by target, severity, language, and seed, so an agent can tell this apart from generic joke or content tools.

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

Usage Guidelines4/5

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

It gives a clear triggering context: a code-review agent that wants to joke about the actual stack in front of it. It also contrasts this with generic roast endpoints, though it does not explicitly name when to prefer sibling tools like content_joke or when not to use this tool.

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

content_word_of_the_dayWord of the dayAInspect

Use when an agent runs something daily and everyone must get the same thing that day: the word of the day with its definition, part of speech and an example sentence, in English or Spanish. Genuinely of the day: it is picked deterministically from the UTC date, so everyone gets the same word and you can reproduce any past day by passing it. The usual endpoints just return a random word and call it the word of the day. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
dateNoYYYY-MM-DD in UTC. Defaults to today, and any past date is reproducible.
languageNoen | es. Defaults to en.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden and does well: it discloses deterministic UTC-date selection, cross-user consistency, past-date reproducibility, supported languages, and per-call x402 payment. It does not cover error behavior or invalid input handling, so it is not fully exhaustive.

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

Conciseness4/5

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

The description is front-loaded with the usage condition and key return content, then adds determinism and pricing. It is slightly repetitive in restating same-word guarantees and includes light marketing language, but nothing is seriously wasteful.

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

Completeness5/5

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

For a simple two-parameter tool with no output schema, the description is complete enough: it explains the returned fields, the language options, deterministic date behavior, reproducibility, and pricing. An agent has enough context to select and invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters, including date format, default behavior, and language values. The description reinforces the deterministic/reproducible nature of the date parameter but adds little syntax or semantics beyond what the schema already provides.

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

Purpose5/5

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

The description clearly names the resource and what is returned: the word of the day with definition, part of speech, and an example sentence. It also differentiates the tool from ordinary random-word endpoints by emphasizing deterministic selection from the UTC date.

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 concrete usage condition: when an agent runs something daily and everyone must get the same result. It also explains that past dates are reproducible, though it does not explicitly name sibling alternatives or state when not to use the tool.

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

crypto_sanctionsOFAC sanctions check for a crypto addressAInspect

Use when an agent must decide whether it may transact with an address at all: it checks it against the OFAC SDN list published by the US Treasury, across 16 currencies including Ethereum, Bitcoin, Tron and USDT. A hit returns the actual list entry - sanctioned entity, its type and its sanctions programmes - not a risk score. Exact matching only, never fuzzy. Every answer carries the publication date of the list snapshot. No API key, no account. $0.01 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
addressYesThe crypto address to check. Any chain: EVM, Bitcoin, Tron, Litecoin, Monero and the rest of the list.

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so well: it discloses the data source, exact matching only, return contents on a hit, snapshot date, no API key/account requirement, and per-call cost with x402 payment.

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

Conciseness5/5

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

The description is front-loaded with the usage condition and contains no filler. Each sentence adds actionable information about scope, matching behavior, return values, cost, or authentication.

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

Completeness5/5

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

For a simple one-parameter check with no output schema or annotations, the description is complete enough: it explains what is checked, what a hit returns, matching strictness, snapshot date, access requirements, and pricing.

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

Parameters4/5

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

The single address parameter is already fully documented in the schema. The description adds useful context by stating the 16-currency scope and exact matching behavior, though it does not need to do much more for a one-parameter tool.

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

Purpose5/5

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

The description gives a specific verb and resource: it checks a crypto address against the OFAC SDN list. It also explicitly distinguishes the result from a risk score, which helps separate it from sibling tools such as evm_verdict or evm_token_safety.

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

Usage Guidelines4/5

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

It clearly states the usage condition: use when deciding whether an agent may transact with an address at all. It also implies when not to use it by saying it is not a risk score, but it does not explicitly name alternative tools for risk scoring.

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

doDescribe the job, get it done: one call over the whole toolboxAInspect

Use when an agent has a job to get done and does not know which tool or in what order: describe it in plain words and it happens in ONE paid call: picks from 71 capabilities - transcription, translation, documents, images, web, on-chain, domains, IPs, weather, FX - fills their parameters and chains up to 3 steps, feeding each result into the next. Priced per job: the 402 challenge quotes YOUR job before you sign, from $0.02. If nothing fits, nothing is charged. $0.02 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
jobYesThe job to do, in plain words. Example: read this page and translate it to Spanish.
inputNoOptional data the job needs: a URL, an EVM address, a domain, or text.
max_stepsNoHow many tools may be chained, 1 to 3. Default 2.

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the paid nature ($0.02, USDC over x402), that a 402 challenge quotes the price before signing, that nothing is charged if no capability fits, and the 3-step chaining with result pass-through. Gaps remain on partial-failure behavior in a chain and on how the multi-step result is assembled.

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 when-to-use condition and kept to a single paragraph of relevant material. The pricing is restated twice ("from $0.02" per job, then "$0.02 per call"), a redundant and slightly inconsistent line that costs it a point.

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 meta-tool with 71 underlying capabilities and no output schema, the description covers input, chaining limits, and pricing but never says what the caller gets back from a chained run or how per-step outputs are presented. That return-shape gap is the main thing an agent still has to guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 job, input, and max_steps are already documented with examples in the schema. The description adds only indirect meaning (that the job may span up to 3 chained capabilities, which contextualizes max_steps), leaving baseline 3 appropriate.

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

Purpose5/5

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

States a specific verb and resource: describe a job in plain words, and the tool selects among 71 capabilities, fills parameters, and chains up to 3 steps. It is unmistakably the orchestrator/meta-tool relative to the flat list of single-capability siblings like ai_translate or web_read, so an agent can tell what it is without opening the schema.

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

Usage Guidelines4/5

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

"Use when an agent has a job to get done and does not know which tool or in what order" gives a clear selection condition that implicitly routes the agent away from direct sibling invocation when the right tool is already known. What's missing is an explicit exclusion or a cost/precedence trade-off versus calling a specific sibling directly.

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

evm_balanceEVM native balanceAInspect

Use when an agent has to decide whether a wallet can pay before building a transaction: the native coin balance (ETH, MATIC...) of any address on Base, Ethereum, Polygon, Arbitrum or Optimism, returned both as wei (exact integer string) and as ether, with the chain it was read on. Do not use for token balances (/v1/evm/erc20-balance) or for a whole-wallet view (/v1/evm/portfolio). Flat price, no rate limits, no API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism. Defaults to base.
addressYes0x-prefixed address to look up.

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does it well: it discloses pricing ($0.005/call over x402 USDC), absence of rate limits, API keys or accounts, and the return shape (exact wei string plus ether plus chain). It omits error behavior for malformed addresses and whether the read is point-in-time, 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 dense sentences: the use case and return contract come first, the routing exclusions second, the commercial terms last. Every clause carries information an agent would otherwise have to guess.

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

Completeness5/5

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

No output schema exists, so the description must explain the return value and does (wei exact integer string, ether, source chain). Combined with chain coverage, cost model and auth posture, an agent has everything needed to call it correctly.

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

Parameters3/5

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

Schema coverage is 100% and both parameters are documented there, including the chain enum and the base default. The description reinforces the chain list but adds no format or syntax detail beyond the schema, so baseline 3 applies.

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

Purpose5/5

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

States the exact verb, resource and scope: native coin balance of any address across five named chains, returned as wei and ether. It is immediately distinguishable from erc20-balance and portfolio siblings by name.

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

Usage Guidelines5/5

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

Opens with an explicit use condition (deciding whether a wallet can pay before building a transaction) and names two exclusion routes with their endpoints. Nothing is left for the agent to infer about when to pick this tool.

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

evm_blockEVM block heightAInspect

Use when an agent has to decide whether what it just read on-chain is fresh, or whether a node is behind: the latest block height, its timestamp and how many seconds old the chain head is. Do not use for one transaction's outcome (/v1/evm/tx) or to compare several chains at once (/v1/evm/chains does all of them in one call). Flat price, no rate limits, no API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism.

TDQS

A4.3/5.0
Behavior4/5

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

No annotations exist, so the description must carry the whole burden — and it does disclose cost ($0.005/call), payment rail (x402/USDC), absence of rate limits, API keys, and accounts, which is exactly the operational context an agent needs before calling. It stops short of saying what happens when 'chain' is omitted (default chain?) and gives no indication of failure behavior for an 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?

Front-loaded with the decision context and the returned values, then the exclusions, then the commercial terms — a sensible ordering with no filler sentences. The pricing/payment sentence is dense but earns its place for an agent that must budget calls.

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

Completeness4/5

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

With no output schema, the description usefully names the three returned values (height, timestamp, head age). For a one-optional-param read tool that is nearly sufficient; the only real gap is the default-chain behavior when 'chain' is omitted.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 enum-like value list is already in the schema, so the description adds little on the single optional 'chain' parameter. It implies single-chain scope via the contrast with evm_chains but never states the default chain when the argument is left out.

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 returns: latest block height, its timestamp, and chain-head age. It also draws an explicit boundary against evm_tx (single transaction outcome) and evm_chains (multi-chain comparison), so an agent can separate it from its closest siblings without opening schemas.

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

Usage Guidelines5/5

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

Opens with the decision it supports ('decide whether what it just read on-chain is fresh, or whether a node is behind') and then names two alternatives with the conditions that select them. Both when-to-use and when-not-to-use are stated explicitly.

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

evm_callRaw contract callAInspect

Use when an agent needs a contract value that none of the typed routes covers: it runs any read-only call with your own calldata on five chains and returns the raw 32-byte result plus asUint, so you can decode it yourself. The escape hatch, not the first choice. Do not use for balances, allowances, token data or NFT owners: those have typed routes that decode the answer for you. No API key, no rate limit. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
toYesContract address to call.
dataYes0x-prefixed calldata: 4-byte selector plus encoded arguments.
fromNoOptional caller address, for calls that check msg.sender.
blockNoBlock tag or number. Defaults to latest.
chainNobase | ethereum | polygon | arbitrum | optimism.

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: read-only scope, five-chain support, exact return shape (raw 32-byte plus asUint, decode it yourself), and operational/cost traits (no API key, no rate limit, $0.005 per call paid over x402 in USDC). These are precisely the traits an agent can't infer from the schema.

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

Conciseness4/5

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

Front-loaded with the triggering condition, then the exclusion list, then cost/access notes — a well-ordered four-sentence block with no filler. The first sentence is densely packed (behavior, chains, return shape) and would read better split, which keeps it just short of a 5.

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

Completeness5/5

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

No output schema exists, yet the description explains what comes back (raw 32-byte result plus asUint) and that decoding is the caller's job — the key completeness gap for an escape-hatch tool. Payment and rate-limit conditions are also covered, leaving nothing an agent needs before calling 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 coverage is 100%, so `to`, `data`, `from`, `block`, and `chain` are already documented by the schema. The description confirms the calldata-encoding expectation and the five-chain scope but adds no format, selector, or block-tag guidance beyond the schema; baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb and resource: runs any read-only call with your own calldata on five chains and returns the raw 32-byte result plus asUint. It explicitly positions itself against the sibling family of typed routes (evm_balance, evm_erc20_balance, evm_nft_owner, evm_token_info), so an agent can distinguish it 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 Guidelines5/5

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

Gives an explicit selection rule ("Use when an agent needs a contract value that none of the typed routes covers") and an explicit exclusion list ("Do not use for balances, allowances, token data or NFT owners"), naming the alternative behavior in each case. It also frames itself as "the escape hatch, not the first choice," which is a clear priority signal.

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

evm_can_i_sendCan I send this transactionAInspect

Use when an agent is about to sign a transaction and must decide whether it will go through right now: one call that answers canSend with the facts behind it - the sender's balance, the gas this exact transaction needs, what it will cost, whether the node says it would revert, the nonce to use if earlier ones are still in flight, whether the destination is a contract, and how stale the chain head is. Replaces five separate reads. No API key, no account. $0.02 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
toYesDestination address.
dataNoOptional 0x calldata.
fromYesThe address that would sign and pay.
chainNobase | ethereum | polygon | arbitrum | optimism. Defaults to base.
valueNoOptional native amount in wei, as a decimal string.

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the full evidence bundle returned, notes staleness of the chain head, gives economic cost ($0.02/call over x402 in USDC), and states no API key or account is needed. It never explicitly says the transaction is not broadcast/signed, nor what happens when canSend is false, which keeps it short of a 5 for a tool an agent may act on.

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 trigger condition is front-loaded and the payment facts are placed last where they belong. The middle is one very long clause chaining seven return values, which is dense but each item corresponds to a distinct decision input, so little 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?

For a 5-parameter tool with no annotations and no output schema, the description compensates well by narrating the return payload in prose. Remaining gaps are the exact response shape (how canSend and the supporting fields are structured) and any failure or staleness-threshold behavior, which matter since there is no output schema to fall back on.

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

Parameters3/5

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

Schema coverage is 100%, so all five parameters (from, to, data, value, chain) are already documented in the input schema and the baseline of 3 applies. The description adds only indirect signal — 'gas this exact transaction needs' hints that data/value affect the estimate — but gives no format or default guidance beyond what the schema 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?

Opens with a concrete decision verb-phrase — 'answers canSend' — plus an enumerated list of the facts it returns (balance, gas, cost, revert simulation, nonce, contract detection, head staleness). It explicitly positions itself against the granular read siblings by stating 'Replaces five separate reads,' so an agent can tell it apart from evm_balance, evm_gas, evm_nonce, or evm_estimate_gas.

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 when an agent is about to sign a transaction and must decide whether it will go through right now' gives a precise trigger condition. The 'replaces five separate reads' line routes the agent away from composite-vs-granular confusion, though it does not name the specific alternatives (evm_call, evm_estimate_gas) or state a when-not case such as post-broadcast status checking.

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

evm_chainsChain health checkAInspect

Use when an agent has to pick a chain that is actually answering before it commits to one: every supported chain in a single call, each with its chain id, block height, how many seconds stale its head is, and ok. Do not use for one chain on its own (/v1/evm/block) or for what a transaction will cost there (/v1/evm/gas, and /v1/evm/fees for EIP-1559 caps). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNoOptional: check just one. base | ethereum | polygon | arbitrum | optimism. All of them when omitted.

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses auth requirements (no API key, no account), cost and payment rail ($0.005 per call over x402/USDC), and the exact per-chain return fields including staleness. It stops short of saying what a chain that is down looks like in the response (omitted vs. ok=false) or any rate/failure behavior, 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.

Conciseness5/5

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

Three sentences, each doing distinct work: selection criteria, exclusions, and cost/auth. The decision-relevant guidance is front-loaded and nothing is redundant.

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

Completeness5/5

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

No output schema exists, so the description enumerates the return fields itself, and it covers the payment model an agent must know before calling. For a zero-required-param read tool this leaves nothing material unsaid.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter already documents the enum values and the 'all when omitted' default. The description's 'every supported chain in a single call' corroborates but adds no syntax or format detail beyond the schema, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource — enumerate every supported chain with chain id, block height, head staleness in seconds, and ok — in one call. It explicitly distinguishes itself from evm_block, evm_gas, and evm_fees, so an agent can route without opening a schema.

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

Usage Guidelines5/5

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

Front-loads the use case ('when an agent has to pick a chain that is actually answering before it commits to one') and gives explicit exclusions naming the sibling endpoints for single-chain lookup and gas/fee pricing. Both when-to-use and when-not-to-use are stated.

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

evm_ensENS name resolutionAInspect

Use when an agent has a name where it needs an address, or the other way round, before it can act: resolves an ENS name to its address or an address to its primary ENS name, read straight from Ethereum mainnet, with found telling you when there is no record. Do not use to check an address is well formed (/v1/util/address) or that it is a wallet (/v1/evm/is-contract). No API key. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
nameNoENS name to resolve, such as vitalik.eth.
addressNoAddress to reverse-resolve. Use instead of name.

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does substantial work: it discloses the data source and liveness ('read straight from Ethereum mainnet'), the non-error failure signal ('with found telling you when there is no record'), authentication ('No API key'), and cost/payment ('$0.005 per call, paid over x402 (USDC)'). The remaining gap is what happens if neither of the two optional parameters is supplied, which the description never addresses.

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 compact sentences, each with a distinct job: usage trigger, exclusions, then cost/auth. The trigger is front-loaded, and the pricing sentence is dense but earns its place because it tells the agent a real cost is incurred per 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?

With no annotations and no output schema, the description still covers the data source, the bidirectional result, the 'found' flag, auth, and cost. It stops short of describing the response shape beyond the flag and of clarifying that at least one of the two empty-required parameters must be given, which is the one operational ambiguity left.

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

Parameters4/5

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

Schema coverage is 100% and the schema already documents mutual exclusivity ('Use instead of name'), so the baseline would be 3. The description earns a bump by specifying that reverse resolution returns the *primary* ENS name, a semantic detail absent from the schema, and by naming the 'found' output flag that signals an empty result.

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 (resolves) and resource (ENS name / address) and explicitly frames both directions: forward resolution and reverse resolution to the primary name. An agent can distinguish this from every sibling in the evm_* family without opening a schema.

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

Usage Guidelines5/5

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

Opens with an explicit usage trigger ('Use when an agent has a name where it needs an address, or the other way round, before it can act') and then names two concrete exclusions with their sibling paths: /v1/util/address for format validation and /v1/evm/is-contract for wallet checks. When-to-use, when-not-to-use, and the alternatives are all present.

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

evm_erc20_allowanceERC20 allowanceAInspect

Use when an agent is about to approve a spender, or is auditing what it approved before: how much of a token the spender may still move on the owner's behalf, raw and formatted with its decimals, plus unlimited, which flags a forgotten infinite approval. Do not use for what the wallet actually holds (/v1/evm/erc20-balance) or for whether the token is safe (/v1/evm/token-safety). No API key. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism.
ownerYesAddress that owns the tokens.
tokenYesERC20 contract address.
spenderYesAddress allowed to spend them.

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full burden. It does disclose cost ($0.005 per call over x402 USDC), that no API key is needed, and that the response includes a derived 'unlimited' flag — strong value. It stays silent on failure modes (non-contract token, missing decimals, unset allowance returning zero) and on rate limits, which matter for an agent deciding whether to retry.

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

Conciseness4/5

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

Effectively three sentences: trigger, return shape, exclusions, then cost/auth. Front-loaded with the usage trigger, and every clause carries information. The return-shape sentence is a long run-on ('raw and formatted with its decimals, plus unlimited, which flags...') that could be split for scanability.

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?

No output schema exists, and the description compensates by describing the return payload (raw amount, formatted amount, unlimited flag). Payment and auth are covered. The one gap is the optional 'chain' parameter — the description never says whether it defaults or must be chosen, which an agent needs before calling.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents owner, spender, token and the chain enum, and the baseline would be 3. The description does not add syntax detail, but it does add meaning by framing owner/spender as the two parties of an approval relationship, which clarifies the roles better than the bare schema strings.

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

Purpose5/5

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

States a precise verb+resource: reads how much of a token a spender may still move on the owner's behalf, with raw and decimal-formatted values plus an 'unlimited' flag. It is unmistakably distinct from evm_erc20_balance and evm_token_safety, both of which it names.

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

Usage Guidelines5/5

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

Explicit when-to-use (about to approve a spender, or auditing a prior approval) and explicit when-not-to-use, naming the two sibling endpoints by path that cover the adjacent questions (holdings, token safety). Nothing 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.

evm_erc20_balanceERC20 token balanceAInspect

Use when an agent must confirm a wallet holds enough of a token before it swaps, pays or settles: the ERC-20 balance of any address for any token (USDC, USDT, DAI or any other), returned raw (exact integer string) with its decimals, the formatted amount and the symbol, so no rounding is forced on you. Do not use for the native coin (/v1/evm/balance) or for what a contract is allowed to spend (/v1/evm/erc20-allowance). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism.
tokenYesERC20 contract address.
addressYesWallet to look up.

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does: it discloses the exact return shape (raw integer string, decimals, formatted amount, symbol), that no API key or account is needed, and the $0.005 per-call cost paid over x402 in USDC. Pre-payment and auth requirements are exactly the behavioral context an agent needs before invoking.

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

Conciseness4/5

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

The usage trigger is front-loaded and every clause carries information (return fields, exclusions, pricing). The main sentence is dense and runs long, which slightly hurts scannability, but there is no filler.

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

Completeness4/5

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

Return values, cost, auth model, and sibling routing are all covered, which is more than enough for a 3-parameter read tool with no output schema. The only gap is the chain parameter's optionality and default chain, left 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 address and token are already documented as 'Wallet to look up' and 'ERC20 contract address'. The description reinforces 'any address for any token' but adds nothing about the optional chain parameter or its default, so it stays at the baseline.

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

Purpose5/5

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

States a specific verb and resource — 'the ERC-20 balance of any address for any token' — and explicitly names what it is not (native coin balance, allowance). An agent can separate it from evm_balance and evm_erc20_allowance without opening a schema.

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

Usage Guidelines5/5

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

Gives the triggering condition ('confirm a wallet holds enough of a token before it swaps, pays or settles') and two explicit exclusions with the sibling endpoints to use instead. When-to-use and when-not-to-use are both stated.

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

evm_estimate_gasEstimate gasAInspect

Use when an agent is about to sign a transaction and must know whether it will fail and what it will cost: the gas this exact call needs, the current gas price, the cost in ether, and wouldRevert, which says the transaction would fail before you spend anything finding out. Do not use for the price of a plain transfer (/v1/evm/gas) or for EIP-1559 caps (/v1/evm/fees). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
toYesDestination address.
dataNoOptional 0x calldata.
fromNoSender address.
chainNobase | ethereum | polygon | arbitrum | optimism.
valueNoOptional value in wei, as a decimal string.

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses cost, payment method (x402/USDC), no API key/account requirement, and key output semantics including wouldRevert. It does not explicitly state that the call is read-only/simulated and does not submit the transaction, which is an important behavioral detail for an agent.

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

Conciseness5/5

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

The description is front-loaded with the usage condition and remains tightly focused. The exclusions and payment/auth details each add concrete value without excessive repetition.

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

Completeness5/5

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

There is no output schema, but the description enumerates the important return values: gas, current gas price, ether cost, and wouldRevert. Together with the full schema coverage, explicit exclusions, auth, and pricing information, it is complete enough for an agent to call correctly.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all five parameters, including chain values and optional fields. The description does not add parameter-specific syntax or constraints beyond the schema, so the baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific purpose: estimate gas for an exact transaction call, including gas price, ether cost, and wouldRevert. It clearly distinguishes this from sibling tools by explicitly excluding plain-transfer gas pricing (/v1/evm/gas) and EIP-1559 caps (/v1/evm/fees).

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

Usage Guidelines5/5

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

It gives a precise when-to-use condition: an agent is about to sign a transaction and needs to know failure risk and cost. It also gives explicit when-not-to-use cases and names the alternative endpoints for those cases.

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

evm_feesEIP-1559 fee suggestionAInspect

Use when an agent is building an EIP-1559 transaction and must choose fee caps that will actually get it mined: the base fee plus suggested maxFeePerGas and maxPriorityFeePerGas at slow, normal and fast, computed from the last 20 blocks of real fee history. Do not use for a legacy gas price (/v1/evm/gas) or to price one specific call (/v1/evm/estimate-gas). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and delivers: no API key, no account, $0.005 per call paid over x402 in USDC, and the data source (last 20 blocks of real fee history). It does not describe the shape of the returned tiers or what happens if chain is omitted, 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.

Conciseness5/5

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

Front-loaded with the activation condition, followed by exclusions and then cost/auth in a single dense block. Every clause carries information an agent needs; nothing is restated 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?

For a one-optional-parameter, no-output-schema tool, this covers trigger, exclusions, cost, auth, and computation source — enough to call it correctly. The only shortfall is the undocumented default/omission behavior for chain.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 chain parameter already lists base|ethereum|polygon|arbitrum|optimism in the schema. The description adds nothing about the parameter itself — notably not whether chain can be omitted or what the default is — so this lands at the high-coverage baseline.

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

Purpose5/5

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

States a specific verb+resource (suggest EIP-1559 fee caps) with concrete scope: base fee plus maxFeePerGas/maxPriorityFeePerGas at slow/normal/fast, derived from the last 20 blocks. It explicitly distinguishes itself from evm_gas (legacy price) and evm_estimate_gas (per-call pricing), so an agent can route without opening a schema.

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

Usage Guidelines5/5

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

Explicit when-to-use (building an EIP-1559 transaction and needing caps that actually get mined) and explicit when-not-to-use, naming both siblings by their alternative routes. No inference required.

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

evm_gasEVM gas priceAInspect

Use when an agent is about to send a transaction and needs to know what it costs right now: the chain's current gas price in wei and gwei plus the cost of a plain transfer in ether. It is the price now, not a forecast. Do not use for EIP-1559 fee caps (/v1/evm/fees returns the base fee with maxFeePerGas and maxPriorityFeePerGas) or to price a specific call (/v1/evm/estimate-gas). Flat price, no API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that the value is spot price and not a forecast, that there is no API key or account needed, that pricing is flat, and that each call costs $0.005 via x402 (USDC). It does not state rate limits, caching/freshness windows, or whether results are chain-defaulted, which is why it stops short of 5.

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

Conciseness4/5

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

Front-loaded with the use condition and the payload, then the exclusions, then the cost/access terms. Every sentence earns its place, though the parenthetical endpoint paths and the payment tail make it denser than strictly necessary.

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-optional-param tool with no annotations and no output schema, the description covers what is returned (wei, gwei, transfer cost in ether), what it is not (forecast, fee caps, call pricing), and the access/cost model. The only remaining gap an agent might want is the behavior when `chain` is omitted and the response 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% and there is only one optional parameter, so the schema already fully documents the accepted chain values. The description adds nothing about the chain parameter, not even which chain is used when it is omitted, so the baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb and resource: returns the chain's current gas price in wei and gwei plus the ether cost of a plain transfer. It also explicitly separates itself from evm_fees (EIP-1559 caps) and evm_estimate_gas (pricing a specific call), so an agent can route correctly 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 Guidelines5/5

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

Gives an explicit trigger ('when an agent is about to send a transaction and needs to know what it costs right now'), an explicit exclusion with the alternative endpoint for each ('Do not use for EIP-1559 fee caps ... or to price a specific call ...'). Both siblings are named with their routes, which is as strong as guidance gets.

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

evm_gas_windowGas window: does timing matter right nowAInspect

Use when an agent can choose WHEN to send and must decide whether waiting would save anything: the fee paid across the last ~1000 blocks of this chain in one call, with the cost now, the window percentiles, where now sits in it, and timingMatters, which says whether this chain moves enough for the question to be worth asking at all. Do not use to price one transaction (/v1/evm/estimate-gas) or for EIP-1559 caps (/v1/evm/fees). $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism. Defaults to base.
blocksNoHow many blocks of history, 32 to 1024. Defaults to 1024.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the important non-obvious traits: a per-call price ($0.005) settled over x402 in USDC, and a self-describing result field (timingMatters) that signals when the answer is meaningless for a chain. It does not cover rate limits, failure modes, or latency, 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.

Conciseness4/5

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

The trigger condition is front-loaded in the first clause, followed by outputs, exclusions, and pricing in a tight sequence with no filler. The main sentence is dense and long, which costs some readability but every clause adds 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?

There is no output schema, and the description compensates by enumerating the result components (current cost, percentiles, current position, timingMatters), which is exactly what an agent needs to interpret the response. Payment mechanics are also covered; only error and edge-case behavior 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 `chain` and `blocks` are fully documented in the schema, making 3 the baseline. The description adds only a loose hint that the window is '~1000 blocks', which aligns with the blocks default of 1024 but gives no syntax or formatting 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?

The description names a specific resource (fee paid across the last ~1000 blocks of a chain) and specific returns (cost now, window percentiles, position of now, timingMatters) in one call. It is clearly distinguishable from evm_gas, evm_estimate_gas and evm_fees, which it also names explicitly.

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

Usage Guidelines5/5

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

It states the decision context directly ('Use when an agent can choose WHEN to send and must decide whether waiting would save anything') and gives two explicit exclusions with the alternative endpoints for each (/v1/evm/estimate-gas and /v1/evm/fees). Both when-to-use and when-not-to-use are covered.

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

evm_is_contractContract or walletAInspect

Use when an agent is about to send funds and must decide whether the destination is a plain wallet or a contract: returns isContract and the size of the deployed bytecode. A wallet where you expected a contract, or the reverse, is the cheapest mistake to catch before signing. Do not use to judge whether a token is safe (/v1/evm/token-safety) or worth trusting (/v1/evm/verdict). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism.
addressYesAddress to inspect.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses return fields (isContract and bytecode size), the absence of an API key or account, the exact cost ($0.005), and the payment rail (x402/USDC). It does not state failure behavior for invalid or non-existent addresses, 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.

Conciseness5/5

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

Three sentences, front-loaded with the decision scenario, then the return values, then the exclusions, then the cost/auth facts. Every sentence carries information an agent needs and none is redundant.

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

Completeness4/5

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

For a two-parameter read tool with no output schema, the description covers purpose, return shape, cost, and routing. The only gap is behavior on invalid or undeployed addresses (does it error or return false), which matters when bytecode size is part of the answer.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 (chain with its allowed values, address) are documented there. The description adds only the framing of 'destination' for the address and no chain-selection guidance, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('decide whether the destination is a plain wallet or a contract') and names exactly what it returns. It is clearly distinguishable from siblings like evm_balance, evm_code-adjacent tools, and evm_token_safety.

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

Usage Guidelines5/5

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

Explicit when-to-use (about to send funds, before signing) plus explicit when-not to use, naming the two alternative endpoints (/v1/evm/token-safety and /v1/evm/verdict) with the reason each differs. Nothing 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.

evm_nft_ownerNFT owner and metadataAInspect

Use when an agent must decide whether an NFT is still held by who it thinks: the current owner of an ERC-721 token id, with its tokenURI and the collection name in the same call, read straight from the contract with no indexer in between. Do not use for a whole wallet's holdings or for ERC-1155 balances: this answers one token id. No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism.
tokenIdYesToken id, in decimal.
contractYesERC721 contract address.

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden and does so well: it says the data is read straight from the contract with no indexer, requires no API key or account, and costs $0.005 per call via x402 USDC. It implies a read-only operation but does not explicitly label it as such or discuss edge cases like burned or nonexistent tokens, so it falls short of a full 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?

The description is three tight sentences with the core purpose front-loaded, followed by exclusions and operational details. Every sentence contributes useful selection or invocation context, including cost and auth.

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?

There is no output schema, but the description names the key return values: current owner, tokenURI, and collection name. Combined with the explicit scope, exclusions, auth model, and pricing, it gives an agent enough information to call this tool correctly for a single-token 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 description coverage is 100%, so the schema already explains chain, tokenId, and contract. The description reinforces that the call is for an ERC-721 contract and one token id, but it adds no syntax, defaults, or parameter-level semantics 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: it returns the current owner of an ERC-721 token id, plus tokenURI and collection name. It clearly distinguishes the tool from wallet-wide holdings and ERC-1155 balances, so an agent can identify its scope 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 Guidelines5/5

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

It gives an explicit use case ('when an agent must decide whether an NFT is still held by who it thinks') and explicit exclusions ('Do not use for a whole wallet's holdings or for ERC-1155 balances'). The one-token-id scope is stated directly, leaving little ambiguity about when to choose this tool.

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

evm_nonceEVM address nonceAInspect

Use when an agent signs transactions one after another and must not collide with one already in flight: the confirmed nonce, the pending nonce (the one to use while an earlier transaction is still unmined) and whether the address is a contract. Do not use to check the transaction is affordable (/v1/evm/balance for the funds, /v1/evm/estimate-gas for the cost). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism.
addressYesAddress to look up.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does disclose key facts: no API key, no account, and a $0.005 per-call x402 USDC payment requirement. It also explains what the pending nonce is for. It could be stronger by explicitly stating the operation is read-only and describing any rate-limit or error behavior.

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

Conciseness5/5

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

The description is front-loaded with the primary usage condition and packs output semantics, exclusions, auth, and pricing into a small number of useful sentences. Every sentence earns its place, with no redundant or vague 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?

Because there is no output schema, the description usefully explains the return values: confirmed nonce, pending nonce, and whether the address is a contract. It also covers payment and auth. A small gap remains around what happens when the optional chain parameter is omitted, such as a default chain.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both address and chain, including the supported chain values. The description adds no parameter-level detail beyond the schema; it only explains the semantic meaning of the pending nonce in the output, 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 clearly states the resource and purpose: fetching the confirmed nonce, pending nonce, and contract status for an EVM address. It distinguishes itself from evm_balance and evm_estimate_gas, though it does not explicitly address overlap with the sibling evm_is_contract even though contract status is one of the returned values.

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

Usage Guidelines5/5

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

It gives an explicit use case ('when an agent signs transactions one after another and must not collide with one already in flight') and explicit exclusions with alternatives for affordability checks (/v1/evm/balance and /v1/evm/estimate-gas). This is exactly the kind of routing guidance an agent needs.

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

evm_portfolioWallet token portfolioAInspect

Use when an agent must see at once whether a wallet can cover something: the native balance plus the balance of every token you list, on one chain, in a single call, each already formatted with its symbol and decimals. One request instead of one per token. Do not use for a single token (/v1/evm/erc20-balance) or for what the tokens are worth (/v1/evm/token-price). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism.
tokensNoUp to 20 ERC20 contract addresses.
addressYesWallet to inspect.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the disclosure burden and adds important context: it is a read-style balance lookup, returns formatted values with symbol and decimals, requires no API key or account, and costs $0.005 per call via x402 USDC. It does not cover failure behavior or rate limits, but the key operational traits are present.

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

Conciseness5/5

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

The description is front-loaded with the primary use case, then exclusions, then operational details like authentication and pricing. Every sentence adds useful routing or behavioral information.

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

Completeness4/5

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

For a simple read-only portfolio lookup with three parameters, the description covers the return contents, single-chain scope, batch behavior, and payment/auth model. It lacks exact output field names or error semantics, but no output schema is provided and the essential context is otherwise sufficient.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents the chain, token list, and wallet address parameters. The description reinforces that balances are returned for every listed token on one chain, but it does not add syntax or constraints beyond the schema.

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

Purpose5/5

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

The description states a specific resource and action: retrieve a wallet's native balance plus the balances of listed tokens on one chain in a single call. It also explicitly distinguishes itself from sibling tools for single-token balance and token pricing.

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

Usage Guidelines5/5

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

It names both the intended use case and the exclusions: do not use for a single token (/v1/evm/erc20-balance) or for token valuation (/v1/evm/token-price). This gives an agent explicit routing guidance among sibling tools.

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

evm_receiptTransaction receiptAInspect

Use when an agent is waiting on a transaction and has to answer «did it work, and what did it cost»: the receipt by hash with success or revert, gas used, the fee actually paid in ether, and how many logs it emitted. found: false means it is not mined yet, which is the answer a waiting agent needs. Do not use for the transaction's own fields like value or recipient (/v1/evm/tx returns both merged). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
hashYes32-byte transaction hash.
chainNobase | ethereum | polygon | arbitrum | optimism.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the payout model ($0.005 per call, x402/USDC), the absence of auth ('No API key, no account'), and the key pending-state semantics ('found: false means it is not mined yet'). It stops short of stating how the optional chain parameter defaults or how reverts are represented in the payload, which is the remaining 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.

Conciseness5/5

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

The triggering condition is front-loaded, followed by return contents, the not-mined interpretation, the sibling exclusion, and the cost/auth terms. Every sentence maps to a distinct decision the caller must make; 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 no output schema and no annotations, the description does the heavy lifting: it enumerates the return fields an agent needs and explains the pending-state signal. Slightly short of complete because the chain parameter's default (when omitted) and the exact revert representation 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 coverage is 100% and both parameters (hash, chain) are already documented with accepted values, so the description adds no syntax or format detail beyond the schema. Baseline 3 is appropriate; the description's value lies in behavior, not parameters.

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 ('the receipt by hash') and enumerates exactly what it returns: success/revert, gas used, fee paid in ether, log count. It explicitly carves out the sibling evm_tx case ('transaction's own fields like value or recipient'), so the agent can separate the two 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 Guidelines5/5

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

Gives a concrete triggering situation ('an agent is waiting on a transaction and has to answer did it work, and what did it cost') and a concrete exclusion with the alternative named ('Do not use for ... /v1/evm/tx returns both merged'). Both the when and the when-not are stated.

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

evm_storageRaw contract storageAInspect

Use when an agent must read something a contract does not expose with a getter and has to decide from it: a raw storage slot, returned as hex and as an integer. It is how you find a proxy's implementation address, an owner or a paused flag. Do not use when the contract has a public getter (/v1/evm/call is the honest way) or for token data (/v1/evm/token-info). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
slotNoSlot number in decimal, or a 0x slot key such as an EIP-1967 hash.
chainNobase | ethereum | polygon | arbitrum | optimism.
addressYesContract to read.

TDQS

A4.7/5.0
Behavior4/5

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

There are no annotations, so the description carries the full behavioral burden. It discloses that no API key or account is required, states the cost and payment mechanism, and specifies the return shape as hex and integer. It does not cover rate limits or failure behavior, which keeps it short of a 5 for a no-annotation tool.

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

Conciseness5/5

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

The description is front-loaded with the primary use condition, then alternatives, then operational details. Every sentence contributes: usage, exclusions, return format, auth, and cost. There is no filler.

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

Completeness5/5

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

For a simple three-parameter read tool with no output schema and no annotations, the description supplies the missing context an agent needs: purpose, alternatives, return shape, auth requirements, and cost. Nothing essential is omitted for correct tool selection and invocation.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents address, chain, and slot syntax. The description adds meaningful interpretation of the slot parameter by naming concrete use cases: proxy implementation address, owner, and paused flag. That extra semantic context is useful, though the schema still does the primary 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 names a specific operation and resource: reading a raw contract storage slot, returned as hex and as an integer. It explicitly distinguishes this from evm_call and evm_token_info, so an agent can tell when this tool is the right one without opening sibling schemas.

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

Usage Guidelines5/5

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

It gives explicit use conditions ('when an agent must read something a contract does not expose with a getter') and explicit exclusions ('Do not use when the contract has a public getter' or 'for token data'), naming the alternative endpoints to use instead. The routing logic is clear and actionable.

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

evm_token_infoERC20 token infoAInspect

Use when an agent has a bare token address and must label or format it before showing or computing anything: name, symbol, decimals and total supply of any ERC-20 in one call. decimals is what stops an amount being shown a million times too big. Do not use for a holder's balance (/v1/evm/erc20-balance), the price (/v1/evm/token-price) or the risk (/v1/evm/token-safety). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism.
tokenYesERC20 contract address.

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses that no API key or account is needed and states the cost ($0.005 per call, paid over x402 in USDC) plus the returned fields, which tells the agent this is a cheap read. It stops short of describing failure behavior for a non-contract or wrong-chain address, which matters for a lookup keyed on an arbitrary string.

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 trigger condition and the returned fields, then exclusions, then cost. The decimals aside ("a million times too big") is colloquial but earns its place as a usage rationale; the endpoint paths in parentheses are slightly redundant with the sibling names.

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?

No output schema and no annotations, but the description enumerates the returned fields and the pricing/auth model, which is most of what an agent needs. The remaining gap is edge-case behavior (unknown chain, address with no code) for a tool whose only input is an unvalidated address string.

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

Parameters4/5

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

Schema coverage is 100% so baseline is 3, and the description adds real meaning on top: it stresses that the input is a bare token address (not a symbol or pair) and explains why decimals is returned, which frames how the output should be used. It adds no guidance on default chain behavior when the optional chain parameter is omitted.

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 bundle and resource: returns name, symbol, decimals and total supply for any ERC-20 from a single address, in one call. It explicitly contrasts with evm_erc20_balance, evm_token_price and evm_token_safety, so the agent can distinguish it from its closest siblings without opening a schema.

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

Usage Guidelines5/5

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

Gives an explicit trigger condition ("a bare token address and must label or format it before showing or computing anything") and an explicit exclusion list naming three alternative endpoints with their paths. Both when-to-use and when-not-to-use are covered, leaving nothing to inference.

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

evm_token_priceDEX token price, with the pool that produced itAInspect

Use when an agent must put a number on a token before trading or reporting, and be able to defend it: spot price read straight from the deepest Uniswap V3 pool against USDC, on Base, Ethereum, Polygon, Arbitrum or Optimism. Returns the pool address, fee tier, liquidity, sqrtPriceX96, tick and block, so the number can be audited instead of trusted. No aggregator and no API key: the source is the chain itself. Via eth_call. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism.
quoteNoToken to price it against. Defaults to the chain's native USDC.
tokenYesERC20 contract address to price.

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the burden well: it discloses the data source (on-chain eth_call, not an aggregator), the pay-per-call model ($0.005 via x402 in USDC) and the returned fields, which is real behavioral value beyond the schema. It omits failure behavior — no pool, insufficient liquidity, unsupported token — and any latency or rate-limit expectations, which keeps it off a 5.

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

Conciseness4/5

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

Front-loaded with the usage condition, then mechanism, return fields, sourcing and cost; every sentence contributes. The 'Via eth_call' fragment slightly restates 'the source is the chain itself', a small redundancy rather than a flaw.

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?

No output schema exists, and the description compensates by listing the returned fields (pool address, fee tier, liquidity, sqrtPriceX96, tick, block) and the payment/auth requirement. The gap is the optional 'chain' parameter's default value, documented nowhere in schema or description, which matters for a tool with only one required 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%, so the parameters are already documented; the description adds only the pricing mechanism (deepest pool, quoted against USDC) as an interpretive gloss. It does not resolve the one real ambiguity — the optional 'chain' parameter has no stated default — so baseline 3 is right.

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 — spot price from the deepest Uniswap V3 pool against USDC — and names the supported chains, which cleanly separates it from siblings like evm_token_info, evm_token_safety, evm_call and fx_convert. An agent can tell what number it gets and where it comes from 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?

'Use when an agent must put a number on a token before trading or reporting, and be able to defend it' gives a clear triggering context, and 'No aggregator and no API key' explains the sourcing trade-off. It stops short of naming alternatives or stating when not to use it (e.g. tokens with no USDC pool), so it is clear context without explicit exclusion criteria.

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

evm_token_safetyERC20 pre-trade safety checkAInspect

Use when an agent must decide whether to touch a token at all: a pre-trade risk check on Base, Ethereum, Polygon, Arbitrum or Optimism, straight from the deployed bytecode and live state. Detects mint, pause, blacklist, upgradeable proxy and mutable buy/sell tax powers, and reports whether ownership is renounced. It returns the EVIDENCE - the exact selector found and its byte offset - so an agent can apply its own policy. Deterministic: same contract, same answer. $0.01 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism.
tokenYesERC20 contract address to check.

TDQS

A4.2/5.0
Behavior4/5

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

There are no annotations, so the description carries the burden, and it discloses several important facts: the result is deterministic, the call costs $0.01 via x402 (USDC), and it returns evidence (exact selector and byte offset) rather than a verdict. It does not explicitly state that the call is read-only or whether payment is required before the result is returned, so it falls slightly short of complete behavioral disclosure.

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

Conciseness5/5

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

The trigger condition comes first, followed by detection scope, return semantics, determinism, and cost, in that order. All five sentences add information, and none is redundant.

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

Completeness4/5

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

Since there is no output schema, the description correctly explains what the result contains (evidence selectors plus offsets, and ownership-renounced status) and covers chains and pricing. It does not describe the response envelope or structure (for example, a per-check boolean versus a list), but for a two-parameter read tool 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?

The input schema already documents both parameters at 100% coverage, including the chain list. The description merely restates the supported chains in prose, and it adds no syntax, formatting, or defaulting rules beyond what the schema provides. A score of 3 is the correct baseline when the schema does the heavy lifting.

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

Purpose5/5

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

The description uses the specific verb-resource pair 'pre-trade risk check on a token' and states that it analyzes deployed bytecode and live state across five named chains. It lists exactly which powers are detected (mint, pause, blacklist, upgradeable proxy, mutable buy/sell tax) and whether ownership is renounced, so an agent can clearly tell it apart from evm_token_info (metadata), evm_balance, or crypto_sanctions.

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 when an agent must decide whether to touch a token at all' gives an explicit trigger condition, and the cost line ('$0.01 per call') helps an agent weigh whether it is worth calling. However, it does not name alternatives (such as evm_token_info or crypto_sanctions) or state any case in which the agent should not use it.

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

evm_txEVM transactionAInspect

Use when an agent has sent a transaction and must decide what to do next: the transaction by hash merged with its receipt in one call, so you get sender, recipient, value, gas used, success or revert, and the block it landed in without chaining two RPC calls. Do not use to find out whether it has been mined at all (/v1/evm/receipt answers found: false) or to judge it before signing (/v1/evm/estimate-gas). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
hashYesTransaction hash.
chainNobase | ethereum | polygon | arbitrum | optimism.

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses the response contents, that it merges two RPC calls into one, that no API key/account is needed, and the exact cost ($0.005/call over x402 USDC). Pricing and auth requirements are behavioral facts an agent cannot infer from the schema.

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

Conciseness4/5

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

Front-loaded with the use case, then exclusions, then behavior, then cost — a logical order with no filler. It is dense and slightly overpacked into a few long clauses, but every sentence contributes information.

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

Completeness5/5

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

No output schema exists, and the description compensates by enumerating the returned fields and combined-call semantics. With no annotations, it still covers auth, pricing, and scope, leaving nothing an agent needs to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters (hash, chain) are documented there. The description adds no format, syntax, or chain-default guidance beyond the schema, so this sits at the baseline for full schema coverage.

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

Purpose5/5

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

States a specific verb and resource: fetches a transaction by hash merged with its receipt in one call, listing exactly which fields (sender, recipient, value, gas used, success/revert, block). It explicitly names the sibling tools (evm_receipt, evm_estimate_gas) whose territory it does not cover, so the agent can distinguish it without opening schemas.

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

Usage Guidelines5/5

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

Gives an explicit trigger scenario ("agent has sent a transaction and must decide what to do next"), plus two explicit exclusions with the alternative to use instead: evm_receipt for mined-or-not checks and evm_estimate_gas for pre-signing judgement. Nothing 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.

evm_verdictPlain-language verdict on an ERC20, with the evidence under itAInspect

Use when an agent needs one answer it can act on: a verdict on any ERC20 on five chains - a machine-readable label for who can act on your balance (no-owner-powers, owner-can-intervene, owner-controls-balances, not-a-token), a headline, a plain reading and a paste-ready card, with the evidence selector by selector. Label and card come from the bytecode and live state, never from a model. A repeated requestKey is never charged twice. Research, not investment advice. $0.02 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
chainNobase | ethereum | polygon | arbitrum | optimism.
tokenYesERC20 contract address to judge.
requestKeyNoOptional idempotency key you choose, 8 to 128 characters of letters, digits, dot, dash, colon or underscore. Send the same key with the same input and you get your first answer back and are NOT charged again: the repeat comes back with HTTP 409, the stored answer in the body and "charged": false, because any status at or above 400 is what cancels the payment on this service. Keys are bound to the paying address and kept 24 hours. Reusing a key with a different input is rejected, also without charge.

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses provenance ('label and card come from the bytecode and live state, never from a model'), cost ($0.02 per call over x402/USDC), and idempotency ('a repeated requestKey is never charged twice') which is the key non-obvious billing behavior. It stops short of stating failure modes (non-ERC20 address, unsupported chain) or latency, so not a 5.

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

Conciseness4/5

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

Front-loaded with the trigger ('Use when...') followed by output shape, provenance, billing and disclaimer in that priority order — every clause carries information. It is one long colon-and-dash chain, though, and the four-label enumeration occupies a large share of the 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?

There is no output schema, so the description must describe the return: it does (label, headline, plain reading, paste-ready card, per-selector evidence). Cost and idempotency are covered. What an agent still cannot infer is the default when 'chain' is omitted and what happens on an unsupported chain or a non-contract address.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 requestKey description already spells out the 409/stored-answer/charged:false mechanics and the 24-hour paying-address binding. The description only echoes the idempotency promise and adds the 'five chains' count, so the schema is doing the heavy lifting. Baseline 3 is right.

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

Purpose4/5

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

States a specific verb+resource ('a verdict on any ERC20 on five chains') and enumerates the exact output vocabulary (no-owner-powers, owner-can-intervene, owner-controls-balances, not-a-token), which is unusually precise. It never names or contrasts the obvious siblings evm_token_safety and evm_token_info, so an agent cannot tell from this text alone which of the three 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?

'Use when an agent needs one answer it can act on' gives a situational trigger, and the phrase 'Research, not investment advice' bounds expectations. But there is no explicit when-not, no named alternative for a deeper scan (evm_token_safety) or raw metadata (evm_token_info), and no stated prerequisite such as needing the token address already resolved.

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

fx_convertCurrency conversion at the official ECB rateAInspect

Use when an agent has to convert money in a figure someone will audit: between any two of the ~30 currencies in the European Central Bank's official reference rates, on today's publication or on a past date within the last 90 days. Returns the rate used, its publication date and whether it was crossed through the euro. This is the auditable rate accounting and customs ask for, not a live market quote: it is published once a day and it is reproducible. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
toYesTarget currency, ISO 4217, e.g. EUR.
dateNoOptional publication date, YYYY-MM-DD, within the last 90 days. Defaults to the latest publication.
fromYesSource currency, ISO 4217, e.g. USD.
amountNoAmount to convert. Defaults to 1.

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations present, the description carries the full behavioral burden and does so well: it discloses the returned fields (rate used, publication date, euro-crossed flag), daily publication cadence, reproducibility, 90-day date limit, and cost/payment method. This is substantially more than the schema or annotations provide.

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

Conciseness5/5

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

The description is front-loaded with the usage trigger, then efficiently covers scope, return values, distinction from live quotes, and cost. Every sentence adds useful information and there is no filler.

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

Completeness5/5

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

There is no output schema and no annotations, yet the description explains the return fields, publication timing, date limits, currency coverage, and payment model. For a simple four-parameter conversion tool, an agent has everything needed to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all four parameters, including defaults for amount and date. The description reinforces the currency universe and date window but does not add syntax or formatting details beyond what the schema provides, so the baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb and resource: convert money between currencies using the European Central Bank's official reference rates, with a clear ~30-currency and 90-day scope. It also explicitly distinguishes itself from a live market quote, so an agent can tell what this tool is and 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 Guidelines4/5

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

The opening 'Use when an agent has to convert money in a figure someone will audit' gives a clear triggering condition, and 'not a live market quote' supplies an exclusion. It does not name an alternative tool for non-auditable or live conversions, but the context is otherwise strong.

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

llm_completionFlat-rate LLMBInspect

LLM inference at a flat $0.005 per call, with no account, no API key and no token metering. POST a prompt, get the completion: the same price for 10 tokens or 4000, while metered gateways scale with usage. Automatic failover across several large models; typical response under 1s. Pay per call in USDC over x402 - nothing to sign up for. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
promptYesThe request for the model. Up to 24000 characters.
sistemaNoOptional system instruction.
maxTokensNoOutput token cap, up to 4000. Does not change the price.

TDQS

B3.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the payment mechanism (USDC over x402), that no account or API key is needed, automatic failover across several models, and typical sub-1s latency. It does not describe failure behavior when failover is exhausted or the response shape, so it falls short of a 5.

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

Conciseness3/5

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

The price is asserted three times ('flat $0.005 per call', '$0.005 per call, paid over x402', plus the title) and the 'no account/no API key' point is restated. The pricing hook is front-loaded, but roughly a third of the text 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?

For a paid inference call with no output schema and no annotations, the description covers the unusual essentials an agent must know: cost model, auth (none), payment rail, failover, and latency. Only the return format and error semantics 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 the schema already documents prompt, sistema, and maxTokens. The description adds only a marginal hint that token count does not change price, which the schema's maxTokens note already states. Baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb and resource: 'POST a prompt, get the completion', plus the differentiating flat-rate pricing model. It does not name or contrast with the sibling chat_completions, so it is clear but not sibling-differentiated.

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 guidance on when to pick this over chat_completions or the many content_* generation tools. The only contrast offered is against unnamed 'metered gateways', which is a market comparison, not a routing rule for the agent.

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

messagesAnthropic-compatible messagesAInspect

Use when an agent is written against the Anthropic Messages API and must call a model with no account: the same request and response shape - system as its own field, content as text blocks, stop_reason - so pointing your client at this URL is all it takes. One flat price per call, whatever the size. Automatic failover across several large models. Do not use for the OpenAI shape (/v1/chat/completions serves that one). You are only charged if the answer is delivered. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
modelNoIgnored on purpose: the service picks the model and fails over between several. Accepted so an Anthropic client can send it unchanged.
promptNoShortcut for a single user message, if you do not want to build the array.
systemNoThe system prompt, as its own field (this is how the Anthropic API does it).
messagesNoThe conversation, as in the Anthropic API: [{"role":"user|assistant","content":"..."}]. In a POST send a real JSON array, exactly as an Anthropic client does; in a GET pass that same JSON as text. Both are accepted.
max_tokensNoOutput token cap, up to 4000. Does not change the price. Required by the real API; here it is optional.
temperatureNoPassed through to the model when given.

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses model selection/failover, flat per-call pricing ($0.005), x402 USDC payment, and that billing occurs only if the answer is delivered. These are meaningful operational traits beyond the schema.

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

Conciseness5/5

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

One dense paragraph, front-loaded with the use case and the exclusion, followed by pricing and failover details. Every sentence adds information or prevents a mis-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?

There is no output schema, but the description references the Anthropic response shape (content blocks, stop_reason) and request shape sufficiently for a client already targeting that API. Slightly more detail on the response envelope could help, though it is not essential.

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

Parameters4/5

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

Schema coverage is already 100%, so the baseline is 3. The description adds conceptual meaning by explaining that model is ignored, system is a distinct field, and messages follow Anthropic text-block semantics, which helps an agent avoid misusing the shortcut.

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 capability: call a model via an Anthropic Messages API-compatible endpoint with no account, preserving request/response shape. It explicitly distinguishes itself from the OpenAI-shaped sibling chat_completions.

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

Usage Guidelines5/5

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

Gives an explicit when-to-use condition (client written against Anthropic Messages API) and an explicit when-not-to-use condition (OpenAI shape, pointing to /v1/chat/completions). Alternatives are named, not merely implied.

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

random_coinflipCoin flipAInspect

Use when an agent must break a tie or split a test and cannot be seen to have chosen: one or more fair coins, each result and the tally of heads and tails, cryptographically random rather than Math.random. Do not use to pick among more than two options (/v1/random/pick) or to order a list (/v1/random/shuffle). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
countNoHow many coins to flip, 1-100. Defaults to 1.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does most of it: it discloses output contents (each result plus head/tail tally), randomness quality (cryptographic, not Math.random), auth requirements (no API key, no account) and cost ($0.005/call via x402 USDC). Minor gaps remain on rate limits, failure modes, or response shape, but pricing and auth disclosure is unusually strong.

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 triggering condition and free of filler, but the first sentence is a long run-on that chains use case, output shape, and randomness quality together. Nothing is wasted, though it could be broken for scannability.

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

Completeness5/5

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

For a one-parameter, no-annotation, no-output-schema tool, the description covers what it returns ('each result and the tally'), how it authenticates, what it costs, and when not to use it. An agent has everything needed to call it and to pay for it correctly.

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

Parameters3/5

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

Schema coverage is 100%, with the count range (1-100) and default of 1 already documented in the schema. The description mentions 'one or more fair coins' but adds no format, cost-per-coin, or edge-case semantics 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 concrete verb+resource: 'one or more fair coins, each result and the tally of heads and tails,' with the cryptographic-randomness qualifier. It explicitly names the siblings it is not (random_pick at /v1/random/pick, random_shuffle at /v1/random/shuffle), so the agent can route without opening schemas.

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

Usage Guidelines5/5

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

Opens with an explicit use case ('break a tie or split a test and cannot be seen to have chosen') and immediately follows with negative routing to the two alternatives for >2 options and list ordering. The decision boundary is fully specified.

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

random_diceDice rollerAInspect

Use when an agent has to produce a roll a player or an audit will check: dice with any number of faces, every individual roll, the total and the standard notation (3d6, 1d20). It uses the platform CSPRNG with rejection sampling, so every face is equally likely, which a plain modulo is not. Do not use to choose from a list you already have (/v1/random/pick) or for a secret (/v1/random/password). $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
countNoHow many dice to roll, 1-100. Defaults to 1.
facesNoFaces per die, 2-1000000. Defaults to 6.

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full load and does so well: it discloses the CSPRNG plus rejection sampling, explains why that matters for fairness versus a plain modulo, and states the cost model ($0.005 per call, paid over x402 in USDC) — an unusual and important operational constraint. It stops short of stating latency, limits on simultaneous calls, or failure behavior when payment is missing.

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 when-to-use clause, then fairness rationale, then exclusions, then pricing — a logical order with no filler. The first sentence is dense and run-on, packing trigger, output shape, and examples into one breath, which slightly hurts scanability.

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

Completeness5/5

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

A two-optional-parameter tool with no output schema and no annotations is fully covered: the description explains the return payload (per-die rolls, total, notation), the randomness guarantee, and the payment requirement. An agent has everything needed to invoke it and interpret results.

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

Parameters4/5

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

Schema coverage is 100% and both parameters are documented with ranges and defaults in the schema itself, so the description only adds the framing 'any number of faces'. Baseline 3 applies, with modest extra credit because the notation output (3d6) implicitly links count and faces to the result format.

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 (roll dice with any number of faces) and immediately differentiates from siblings by naming /v1/random/pick and /v1/random/password as the wrong tools. The returned artifacts (individual rolls, total, standard notation like 3d6) further pin down what the tool produces.

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

Usage Guidelines5/5

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

Explicit trigger is given ('when an agent has to produce a roll a player or an audit will check'), and two explicit exclusions route the agent to random_pick for choosing from a list and random_password for secrets. Nothing is left to inference about when this tool is the right choice.

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

random_numberRandom numberAInspect

Use when an agent needs numbers in a range that will stand up to inspection: uniform random integers between your own bounds, with or without repeats, drawn with rejection sampling so the ends of the range are not slightly less likely, which is what modulo does. Do not use to choose among items (/v1/random/pick) or for a secret (/v1/random/password). $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
maxNoHighest value, inclusive. Defaults to 100.
minNoLowest value, inclusive. Defaults to 1.
countNoHow many to draw, 1-100. Defaults to 1.
uniqueNoNo repeats. Needs a range at least as wide as count.

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are supplied, so the description must carry the load, and it goes well beyond the schema by naming the sampling algorithm and the bias guarantee. The repeated range check when unique=true constrains misuse. It stops short of covering edge cases (count exceeding range width), response shape, or being a fake-data source.

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

Conciseness4/5

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

Three sentences: use case, exclusions, cost. Front-loaded and waste-free. The first sentence is long and carries several facts, so parsing is slightly dense compared to the rest of the document.

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

Completeness4/5

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

With no annotations or output schema, the description must supply routing, algorithm, and cost. It does all three. What is missing is return format (scalar vs list when count > 1) and error behavior when unique=true and count exceeds the range width.

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 more: it foregrounds 'with or without repeats' (the unique flag) and states the range-width requirement when repeats are excluded. It does not explain count semantics or the min/max relationship explicitly in the description.

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

Purpose5/5

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

The description states a concrete verb and resource ('uniform random integers between your own bounds, with or without repeats') and distinguishes itself from random_pick and random_password. An agent knows exactly what this produces without opening the schema.

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

Usage Guidelines5/5

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

Explicit positive condition ('use when an agent needs numbers in a range') and explicit negative routing to two named siblings for picking items and for secrets. That is the full when/when-not/alternative triad.

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

random_passwordPassword generatorAInspect

Use when an agent must mint a secret and be able to justify its strength: strong random passwords from the platform CSPRNG, returned with their entropy in bits so the strength is a number and not an opinion. Four alphabets, one with no look-alike characters for anything a human has to read back or dictate. Do not use for ids that only need to be unique (/v1/util/uuid). $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
countNoHow many to generate, 1-50. Defaults to 1.
lengthNoCharacters per secret, 8-256. Defaults to 20.
alphabetNoalnum | legible | hex | completo. Defaults to legible.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and discloses key traits: CSPRNG source, entropy return, four alphabets including a legible one for human readability, and per-call cost with payment method. It omits minor details like error handling or rate limits, but covers the essential behavior for a generator.

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

Conciseness5/5

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

The description is three sentences, front-loaded with the primary use case, and every sentence adds distinct value: purpose, key features, alternative, and cost. No wasted words.

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

Completeness4/5

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

Given no output schema and no annotations, the description sufficiently covers what the tool does, its output (entropy in bits), alphabets, and cost. It could be slightly more explicit about the exact return format (e.g., array of objects with password and entropy fields), but it is largely complete for an agent to invoke it correctly.

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

Parameters3/5

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

Schema coverage is 100%, so the parameter meanings are already fully documented. The description adds only a small clarification about the legible alphabet having no look-alike characters, but otherwise does not expand on count or length beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb (mint) and resource (strong random passwords), and explicitly distinguishes from util_uuid for unique IDs. It also highlights the unique value of returning entropy in bits, making the tool's purpose unmistakable.

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

Usage Guidelines5/5

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

It provides explicit when-to-use (mint a secret and justify its strength) and when-not-to-use (IDs that only need uniqueness, with a named alternative /v1/util/uuid). This leaves no ambiguity about tool selection.

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

random_pickRandom pickAInspect

Use when an agent has several options and no reason to prefer any, and the choice has to be defensible: picks one or more items from the list you send, with or without repeats, and tells you how many it had to choose from. Do not use to order the whole list (/v1/random/shuffle) or to draw a number in a range (/v1/random/number). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
countNoHow many to pick, 1-100. Defaults to 1.
itemsYesThe options, comma-separated. A JSON array of strings is also accepted in a POST body.
repeatNoAllow the same item more than once. Defaults to false.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and usefully discloses that no API key or account is required, that calls cost $0.005 via x402/USDC, and that the result reports how many items were available. It does not cover rate limits or exact response/error behavior, so it is strong but not complete.

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

Conciseness5/5

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

The description is front-loaded with the decision context and exclusions, then closes with concise operational facts about auth and cost. Every sentence contributes useful selection or invocation information.

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

Completeness4/5

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

For a simple three-parameter utility with full schema coverage and no output schema, the description covers use case, alternatives, repeat behavior, auth, cost, and source-count output. It stops short of describing exact return formatting or edge cases such as insufficient items without repeats.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 count, items, and repeat are already documented by the schema. The description reinforces repeats and count-from behavior but adds little syntax or constraint detail beyond the structured fields.

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

Purpose5/5

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

The description states a specific verb and resource: it picks one or more items from a supplied list. It also distinguishes this from the closest siblings by explicitly excluding ordering the whole list and drawing a number in a range.

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

Usage Guidelines5/5

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

It gives an explicit use condition — several options with no reason to prefer any — and explicit exclusions pointing to /v1/random/shuffle and /v1/random/number. An agent can route correctly without consulting other tools.

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

random_shuffleShuffle a listAInspect

Use when an agent must put a list in an order nobody can claim was arranged: a uniformly random shuffle with Fisher-Yates over the platform CSPRNG, so every permutation is equally likely, which sorting by a random key does not give you. Do not use to take just one or a few items (/v1/random/pick). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
itemsYesThe list to shuffle, comma-separated. A JSON array of strings is also accepted in a POST body.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations to lean on, the description still discloses the important non-obvious traits: the algorithm and its uniformity guarantee, that no API key or account is needed, and the exact cost ($0.005/call via x402 USDC). It does not cover rate limits, failure modes, or what happens with duplicate items, 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?

Front-loaded with the usage trigger and only three sentences total, each carrying a distinct payload (purpose/guarantee, exclusion, pricing/auth). The first sentence is dense and slightly run-on, but no sentence is filler.

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

Completeness4/5

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

For a single-parameter tool with no output schema, the description covers the things an agent most needs before calling: the correctness guarantee, the alternative, and the payment/auth model. Return shape (presumably the reordered list) and edge-case behavior are left implicit, 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% and the single parameter already documents comma-separated vs JSON array input. The description adds nothing about the items parameter, so the baseline of 3 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 and resource (shuffle a list) and immediately qualifies the guarantee: uniformly random, Fisher-Yates over the platform CSPRNG. It explicitly names the sibling it is not (/v1/random/pick), so an agent can distinguish it from random_pick 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 Guidelines5/5

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

Gives an explicit when ('an order nobody can claim was arranged') and an explicit when-not with the alternative named ('Do not use to take just one or a few items (/v1/random/pick)'). It even explains why a naive approach (sorting by a random key) is not a substitute.

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

red_asnASN lookupAInspect

Use when an agent has an origin ASN and must decide who is behind a network and whether it is still live: the RDAP registry record (holder, status, allocation dates, abuse contact), the AS name, country and RIR, and the prefixes it announces right now, split IPv4 and IPv6 with a sample. The natural second call after /v1/red/ip. Do not use for one address (/v1/red/ip) or for a domain (/v1/red/whois). $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
asnYesThe AS number, with or without the AS prefix: 15169 or AS15169.

TDQS

A4.3/5.0
Behavior4/5

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

No annotations exist, so the description carries the full burden, and it discloses the two things an agent most needs to know beyond the payload: cost ($0.005 per call) and the payment mechanism (x402/USDC). It also characterizes the return payload in detail, including that prefix lists are sampled. It stops short of stating failure behavior for unknown or unannounced ASNs, so it is not fully complete.

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 trigger condition and tightly packed, with no filler sentences. It runs slightly long by repeating the endpoint paths in the exclusion clause, but every clause carries routing or payload 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 no output schema and no annotations, the description compensates by enumerating return fields and stating price and payment rail, which is what an agent needs before spending money. The remaining gap is error/empty-result behavior for invalid or dormant ASNs.

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

Parameters3/5

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

There is a single parameter and schema coverage is 100%; the schema already documents that the AS prefix is optional ("15169 or AS15169"). The description adds nothing about the asn argument, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb+resource (ASN lookup) and enumerates exactly what comes back: RDAP registry record, AS name, country, RIR, and currently announced IPv4/IPv6 prefixes. It distinguishes itself from the address-lookup and domain-lookup siblings by name, so an agent can pick it without opening a schema.

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

Usage Guidelines5/5

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

Explicit when-to-use ("when an agent has an origin ASN and must decide who is behind a network and whether it is still live") plus explicit exclusions routed to alternatives ("Do not use for one address (/v1/red/ip) or for a domain (/v1/red/whois)"). It even positions the call in a sequence: "The natural second call after /v1/red/ip."

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

red_certTLS certificate lookup (Certificate Transparency)AInspect

Use when an agent must audit what certificates exist for a domain: every currently valid one publicly issued for it, read from the Certificate Transparency logs - issuer, validity window, days to expiry, revocation status and every hostname each certificate covers. It reports what was ISSUED, which is how you find certificates you did not know existed - not what the server is serving today. No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
domainYesThe domain to look up. A full URL or an email address is accepted and reduced to its host.
subdomainsNoAlso return certificates issued for subdomains. Defaults to false.

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses no API key/account required, a concrete price ($0.005 per call) and the payment rail (x402/USDC), and clarifies the read-only nature and data source (CT logs, historical issuance rather than live serving). It even compensates for the absent output schema by enumerating the returned fields.

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

Conciseness4/5

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

Front-loaded with a 'Use when...' trigger, then the crucial scope clarification, then commercial/access facts — a sensible ordering. It is dense but nearly every clause adds information; the parenthetical field list is the only slightly heavy element.

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, no-annotation, no-output-schema lookup tool this is close to complete: trigger, data source, scope boundary, returned fields, access requirements and price are all present. Remaining gaps are minor operational details — rate limits, behavior on very large domains, and error semantics.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already self-documenting; the baseline of 3 applies. The description adds conceptual value ("every hostname each certificate covers") that frames what the subdomains flag affects, but it does not explain the domain param's URL/email normalization — that detail lives only in the schema.

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

Purpose5/5

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

States a specific verb and resource — audit every currently valid publicly issued certificate for a domain, read from Certificate Transparency logs — and enumerates the fields returned (issuer, validity window, expiry, revocation, hostnames). It also draws the key conceptual line, 'reports what was ISSUED ... not what the server is serving today', which separates it from live-TLS-style siblings like red_domain_check.

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 when an agent must audit what certificates exist for a domain" gives a clear triggering context, and the follow-on sentence sharpens it into a concrete use case (finding certificates you did not know existed). It stops short of naming an alternative sibling or an explicit when-not-to-use case, so it is a strong 4 rather than a 5.

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

red_dnsblIP blocklist checkAInspect

Use when an agent must decide whether an IP is already known for abuse: it checks one IPv4 address against nine public DNS blocklists at once — SpamCop, UCEPROTECT, PSBL, Barracuda, DroneBL and four more — and returns each list's raw code and the reason text it publishes, not a score. Every list is re-checked on each call with its RFC 5782 test entry, so a dead list comes back as unavailable instead of reading as clean. Includes the delisting URL for each hit. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
ipYesThe IPv4 address to check. IPv6 is not accepted: these nine lists are IPv4 zones.

TDQS

A4.4/5.0
Behavior5/5

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

With zero annotations, the description still covers the non-obvious behaviors: every list is re-verified with its RFC 5782 test entry so a dead zone reads as 'unavailable' rather than clean — a failure mode that materially changes interpretation. It also discloses no aggregate score, inclusion of delisting URLs, per-call pricing ($0.005 via x402/USDC) and the IPv4-only restriction.

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 usage condition, then behavior, then cost — no filler sentences. The density is high but every clause (list count, raw codes, test-entry rechecks, delisting URL, price) carries 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?

No output schema and no annotations, yet return values (per-list raw code plus published reason text), the delisting URL, and the dead-list degradation path are all described, so an agent can interpret results without extra calls. Minor gap: nothing on rate limits, concurrency behavior, or what an all-clean response looks like.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 already 100% and the single parameter's IPv4-only constraint is documented in the schema itself. The description adds only the phrase 'one IPv4 address', which restates the schema rather than extending it — baseline 3 for a fully-covered single-param tool.

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

Purpose5/5

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

States a concrete verb and resource ('checks one IPv4 address against nine public DNS blocklists at once') and names the specific lists, which separates it from the generic red_ip lookup and the domain/email checks. The agent knows exactly what it gets back — raw per-list codes, not a verdict.

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 when an agent must decide whether an IP is already known for abuse' gives a clear triggering condition. It does not explicitly exclude neighbouring tools such as red_ip (reputation/geo lookup) or red_domain_check, so the routing to alternatives is left to inference rather than stated.

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

red_domain_checkDomain DNS checkAInspect

Use when an agent must decide whether a domain is real and reachable before trusting it: everything DNS says about it in one call - whether it is registered, its A and AAAA addresses, nameservers, MX servers, SPF and DMARC, DNSSEC, and whether it looks parked. Built for going through a list of domains one at a time. Live DNS, no API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
domainYesThe domain to check. A full URL or an email address is accepted and reduced to its host.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses live DNS rather than cache, no API key or account required, per-call cost of $0.005 settled over x402 in USDC, and that calls are one-domain-at-a-time. Gaps remain around rate limits, behavior on an unregistered domain (error vs. structured result), and latency/timeout.

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 trigger condition, then the returned data set, then operational facts (auth, cost, batching) — a logical progression with no filler. The data enumeration is long but every item is decision-relevant for trust evaluation.

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

Completeness4/5

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

With no output schema, the description must convey what comes back, and it does by listing each DNS signal collected. It is nearly complete for a single-parameter tool; only the result shape (structured object vs. text) and unregistered-domain behavior are left unspecified.

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

Parameters4/5

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

A single required parameter with 100% schema description coverage, so the schema already explains that URLs and email addresses are reduced to their host. The description's framing ("whether a domain is real and reachable") reinforces intent but adds no new input semantics. Baseline for this configuration is met.

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

Purpose5/5

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

The description uses a specific verb and resource ("check a domain") and enumerates exactly what the call returns: registration status, A/AAAA, nameservers, MX, SPF/DMARC, DNSSEC, and parked detection. That enumeration lets an agent distinguish it from red_dnsbl (blocklists) and red_whois (registration records) without opening a schema.

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

Usage Guidelines4/5

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

"Use when an agent must decide whether a domain is real and reachable before trusting it" gives a clear use condition, and "built for going through a list of domains one at a time" sets the batching expectation. It stops short of naming when to prefer red_dnsbl, red_whois, or red_email_check instead, so no explicit exclusions are offered.

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

red_email_checkEmail address checkAInspect

Use when an agent must decide whether to write to an address, or clean a list before sending: it scores one email 0-100 with a verdict (ok, risky, disposable, undeliverable, invalid) and the evidence under it: every point lost is itemised with the field that proves it. 12,141 disposable domains from two maintained open lists pinned to a commit, 4,897 free providers, 1,018 role names, typo fix (gmial.com > gmail.com), live MX/SPF/DMARC. No SMTP probe, no API key. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
emailYesThe address to check, e.g. someone@example.com.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden well: it discloses data provenance (two lists pinned to a commit, live MX/SPF/DMARC), scope limits (no SMTP probe, so mailbox existence is not verified), auth/cost model (no API key, $0.005 per call via x402/USDC), and the structure of the result. It stops short of error modes, timeouts or rate limits, which matters somewhat for a paid network-dependent call.

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

Conciseness4/5

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

Front-loaded with the decision context, then verdict semantics, then provenance, then cost — a sensible order with almost no filler. The exact list counts (12,141 / 4,897 / 1,018) are slightly noisy but do signal maintained coverage, so they mostly earn their place.

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

Completeness5/5

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

There is no output schema, so the description must describe return values itself — and it does: a 0-100 score, an enumerated verdict, and per-point evidence tied to the proving field. Combined with the pricing and no-key disclosure, an agent has everything needed to call and interpret 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?

One parameter at 100% schema coverage, so the schema already documents the input fully. The description reinforces the one-address-per-call granularity ('scores one email'), but adds no syntax, normalisation, or batching semantics beyond that.

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: scores one email 0-100 with a named verdict set (ok, risky, disposable, undeliverable, invalid) and itemised evidence. It is unmistakable against siblings like red_domain_check, red_dnsbl or red_asn, which operate on different subjects.

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

Usage Guidelines5/5

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

Gives concrete triggering decisions — before writing to an address, or cleaning a list before sending — so the agent knows when to reach for this rather than a generic DNS or domain tool. No explicit exclusions, but the use contexts are sharply drawn enough to route correctly.

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

red_ipIP address intelligenceAInspect

Use when an agent must decide who an IP belongs to before blocking or trusting it: one IPv4 or IPv6 address against the two authoritative, keyless public sources - RDAP registry data (holder, country, date, abuse contact) via the ARIN-to-RIR chain, and the origin ASN from Team Cymru's DNS service. No city-level geolocation and no VPN/proxy detection: that needs a licensed database this route deliberately does not use. Built for going through a list of IPs one at a time. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
ipYesThe IPv4 or IPv6 address to look up.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden well: it names the two data sources, describes the data retrieved, states key limitations, says it is designed for one-at-a-time lookups, and discloses the $0.005 x402/USDC payment requirement. It does not describe error behavior or response freshness, 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?

The description is front-loaded with the usage condition, then follows with sources, exclusions, batching behavior, and cost. Every sentence contributes specific information, and the length is appropriate for a paid lookup tool.

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

Completeness5/5

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

Although there is no output schema or annotations, the description names the key returned data elements: holder, country, date, abuse contact, and origin ASN. It also covers the payment model and limitations, leaving an agent with enough context to call and interpret the tool correctly.

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

Parameters3/5

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

Schema coverage is 100%, and the single parameter is already documented as an IPv4 or IPv6 address. The description adds only the framing of one address per call, which is useful but not substantially beyond the schema.

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

Purpose5/5

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

The description states a specific verb-and-resource target: looking up one IPv4/IPv6 address for ownership intelligence via RDAP and ASN data. It clearly scopes the tool against adjacent capabilities by excluding city-level geolocation and VPN/proxy detection, so an agent can distinguish it from related red_* and evm_* tools.

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

Usage Guidelines4/5

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

It gives an explicit use case: deciding whether to block or trust an IP. It also states what the tool deliberately does not cover, but it does not name sibling alternatives such as red_asn or red_whois for cases where those would be more appropriate.

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

red_whoisDomain registration lookup (RDAP)AInspect

Use when an agent must judge how established a domain is, or when it expires: registration data read from the registry's own RDAP service through the IANA bootstrap — not scraped from port-43 whois text. Returns creation, expiry and last-change dates, age and days to expiry, registrar, EPP status codes, nameservers, DNSSEC and the abuse contact. TLDs with no RDAP server say so instead of reporting the domain as unregistered. No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
domainYesThe domain to look up. A full URL or an email address is accepted and reduced to its host.

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so well: it declares the data source (IANA bootstrap to RDAP), auth requirements ('No API key, no account'), the pricing model ($0.005/call via x402 USDC), and the important edge case that a TLD lacking an RDAP server is reported as such rather than as unregistered. That last disclosure prevents a real misinterpretation of the result.

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?

Opens with the usage trigger, then the data source, then the returned fields, then cost/auth — a sensible front-loaded order with no filler. Every clause contributes either routing information or behavioral 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?

The tool is simple (one required parameter, no output schema), and the description compensates by enumerating the returned fields (creation/expiry/last-change dates, age, days to expiry, registrar, EPP status, nameservers, DNSSEC, abuse contact). An agent can decide and call correctly without further information.

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

Parameters3/5

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

Schema description coverage is 100% and the schema already explains that a URL or email is reduced to its host. The body text adds nothing about the domain argument, so this sits at the baseline for a well-documented single parameter.

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

Purpose4/5

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

States a specific verb and resource ('registration data read from the registry's own RDAP service') and explicitly contrasts with port-43 whois scraping, which pins down what kind of data this returns. It doesn't distinguish itself from adjacent siblings like red_domain_check or red_cert, so an agent must infer that 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 Guidelines4/5

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

Names two concrete trigger conditions: judging how established a domain is, and checking when it expires. There are no explicit exclusions or named alternatives, but the stated triggers are clear enough to route most calls correctly.

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

security_prompt_injectionPrompt injection classifierAInspect

Use when untrusted text - an email, a web page, another tool's output - enters a model's context and may carry instructions aimed at your agent. Returns safe/suspicious/malicious, a 0-1 score and each match with its excerpt, offset and what it would do. Also decodes base64, hex, URL-encoded and reversed payloads, and flags invisible characters. Deterministic, no model, and it says what it could not inspect. Not for ERC20 contracts (/v1/evm/token-safety). Flat price, no key. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
textYesThe untrusted text to classify, up to 32 kB. Anything longer is truncated and the response says so in unknown[].
sourceNoOptional label echoed back, so a batch of calls can be matched to its items (for example "email:1842").

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does it well: it names the verdict categories, the score, the match structure (excerpt, offset, intent), the decoding passes (base64, hex, URL, reversed), invisible-character detection, determinism, the truncation honesty about what it could not inspect, and the payment/auth model (x402 USDC, flat price, no key). Not a 5 only because latency/error semantics are unstated.

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 trigger condition, then return shape, then capabilities, then exclusion and pricing — a sensible information hierarchy. Dense but not bloated; only the pricing/payment sentence is arguably separable from invocation guidance.

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?

No output schema exists, so the description must explain returns — it does, naming the verdict, score, and match fields. It also covers capabilities, limits, and payment. Minor gap: no explicit error or rate-limit behavior.

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

Parameters3/5

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

Schema coverage is 100% and both parameters (text, source) are fully documented in the schema, including the 32 kB truncation behavior. The description adds no syntax or usage 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?

Names a specific verb (classify) and resource (untrusted text entering a model context), and explicitly distinguishes itself from the sibling it could be confused with (/v1/evm/token-safety). An agent can tell exactly what this does without opening the schema.

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

Usage Guidelines5/5

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

States the triggering condition (untrusted text — email, web page, another tool's output — entering a model's context) and the exclusion (not for ERC20 contracts, use token-safety). Both when-to-use and when-not are explicit.

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

time_convertTime zone converterAInspect

Use when an agent is about to commit to a time in someone else's zone and cannot be an hour wrong: converts between any two IANA zones with daylight saving applied from the runtime's own tz database. Returns both sides with their UTC offset, abbreviation and DST flag, plus the UTC instant and the difference in hours. Warns when the time asked for does not exist or happens twice because the clocks change that day: the two cases that quietly make a hand-made conversion wrong. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
toYesTarget IANA time zone, e.g. "Asia/Tokyo". Required.
fromYesSource IANA time zone, e.g. "Europe/Madrid". Required.
timeNoWall clock as YYYY-MM-DD HH:MM in the "from" zone, or an ISO string with Z or an offset, or a unix timestamp, or "now". Defaults to now.

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses the tz database source, the exact return contents (both sides with offset, abbreviation, DST flag, UTC instant, hour difference), edge-case warnings for nonexistent or ambiguous local times, and the cost/payment mechanism ($0.005 per call via x402 USDC). Those are exactly the traits an agent could not infer from structured fields.

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

Conciseness4/5

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

The trigger condition is front-loaded and every sentence contributes (conversion scope, return shape, DST edge cases, price). It is dense and slightly run-on with stacked colons, but no sentence is 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?

There is no output schema, and the description compensates fully by describing the returned fields and the warning behavior. Combined with complete parameter docs, an agent has everything needed to call it and interpret the result.

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

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 including the flexible time format. The description adds only the notion that both endpoints are IANA zones, which the schema already states, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: converts between any two IANA zones with DST applied. It clearly frames the task as a conversion rather than a lookup, implicitly distinguishing it from time_now/time_zones, but it never names those siblings to make the split explicit.

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

Usage Guidelines4/5

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

Opens with a concrete usage trigger: use when about to commit to a time in someone else's zone and cannot be an hour wrong. That gives a clear condition for invoking it, though no explicit when-not case or named alternative is offered.

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

time_nowCurrent time in a time zoneAInspect

Use when an agent must stamp or schedule something in a particular place and needs every form at once: ISO with offset, 24-hour, 12-hour, weekday, unix timestamp and UTC. It also says whether daylight saving is active right now and what the zone's standard offset is, so a shifted clock can be told apart from a permanent one. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
zoneYesIANA time zone, e.g. "Asia/Tokyo" or "UTC". Required.

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the returned fields (including DST-active flag and standard offset to distinguish a shifted clock from a permanent one) and, unusually, the cost and payment mechanism ($0.005/call over x402 USDC). It omits error behavior for invalid zone strings and any latency expectation.

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 'Use when' trigger, and the output enumeration is informative rather than filler. The pricing sentence sits slightly apart from the functional narrative 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?

With no output schema, the description must — and does — enumerate the return values, including DST state and standard offset. Combined with the cost disclosure, an agent knows what it gets and what it pays; only failure modes for bad zone input 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?

There is a single parameter with 100% schema description coverage that already specifies IANA format and requiredness. The description says 'in a particular place' but adds no format, casing, or rejection guidance beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

The description makes clear this returns the current time in a place, and enumerates the exact output forms (ISO with offset, 24-hour, 12-hour, weekday, unix, UTC) plus DST status and standard offset. It never names the obvious siblings time_convert or time_zones, so the boundary between this and those is left to inference.

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

Usage Guidelines4/5

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

'Use when an agent must stamp or schedule something in a particular place and needs every form at once' gives a concrete triggering condition. However, there is no explicit when-not or pointer to time_convert/time_zones for agents that only need one format or a cross-zone conversion.

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

time_zonesTime zone directoryAInspect

Use when an agent has a city or a country and needs the exact zone name the other routes expect: searches the full IANA list and gives each zone's current UTC offset, abbreviation, local time and DST state. Use it to turn a city or a country into the exact zone name the other endpoints expect, or to find every zone sitting at a given offset right now. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
limitNoMaximum zones returned, 1-500. Defaults to 50.
offsetNoKeep only zones at this current UTC offset, e.g. "+09:00" or "-5".
searchNoSubstring matched against the zone name, case-insensitive. Omit to list them all.

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose two important traits: the returned fields per zone and that the call is paid ($0.005 via x402/USDC) — a cost signal an agent must know before invoking. It omits error/empty-result behavior, rate limits, and pagination semantics beyond the limit default.

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

Conciseness3/5

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

Front-loading with 'Use when...' is good, but the clause 'the exact zone name the other routes expect' is repeated almost verbatim in the second sentence, which is real waste in a two-sentence description. The pricing sentence earns its place.

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 description covers return fields and cost, which compensates for the missing output schema and annotations. However, it promises turning 'a city or a country' into a zone name while the search parameter is defined as a substring match against the zone name only, so country names would often not match — an unresolved ambiguity for a 3-parameter tool.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents limit, offset, and search with examples, making 3 the baseline. The description adds only light framing ('searches the full IANA list', 'every zone sitting at a given offset right now') without clarifying matching syntax or the offset format beyond what the schema shows.

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

Purpose5/5

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

States a specific verb and resource ('searches the full IANA list') and names exactly what each result carries: UTC offset, abbreviation, local time, DST state. It also separates itself from the time_convert/time_now siblings by framing itself as the zone-name lookup the other routes expect.

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?

Two clear entry conditions are given: 'when an agent has a city or a country and needs the exact zone name' and 'to find every zone sitting at a given offset right now'. It falls short of a 5 because the alternative routes (time_convert, time_now) are referenced collectively rather than by name, and no when-not condition is stated.

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

util_addressAddress checksum and validationAInspect

Use when an agent is handed an address and must decide whether it is safe to use before sending anything: it validates it and returns the EIP-55 mixed-case checksum form, plus whether the input was already checksummed. An address that fails the checksum is almost always mistyped. Do not use to find out whether it is a wallet or a contract (/v1/evm/is-contract) or to resolve a name (/v1/evm/ens). $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
addressYesThe address to validate, in any case.

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are supplied, so the description carries the full burden, and it does most of it: it discloses the return content (checksum form plus whether the input was already checksummed), the diagnostic meaning of a failure ('almost always mistyped'), and the cost model ($0.005/call over x402/USDC). It stops short of describing failure modes for malformed or non-EVM inputs, which would matter for an agent handling arbitrary strings.

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

Conciseness5/5

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

Four short sentences, ordered trigger first, then behavior, then rationale, then exclusions and price. No filler; every clause does work.

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

Completeness5/5

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

For a one-parameter pure validation with no output schema, the description supplies everything an agent needs: what is returned, how to interpret failure, when to choose a sibling, and the billing model. Nothing material is missing.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter's 'in any case' semantics are already documented in the schema, so the description adds nothing beyond it. 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 ('validates it and returns the EIP-55 mixed-case checksum form') and immediately names what it is not, routing the agent away from evm_is_contract and evm_ens by name. An agent can pick this over the ~60 siblings without opening a schema.

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

Usage Guidelines5/5

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

Explicit 'Use when an agent is handed an address and must decide whether it is safe to use before sending anything' plus two named exclusions with their alternative endpoints. Both the trigger and the carve-outs are spelled out, not implied.

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

util_base64Base64 encode and decodeAInspect

Use when an agent must put bytes through a header, a URL or a JSON field, or read what came back: base64 in both directions, including the URL-safe alphabet, with UTF-8 handled properly. x402 itself rides on base64, so this is the one that reads a payment header. Do not use for hashing (/v1/util/sha256) or for hex (/v1/util/hex). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
modeNoencode | decode. Defaults to encode.
inputYesThe text or base64 to convert.
urlSafeNoUse the URL-safe alphabet (-_ instead of +/).

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and usefully discloses that no API key or account is required and that calls cost $0.005 via x402/USDC. It also clarifies UTF-8 handling and URL-safe alphabet support, though it does not describe error behavior for invalid base64 or the exact return shape.

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

Conciseness5/5

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

The description is front-loaded with the usage condition and operation, then moves to exclusions, then to payment and access details. Every sentence contributes relevant routing or operational context, with no filler.

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

Completeness4/5

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

For a simple three-parameter utility with full schema coverage but no annotations or output schema, the description covers usage, exclusions, authentication/payment, and key encoding behavior. It is nearly complete, though an explicit note about return format or invalid-input behavior would close the remaining gap.

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 documents all three parameters at 100% coverage, so the baseline is a 3. The description adds some semantic value by clarifying bidirectional operation, URL-safe alphabet use, and proper UTF-8 handling beyond what the schema 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 states a specific operation and resource: base64 encoding and decoding in both directions, including URL-safe alphabet and UTF-8 handling. It also distinguishes the tool from sibling utilities by explicitly ruling out hashing (/v1/util/sha256) and hex (/v1/util/hex).

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

Usage Guidelines5/5

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

It gives explicit when-to-use guidance: putting bytes through headers, URLs, or JSON fields, or reading what came back, including payment headers. It also names the alternatives it should not be used for, which lets an agent route correctly without inspecting sibling schemas.

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

util_hexHex converterAInspect

Use when an agent has raw RPC output and must read it as a number or as text: converts between hex, decimal and UTF-8 in one call, with big integers kept exact because a 32-byte word overflows a JavaScript number. Do not use to decode a whole ABI-encoded struct: this converts one value. No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
asNohex | decimal | text. What the value IS. Defaults to autodetect.
valueYesA 0x-prefixed hex string, a decimal number, or text.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses big-integer exactness because a 32-byte word overflows a JS number, that no API key or account is needed, and the exact price ($0.005/call via x402 USDC). The only gap is that it never says what the return shape looks like (single string value, both representations, etc.), and no 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?

Roughly four sentences, all front-loaded: trigger, scope limit, operational cost/auth facts. Every sentence answers a decision an agent would otherwise have to guess at, and nothing is repeated from the schema.

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

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-function utility this is close to complete — conversion scope, precision caveat, auth, and pricing are all covered. The missing piece is return-value behavior, since there is no output schema to describe whether the answer comes back as a single string or multiple representations.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 `value` and `as` (with its hex | decimal | text enum) are already fully documented in the input schema. The description mentions the three conversion types but adds no per-parameter guidance beyond what the schema states, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource — converts between hex, decimal and UTF-8 for raw RPC output — and names the exact scope (one value, not a whole ABI struct), which separates it from siblings like util_base64 or util_selector. An agent can identify the tool without opening the schema.

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

Usage Guidelines4/5

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

Explicitly gives a trigger condition (agent has raw RPC output needing numeric or text interpretation) and an exclusion (do not use to decode a whole ABI-encoded struct, this converts one value). It stops short of naming an alternative tool for the excluded case, which would have made it a 5.

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

util_ibanIBAN checkAInspect

Use when an agent must decide whether a bank account it was given can be paid before trying: validates one IBAN offline - country, expected length, ISO 7064 mod-97 check digits, whether it is inside SEPA, and the account number split out. Deterministic, no network call and no third party that can go down. Built for cleaning a list of accounts one at a time. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
ibanYesThe IBAN to check. Spaces and lowercase are accepted.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and discloses important traits: deterministic offline validation, no network call, no third-party dependency, and per-call pricing. It still does not describe invalid-input behavior or the exact response shape.

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

Conciseness5/5

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

Front-loads the when-to-use condition and then packs the relevant validation, runtime, and cost details without filler. Every sentence contributes useful selection or invocation context.

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

Completeness4/5

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

For a simple one-parameter validation tool with no annotations or output schema, it provides enough context to call correctly: scope, checks performed, offline behavior, and cost. A fuller definition would clarify the returned fields or error handling.

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

Parameters3/5

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

Schema coverage is 100% and the schema already explains that spaces and lowercase are accepted. The description reinforces that only one IBAN is checked at a time, but adds no syntax or format details beyond the schema.

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

Purpose5/5

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

States a specific verb and resource: validates one IBAN. It names the exact checks performed, including country, length, mod-97, SEPA status, and account split, so it is clearly distinct from sibling validators like util_vat or red_email_check.

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 condition: use before attempting payment, and for cleaning account lists one at a time. It does not explicitly name alternatives or exclusions, so it stops short of a full when/when-not guide.

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

util_keccak256Keccak-256 hashAInspect

Use when an agent is building something Ethereum will hash and must get the same digest the chain gets: Keccak-256 of any string or hex payload, with the byte count. It is NOT SHA3-256, and that confusion is the usual reason a selector or a CREATE2 address comes out wrong. Do not use for file digests or API signatures outside Ethereum (/v1/util/sha256) or for a function selector, which is already built for you (/v1/util/selector). $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
inputYesPlain text, or a 0x-prefixed hex payload to hash as bytes.

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden: it discloses the exact algorithm, hex-as-bytes input handling, and payment requirement ($0.005 per call over x402/USDC). It hints that byte count is returned but does not fully define the response structure or error behavior, so it falls short of a 5.

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

Conciseness5/5

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

The description is front-loaded with the use condition and algorithm caveat, followed by exclusions and pricing. Every sentence contributes relevant selection or invocation guidance with no filler.

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

Completeness4/5

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

For a simple one-parameter hashing tool, the description covers invocation-critical context: algorithm identity, input interpretation, alternatives, and payment. Because there is no output schema, the only remaining gap is an exact return shape beyond the vague phrase 'with the byte count'.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already documents that input is plain text or a 0x-prefixed hex payload to hash as bytes. The description restates input types but adds no meaningful syntax or format detail beyond the schema, so the baseline 3 is appropriate.

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

Purpose5/5

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

States a specific operation: Keccak-256 of a string or hex payload, yielding the digest the Ethereum chain would produce. It explicitly distinguishes itself from SHA3-256 and from sibling tools util_selector and util_sha256, so an agent can select it confidently.

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

Usage Guidelines5/5

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

Gives explicit when-to-use guidance for Ethereum hashing that must match chain behavior, and explicit when-not-to-use cases for non-Ethereum file/API digests and function selectors. It names the alternative endpoints /v1/util/sha256 and /v1/util/selector.

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

util_phonePhone number checkAInspect

Use when an agent must decide whether a phone number is usable before writing or calling: checks it offline, normalises it to E.164, works out its country (including the twelve calling codes shared by several countries) and validates the national length against that country's numbering plan, returning the tel: URI and the national dialling form. Data from Google's libphonenumber, no network call, so it cannot fail because a third party is down. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
phoneYesThe phone number, in any usual notation: +34 612 34 56 78, 0034612345678, (612) 345-678.
countryNoOptional ISO 3166-1 alpha-2 country, e.g. ES. Only used when the number carries no country code.

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: offline execution, libphonenumber as the data source, no network dependency so third-party outages cannot fail it, and an explicit price of $0.005 per call paid over x402 in USDC. It also names what comes back (tel: URI and national dialling form), which is more than most definitions of this type disclose.

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 usage trigger is front-loaded, and the offline/cost/return details follow in a logical order. The first sentence is dense with five stacked clauses, but each clause carries distinct information and 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?

No output schema exists, and the description names the key returns (tel: URI, national dialling form) plus the validity decision, which covers the main need. It does not spell out the full result shape or what happens on an unparseable number (error vs. invalid result), a modest gap for a tool with no 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%, so both the phone notation examples and the optional ISO 3166-1 alpha-2 country rule are already documented in the schema. The description reinforces the E.164 normalisation and country-resolution behaviour but adds no parameter-level syntax or edge-case detail beyond the schema, so baseline 3 applies.

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

Purpose5/5

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

States specific verbs and resource: checks usability, normalises to E.164, resolves country (including shared calling codes), validates national length, and returns the tel: URI. An agent can distinguish this from util_iban/util_vat/red_email_check purely from the description.

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 when an agent must decide whether a phone number is usable before writing or calling" gives a clear triggering context. It stops short of naming alternatives or stating when-not-to-use (e.g. batch validation or non-phone identifiers), so it is clear but not fully routing.

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

util_selectorFunction selector and event topicAInspect

Use when an agent is building calldata by hand or filtering logs and needs the exact identifiers: it turns a Solidity signature such as transfer(address,uint256) into its 4-byte function selector and its 32-byte event topic0. Do not use to run the call once you have the calldata (/v1/evm/call) or to hash arbitrary data (/v1/util/keccak256). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
signatureYesCanonical signature: name(type1,type2), no spaces and no argument names.

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that no API key or account is needed and states the price and payment rail ($0.005 per call over x402/USDC). What it doesn't cover is error behavior on malformed signatures or whether both the selector and topic0 are always returned together, which is the only meaningful gap for a paid call.

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

Conciseness5/5

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

Three sentences with zero filler: use case and output first, exclusions second, then cost and auth facts. The endpoint parentheticals and price detail each earn their place by preventing a wrong tool choice or an unexpected charge.

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

Completeness5/5

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

For a one-parameter pure-computation tool with no output schema, the description supplies both return artifacts (4-byte selector, 32-byte topic0), the input format with an example, sibling routing, and the cost/auth profile. An agent has everything needed to invoke it correctly and predict the charge.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds the worked example 'transfer(address,uint256)', which concretely demonstrates the canonical formatting rule (no spaces, no argument names) rather than just restating the field. That example materially reduces the chance of a malformed signature.

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 ('turns a Solidity signature ... into its 4-byte function selector and its 32-byte event topic0') with a concrete example. It also explicitly differentiates itself from evm_call and util_keccak256, so an agent can pick it out of a large sibling list without opening schemas.

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

Usage Guidelines5/5

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

Opens with the exact triggering conditions ('building calldata by hand or filtering logs and needs the exact identifiers') and then gives explicit exclusions with the correct alternative for each ('Do not use to run the call ... (/v1/evm/call)', 'to hash arbitrary data (/v1/util/keccak256)'). Nothing 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.

util_sha256SHA-256 hashAInspect

Use when an agent must prove two payloads are the same byte for byte, or sign an API request: SHA-256 of any string or hex payload, returned as hex and as base64, which are the two forms signatures and content addresses are written in. Do not use for anything Ethereum hashes: the chain uses Keccak-256 (/v1/util/keccak256), which gives a different digest. No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
inputYesPlain text, or a 0x-prefixed hex payload to hash as bytes.

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses both output encodings returned, that no API key or account is required, and the cost ($0.005 per call paid over x402 in USDC). These are the auth/pricing/return-shape facts an agent needs before invoking a paid endpoint.

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

Conciseness4/5

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

The use case and the Keccak-256 exclusion are front-loaded, and every clause is substantive. It is a single dense sentence chain with colon-stacked detail (output forms, pricing), slightly heavier than needed but nothing is filler.

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

Completeness5/5

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

For a one-parameter tool with no annotations and no output schema, the description supplies the return encodings, the auth/payment model, the cost, and the sibling boundary. An agent has everything needed to call it correctly and interpret the result.

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

Parameters3/5

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

Schema description coverage is 100% on the single parameter, so the baseline applies. The description's mention of 'any string or hex payload' mirrors the schema's 'Plain text, or a 0x-prefixed hex payload to hash as bytes' without adding format details, length limits, or encoding nuance beyond it.

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 (SHA-256 of any string or hex payload) and specifies the output forms (hex and base64). It also explicitly distinguishes itself from the sibling util_keccak256 by naming the Ethereum hashing difference, so an agent can tell them apart 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 Guidelines5/5

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

Gives the triggering conditions explicitly (proving byte-for-byte equality of two payloads, or signing an API request) and includes a hard exclusion with the alternative named: 'Do not use for anything Ethereum hashes: the chain uses Keccak-256 (/v1/util/keccak256)'. Both when-to-use and when-not-to-use are present.

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

util_unitsToken unit converterAInspect

Use when an agent must turn an on-chain integer into a human amount, or back, without losing money to rounding: converts between wei, gwei, ether and any token decimals with exact integer maths, no floating point. Being off by a factor of a thousand on decimals is the mistake that costs real funds. Do not use to find a token's decimals (/v1/evm/token-info returns them). No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
toYeswei | gwei | ether, or a number of decimals.
fromYeswei | gwei | ether, or a number of decimals.
amountYesThe quantity, as a string to avoid float loss.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does most of it: exact integer maths / no floating point, no API key, no account, and a concrete price ($0.005 per call via x402 USDC) with the rounding-risk failure mode flagged. The residual gap is the return shape (string vs number) and what happens on an unrecognized unit, which are not stated anywhere.

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 'Use when', then rationale, then exclusion, then cost — a sensible ordering with no wasted sentences. The clause 'Being off by a factor of a thousand on decimals is the mistake that costs real funds' partly repeats the earlier 'without losing money to rounding' point and is the one line that could be trimmed.

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

Completeness4/5

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

For a 3-param, no-annotation, no-output-schema utility this covers the operational essentials: cost, auth, precision guarantees and a redirect to the sibling that supplies decimals. An agent still has to guess the response format, which is the only meaningful 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 all three parameters are self-documenting, including the reason `amount` is a string, so the schema already does this work. The description restates the accepted unit vocabulary ('wei, gwei, ether, or decimals') but adds no format example or edge-case guidance beyond it — 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?

Specific verb+resource: 'converts between wei, gwei, ether and any token decimals with exact integer maths'. It also carves out a clear boundary against evm_token_info, so an agent can place it among siblings like fx_convert, time_convert and util_hex without opening a schema.

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

Usage Guidelines5/5

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

States the exact triggering condition ('turn an on-chain integer into a human amount, or back') and an explicit exclusion with the alternative named ('Do not use to find a token's decimals (/v1/evm/token-info returns them)'). Both when-to-use and when-not-to-use are present.

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

util_uuidUUID v4 generatorAInspect

Use when an agent needs ids that must not collide: cryptographically random UUID v4s, up to 100 in one call, straight from the platform CSPRNG. For idempotency keys, request ids and correlation ids, where a repeat means a duplicate charge or a lost trace. Do not use for a secret or a password (/v1/random/password reports its entropy) or for a hash (/v1/util/sha256). $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
countNoHow many to generate, 1-100. Defaults to 1.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the randomness source (platform CSPRNG, cryptographically random rather than pseudo-random), the per-call ceiling, the downstream cost consequence of duplicates, and the payment model ($0.005 per call via x402/USDC), which is effectively an auth/prerequisite requirement. It stops short of describing the return shape (array vs single string when count>1) and what happens on count<1 or >100.

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

Conciseness5/5

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

Front-loads the use case, then the concrete applications, then the exclusions, then cost. Three sentences with no filler; every clause adds 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?

For a one-optional-parameter, no-output-schema utility, the description covers purpose, exclusions, alternatives, limit, and payment. The only material gap is the return format for multi-count calls, which the agent must infer since there is no 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% and the single count parameter is already documented with range and default, so the schema does the heavy lifting. The description only reinforces the 1-100 ceiling ('up to 100 in one call'); it adds no syntax or behavior 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+resource (generate cryptographically random UUID v4s) plus the scope constraint (up to 100 per call, platform CSPRNG). It immediately distinguishes itself from random_password and util_sha256 by naming those siblings as out of scope.

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

Usage Guidelines5/5

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

Explicit when-to-use ('Use when an agent needs ids that must not collide', idempotency keys, request ids, correlation ids) and explicit when-not ('Do not use for a secret or a password', 'or for a hash') with the alternative tool for each. The condition that selects a sibling over this tool is spelled out.

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

util_vatEU VAT number checkAInspect

Use when an agent must decide whether a company's tax number is usable before invoicing: validates one EU VAT number offline - country prefix, the format that country uses, and the published check-digit algorithm where one exists. Says explicitly whether the check digits were verified or only the format. Deterministic, no network call. Built for cleaning a list of companies one at a time. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
vatYesThe VAT number, with or without the country prefix and with any spacing.

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses that validation is offline and deterministic with no network call, that coverage is bounded to check-digit algorithms 'where one exists', that the response distinguishes check-digit verification from format-only, and it discloses the $0.005 per-call x402/USDC cost. Those are exactly the traits an agent needs before committing a paid call.

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

Conciseness5/5

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

Front-loaded with the trigger condition, then scope, then cost. Every sentence carries distinct information - coverage limits, determinism, result semantics, pricing - with no restatement of the name or 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?

There is no output schema, so the description must convey return semantics, and it does so at a high level by promising an explicit distinction between check-digit and format-only outcomes. It does not say what happens for a malformed or non-EU input (error vs. invalid verdict), which is the one piece an agent would still have to discover by calling.

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

Parameters4/5

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

Only one parameter, and the schema already covers it at 100% including the tolerance for missing country prefix and embedded spacing. The description adds no syntax detail beyond the schema, but with a single fully documented parameter the baseline of 4 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 (validates) and resource (one EU VAT number) plus the exact scope of the check: country prefix, country format, and published check-digit algorithm. It is clearly distinguishable from sibling util_iban and the red_* lookup tools, which do network-based validation of other identifiers.

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 an explicit decision context ('when an agent must decide whether a company's tax number is usable before invoicing') and a usage pattern ('cleaning a list of companies one at a time'). It does not name an alternative tool or a when-not condition, so it falls short of the top band but leaves no ambiguity about the situation it is for.

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

util_verify_signatureVerify wallet signatureAInspect

Use when an agent must decide whether whoever is talking to it really controls a wallet: it recovers the address that signed a personal_sign (EIP-191) message and says whether it matches the one you expected. This is the check that turns a claimed address into a proven one. Do not use for EIP-712 typed data or for a contract signature (ERC-1271): this route verifies personal_sign. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
messageYesThe exact message that was signed.
expectedNoOptional address to compare the recovered signer against.
signatureYes65-byte 0x signature from personal_sign.

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the burden well: it discloses the payment model and cost ('$0.005 per call, paid over x402 (USDC)'), which is a real prerequisite an agent must know before calling. It also states the functional behavior (recover + compare). It stops short of saying what happens on a malformed signature (error vs. false), which is the main 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.

Conciseness5/5

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

Three sentences, front-loaded with the trigger condition, then the exclusions, then the cost. No sentence is redundant; even the pricing sentence carries 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?

No output schema and no annotations, so the description must explain returns — and it does ('recovers the address... says whether it matches'). All three params are schema-documented. The only omission is failure-mode behavior for an invalid or wrong-length signature.

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; the description earns one above that by clarifying that the comparison against the expected address is the point of the tool and that the recovered signer is produced regardless, giving the optional 'expected' parameter meaning beyond its schema line.

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

Purpose5/5

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

Specific verb and resource: 'recovers the address that signed a personal_sign (EIP-191) message and says whether it matches the one you expected.' It explicitly bounds itself against EIP-712 typed data and ERC-1271 contract signatures, which no sibling tool covers, so the agent can distinguish it immediately.

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

Usage Guidelines5/5

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

Gives an explicit trigger ('use when an agent must decide whether whoever is talking to it really controls a wallet') and explicit exclusions ('Do not use for EIP-712 typed data or for a contract signature (ERC-1271)'). The when/when-not pair is unambiguous.

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

weather_forecastMulti-day forecast from the official national serviceAInspect

Use when an agent is choosing a date and has to justify the choice: a day-by-day forecast for any point on Earth, up to nine days out, from the Norwegian Meteorological Institute's official model. Each day carries its minimum and maximum temperature, total precipitation, strongest wind and the midday symbol, with the exact model run and the institute's declared units. $0.01 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
latYesLatitude in decimal degrees, -90 to 90. Rounded to 4 decimals.
lonYesLongitude in decimal degrees, -180 to 180. Rounded to 4 decimals.
daysNoHow many days to return, 1-9. Defaults to 5. The last day is usually partial and says so.

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does substantial work: it discloses the data source and model, that the last day may be partial, the declared units, the exact model run, and a per-call price with payment rail (x402/USDC). What it omits is failure behavior (invalid coordinates, outages) and whether the paid call is metered or cached, which matters for an agent making cost-sensitive decisions.

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

Conciseness4/5

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

Two sentences with no filler; the selection trigger comes first and the data/pricing detail follows in a dense but readable clause chain. Slightly over-packed — the model-run and units detail could be compressed — but nothing is redundant with 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?

There is no output schema, so the description usefully enumerates the per-day return fields (min/max temperature, precipitation, strongest wind, midday symbol) plus units and model provenance. It leaves the response envelope and error cases unstated, which is a modest gap for a paid, no-output-schema tool.

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

Parameters3/5

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

Schema coverage is 100%, so lat/lon/days ranges and the default are already documented. The description only adds 'any point on Earth' (global coverage) and the nine-day ceiling, both of which are already implied by the schema bounds — baseline 3 is appropriate where the schema does the heavy lifting.

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

Purpose5/5

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

States a specific verb and resource (day-by-day weather forecast), plus scope: any point on Earth, up to nine days, sourced from the Norwegian Meteorological Institute. The 'multi-day' framing implicitly separates it from the sibling weather_now, which is the only other weather tool in the list.

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?

Opens with an explicit usage trigger ('when an agent is choosing a date and has to justify the choice'), which gives a concrete decision context rather than generic guidance. It stops short of naming the alternative (weather_now) or stating when not to use this tool, so it is clear but not complete routing guidance.

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

weather_nowCurrent weather from the official national forecastAInspect

Use when an agent must act on the weather right now and be able to cite it: current conditions for any point on Earth, from the Norwegian Meteorological Institute's official model, not an aggregator. Returns temperature, humidity, pressure, wind speed and bearing, cloud cover and the next hour's precipitation, plus the exact model run it came from and the units the institute itself declares, so the figure can be checked. $0.01 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
latYesLatitude in decimal degrees, -90 to 90. Rounded to 4 decimals, which is what the institute accepts.
lonYesLongitude in decimal degrees, -180 to 180. Rounded to 4 decimals.
hoursNoHow many hourly steps to include after the current one, 0-24. Defaults to 6.

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations present, the description carries the full burden and does so unusually well: it discloses the data provenance (institute's own model run), that units are as the institute declares, and the commercial model ($0.01 per call via x402/USDC). Cost and payment method are exactly the kind of behavior an agent needs before calling and cannot get from structured fields.

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

Conciseness4/5

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

Front-loaded with the usage trigger, then returns, then provenance, then price — a sensible ordering with no filler. The 'not an aggregator' clause is slightly editorial but it does convey a meaningful trust distinction, 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?

There is no output schema, so the description must describe returns, and it enumerates temperature, humidity, pressure, wind speed/bearing, cloud cover, next-hour precipitation, plus model run and units. The main omission is how the 'hours' steps surface in the response and roughly how fresh 'now' is.

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

Parameters3/5

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

Schema description coverage is 100%, so lat/lon/hours are already fully documented, which sets the baseline at 3. The description adds nothing about parameters and notably never mentions the 'hours' parameter, describing only 'the next hour's precipitation', which understates the 0–24 hourly-step capability 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 concrete verb and resource — 'current conditions for any point on Earth' — and names the authoritative data source (MET Norway official model, explicitly 'not an aggregator'). An agent immediately knows this is a point-observation lookup. It does not name the sibling weather_forecast, so the now-vs-future split must be inferred from the word 'current'.

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 when an agent must act on the weather right now and be able to cite it' gives a clear, actionable trigger condition, including the citability requirement. It stops short of an explicit exclusion (e.g. 'for future days use weather_forecast'), so the alternative is only implied.

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

web_readRead a web page as markdownAInspect

Use when an agent needs what a page SAYS and not its HTML: it fetches one URL and returns the readable page as markdown - title, description, headings, paragraphs and links with their destinations, plus the canonical URL, language and word count. Boilerplate, scripts and navigation are stripped. Built for going through a list of links one at a time. No API key, no account. $0.01 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
urlYesThe page to read. http and https only; private and loopback addresses are refused.
linksNoAlso return the outbound links as a list. Defaults to false.

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations the description carries the full load and does so: it enumerates what the return contains (title, headings, paragraphs, links with destinations, canonical URL, language, word count), states boilerplate/scripts/navigation are stripped, and discloses the cost model ($0.01/call via x402 USDC, no key or account). That is unusually rich disclosure for a read tool.

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

Conciseness4/5

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

Front-loaded with the 'Use when' clause and packed with useful detail, with no filler sentences. It is dense and slightly long, but nearly every clause conveys return shape, behavior, or cost.

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?

No output schema exists, so the description must describe return values, which it does in detail, and the input schema fully covers parameters. Nothing an agent needs to select or call this tool is missing.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters are already documented, and the description only loosely echoes them (one URL, links with destinations). Baseline 3 is appropriate; it adds little beyond the schema.

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

Purpose5/5

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

States a specific verb and resource plus scope ('fetches one URL and returns the readable page as markdown') and explicitly contrasts with raw HTML, which separates it from a fetch/status-style sibling like web_status.

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 when an agent needs what a page SAYS and not its HTML" gives an explicit triggering condition, and "Built for going through a list of links one at a time" clarifies the intended pattern. No sibling is named as an alternative and no exclusion cases are spelled out, keeping it below a 5.

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

web_statusURL status and redirect chainAInspect

Use when an agent must decide whether a link is alive and where it really lands, without paying for the page: it checks one URL without downloading it - HTTP status, the full redirect chain hop by hop with the code of each, the final URL, whether it ends on HTTPS, content type and size, and the security headers the server sends. Built for going through a list of links one at a time. No API key, no account. $0.005 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
urlYesThe URL to check. http and https only; private and loopback addresses are refused.
methodNoHEAD (default) or GET. Some servers refuse HEAD and only answer GET.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries full burden and does well: it discloses that no download occurs, lists returned data, mentions no API key, and specifies pricing ($0.005 per call, x402/USDC). It omits rate limits or error-handling behavior, but covers key operational traits.

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 a single dense sentence that front-loads the core use case and then lists returned data. Every clause earns its place, though the sentence is long and could be split for readability without losing content.

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?

No output schema exists, so the description must explain return values; it does so thoroughly by listing HTTP status, redirect chain with codes, final URL, HTTPS status, content type/size, and security headers. It also covers cost and payment method, making it complete for an agent to invoke correctly.

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

Parameters4/5

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

Schema coverage is 100%, so both parameters are already documented. The description adds meaning by clarifying 'one URL' (single, not batch) and 'without downloading' (implying the default HEAD method), but does not elaborate on the method parameter 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 explicitly states the tool checks a URL without downloading it, enumerating specific outputs (HTTP status, redirect chain, final URL, HTTPS, content type/size, security headers). It clearly distinguishes itself from web_read by contrasting 'without paying for the page', making the resource and scope unambiguous.

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

Usage Guidelines4/5

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

The opening clause 'Use when an agent must decide whether a link is alive and where it really lands, without paying for the page' gives a clear use case. The phrase 'Built for going through a list of links one at a time' adds contextual usage guidance, but the description does not explicitly name a sibling alternative (e.g., web_read) or state when not to use it.

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

x402_recommendWhich x402 API should I callAInspect

Use when your agent has a task it cannot do itself and must pick which paid x402 endpoint to call. Returns up to 5 ranked candidates with URL, price, network, method and the seller's own example body - plus the evidence: we challenged it ourselves and it answered 402, and its real payer and repeat counts. Never recommends our own endpoints: the index excludes them by construction. If nothing qualifies you get the near misses and why, never filler. Deterministic, no model. $0.01 per call, paid over x402 (USDC).

NameRequiredDescriptionDefault
maxNoHow many candidates to return, 1 to 5. Default 3.
needYesThe task, in plain words. Scored against the name, tags, description and URL of every verified endpoint in the index.
maxPriceNoOptional ceiling in USD per call, for example 0.01. Candidates above it are dropped.

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses the return shape (up to 5 ranked candidates with URL, price, network, method, example body), the evidence backing each pick (challenged with a live 402, real payer and repeat counts), an exclusion rule (never its own endpoints), failure behavior (near misses with reasons, no filler), determinism, and a stated $0.01 USDC cost via x402.

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 usage condition is front-loaded and most sentences carry distinct information (cost, exclusions, failure mode). A few phrases lean promotional ("never filler", "by construction") and could be trimmed without losing meaning.

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?

No output schema and no annotations exist, yet the description describes the returned fields, the guarantee of evidence, the empty-result behavior, and the payment model. An agent has everything needed to decide to call it and to interpret the result.

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

Parameters3/5

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

Schema coverage is 100%, so every parameter is already documented, which sets the baseline at 3. The description adds no syntax or format guidance beyond the schema, though it does clarify that `need` is scored against name, tags, description and URL through the schema itself rather than the prose.

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: pick which paid x402 endpoint to call for a task the agent cannot do itself. This is clearly distinguishable from siblings like catalog (browsing) and do (execution), since the description establishes it as a recommendation layer over the index.

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 when your agent has a task it cannot do itself and must pick which paid x402 endpoint to call" gives a clear triggering condition. It doesn't name sibling alternatives such as catalog or do to say when those are preferable, 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • Addedevm_can_i_send
    • Addedevm_gas_window
    • Changedevm_verdict1 field changed
      • addedInput schema / properties / requestKey
        Added value: +{
        +  "description": "Optional idempotency key you choose, 8 to 128 characters of letters, digits, dot, dash, colon or underscore. Send the same key with the same input and you get your first answer back and are NOT charged again: the repeat comes back with HTTP 409, the stored answer in the body and \"charged\": false, because any status at or above 400 is what cancels the payment on this service. Keys are bound to the paying address and kept 24 hours. Reusing a key with a different input is rejected, also without charge.",
        +  "type": "string"
        +}
    • Addedmessages
    • Addedsecurity_prompt_injection
    • Addedx402_recommend
  2. 1 tool update
    • Changedchat_completions2 fields changed
      • changedInput schema / properties / messages / description
        Previous value: -"The conversation, as in the OpenAI API: [{\"role\":\"system|user|assistant\",\"content\":\"...\"}]. In a GET, pass it as JSON in the query string."New value: +"The conversation, as in the OpenAI API: [{\"role\":\"system|user|assistant\",\"content\":\"...\"}]. In a POST, send it as a real JSON array, exactly as an OpenAI client does; in a GET, pass that same JSON as text in the query string. Both are accepted."
      • changedInput schema / properties / messages / type
        Previous value: -"array"New value: +"string"
  3. 1 tool update
    • Addedchat_completions
  4. 1 tool update
    • Addeddo
  5. 1 tool update
    • Addedevm_verdict
  6. 1 tool update
    • Addedai_document
  7. 1 tool update
    • Removedai_image_pro
  8. 4 tool updates
    • Addedai_image_describe
    • Addedai_image_edit
    • Addedai_image_pro
    • Addedai_image_styled
  9. 1 tool update
    • Changedevm_chains1 field changed
      • addedInput schema / properties / chain
        Added value: +{
        +  "description": "Optional: check just one. base | ethereum | polygon | arbitrum | optimism. All of them when omitted.",
        +  "type": "string"
        +}
  10. 1 tool update
    • Addedai_translate
  11. 3 tool updates
    • Addedai_image
    • Addedai_speech
    • Addedai_transcribe

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources