Skip to main content
Glama

Finekot API

Server Details

89 pay-per-call tools for agents: screenshots, scraping, PDF, OCR, TTS, STT, invoices, KYC, utils

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

TDQS

B3.4/5.0

Scored across 99 tools

Disambiguation3/5

The individual descriptions are detailed, so many tools can be told apart, but the 99-tool surface has several overlapping clusters: document extraction (ocr, pdf_text, table_extract, bank_statement_parse, invoice_parse, purchase_order_extract), web/search (web_search, web_answer, url_to_markdown, browser, screenshot), and media pipelines. Agents will often need to disambiguate by reading long descriptions rather than by tool name alone.

Naming Consistency3/5

All names are lowercase snake_case, which avoids style chaos, but the convention is mixed: verb_noun (extract_json, remove_background), noun_verb (bank_statement_parse, image_moderate), and bare service nouns (qr, fx, hash, uuid, services). The set is readable, but there is no single predictable naming pattern.

Tool Count1/5

99 tools is an extreme count for a single MCP server and far exceeds an agent-friendly scope. Even though the platform is broad, the set behaves like an API catalog rather than a cohesive tool surface, making selection and routing costly.

Completeness4/5

Coverage is unusually broad across documents, media, text, web, validation, data conversion, and podcast workflows, with several tools supporting full operation sets. There are still minor gaps and uneven lifecycle depth across the many sub-domains, but the surface avoids most obvious dead ends.

Available Tools

99 tools
accountBInspect

Balance and recent usage of the API key in Authorization: Bearer.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does usefully disclose an auth requirement (the API key supplied via the Authorization: Bearer header) and implies a read-only lookup of balance and usage, but it says nothing about rate limits, whether the call is free or metered, or what happens when the key is missing or invalid.

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

Conciseness4/5

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

One short sentence with no filler, and the core information (balance plus recent usage) is front-loaded. It would read better as a complete clause such as "Returns the balance...", but nothing is wasted.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and with zero parameters the calling contract is simple. Still, for a tool whose only failure mode is authentication, the description never states the prerequisite explicitly or what the agent should do if the key is absent, leaving a gap against the tool's actual complexity.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. The description's only added semantic is that the account identity is derived implicitly from the bearer token rather than passed as an argument, which is genuinely helpful for a parameterless tool.

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

Purpose3/5

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

The phrase "Balance and recent usage of the API key" identifies the resource and the two data points returned, so an agent can tell it is an account/quota lookup rather than a compute utility. However it is a noun fragment with no verb, and nothing distinguishes it from neighbours like 'services' or 'uptime' that could also be construed as account/status lookups.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, and no named alternative. The zero-parameter nature makes invocation trivially easy, but an agent is left to infer that this is the tool for quota or credit checks rather than being told so.

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

bank_statement_parseAInspect

Bank statement PDF, scan or photo → account, IBAN, period, opening and closing balance and every transaction (date, value date, description, counterparty, reference, signed amount, running balance). Arithmetic is checked deterministically: opening + movements = closing, running balance line by line (wrong signs are corrected and flagged), printed credit/debit totals, IBAN checksum. categorize=true adds an accounting category per line; csv=true also returns a CSV file. Up to 30 pages, billed per started 10 pages. The file is not stored. Cost €0.1 per statement (up to 10 pages), charged to the API key in Authorization: Bearer. Parameters — url: statement url (PDF or image); categorize: bool — add a category per transaction (default false); csv: bool — also return transactions as a CSV file (default false); language: OCR languages for scans (default en,de,fr,es,it,nl,pl,uk).

NameRequiredDescriptionDefault
csvNo
urlNo
languageNo
categorizeNo

Output Schema

NameRequiredDescription
resultYes

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: it discloses deterministic arithmetic checks (opening + movements = closing, line-by-line running balance, credit/debit totals, IBAN checksum), that wrong signs are silently corrected and flagged, that the file is not stored, the page cap, and the exact price (€0.1 per statement, charged to the Bearer API key). Those are precisely the mutation/cost/retention facts an agent needs before calling a paid endpoint.

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

Conciseness4/5

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

Front-loaded with the transformation and the output payload, followed by validation behavior, then limits/cost, then parameters — a sensible order with no filler sentences. It is dense and long, but the length is justified by 0% schema coverage; the arrow-chain phrasing and the parameter recap add only mild redundancy.

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

Completeness5/5

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

For a paid, unannotated extraction tool, everything material is present: input formats, extracted fields, validation semantics, correction/flagging behavior, page limit, pricing model and billing target, data-retention stance, and per-parameter defaults. An output schema exists, so the enumerated return fields are a bonus rather than a gap-filler.

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 0%, so the description must compensate, and it documents all four parameters with meaning and defaults (url source, categorize, csv, language with a concrete default list en,de,fr,es,it,nl,pl,uk). The one weakness is a type conflict: the description frames categorize and csv as booleans ("categorize=true", "csv=true") while the schema declares them as strings, which could lead an agent to send the wrong value type.

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

Purpose5/5

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

"Bank statement PDF, scan or photo → account, IBAN, period, opening and closing balance and every transaction" names a concrete input class and enumerates the exact output fields, so an agent can tell instantly that this is statement-specific extraction rather than generic OCR (ocr) or a different document type (invoice_parse, pdf_text).

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

Usage Guidelines4/5

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

Accepted inputs (PDF, scan, photo), the 30-page ceiling, and the per-10-page billing implicitly tell the agent when this tool fits, and the `language` parameter signals the scan/OCR case. It stops short of an explicit exclusion or sibling routing (e.g. "use ocr for non-financial documents, pdf_text for raw text"), so the alternative selection 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.

barcodeAInspect

op=read (default): decodes every linear and 2D symbology from a photo or scan — EAN-13/8, UPC-A/E, Code128/39/93, ITF, Codabar, QR, Micro QR, Data Matrix, PDF417, Aztec — returns text, format and the 4 corner points per code found; found:0 if none. op=generate reuses the qr service's generator (same type/format params). Cost €0.001 per code, charged to the API key in Authorization: Bearer. Parameters — op: read (default) | generate; url: image url (op=read); formats: comma list of symbologies to limit the search to, e.g. qrcode,ean13 (default all); data: text to encode (op=generate); type: barcode type (op=generate), see qr service.

NameRequiredDescriptionDefault
opNo
urlNo
dataNo
typeNo
formatsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.6/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: it discloses pricing (€0.001 per code), the required Authorization: Bearer API key, the per-code return payload (text, format, 4 corner points), and the empty-result behavior ('found:0 if none'). That is unusually complete behavioral disclosure for a tool with zero annotation coverage.

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

Conciseness4/5

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

Content is dense and front-loaded: the read mode, its outputs, and the generate mode come before the parameter glossary. It is one long run-on passage with semicolons, which makes scanning slightly harder, but essentially every clause carries information (symbology list, cost, auth, defaults).

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 dual-mode tool with five optional parameters, an output schema, and no annotations, the definition covers modes, parameter roles, cost, auth, and no-match behavior — everything needed to call it correctly. Remaining gaps (input image limits, what generate returns) are minor given the output schema exists.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate and largely does — it explains op, url, formats (with a concrete example 'qrcode,ean13' and 'default all'), and data. The gap is 'type: barcode type (op=generate), see qr service', which defers the actual valid values to an external tool description rather than enumerating them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 two concrete verbs (decode, generate) with their resources and enumerates the concrete symbologies handled (EAN-13/8, UPC-A/E, Code128, QR, Data Matrix, PDF417, Aztec). It also distinguishes the generate path by pointing at the qr service's generator, so an agent can tell exactly what each mode 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 Guidelines4/5

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

It clearly maps parameters to modes ('url: image url (op=read)', 'data: text to encode (op=generate)') and declares read as the default, which is enough for correct mode selection. It stops short of explicit when-to-use/when-not guidance against the sibling qr tool beyond 'reuses the qr service's generator', so no real exclusion advice is given.

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

base64AInspect

op=encode text to base64, op=decode back to text (or hex + binary:true if the result isn't valid UTF-8). url_safe switches to the - _ alphabet. Cost €0.0005 per call, charged to the API key in Authorization: Bearer. Parameters — op: encode (default) | decode; text: text to encode, or base64 to decode; url_safe: bool, default false.

NameRequiredDescriptionDefault
opNo
textNo
url_safeNo

Output Schema

NameRequiredDescription
resultYes

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 per-call cost (€0.0005), the billing key in Authorization: Bearer, the url_safe alphabet switch, and the fallback output when decoded bytes are not valid UTF-8. It does not state what happens when decode receives invalid base64, which is the main behavioral gap.

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

Conciseness4/5

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

Front-loaded with the core operation, then variants, then cost, then a parameter recap — good ordering with little filler. The telegraphic 'op=encode text to base64' phrasing is terse enough to read slightly awkwardly, and the parameter list partially repeats the first 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?

An output schema exists, so return values needn't be explained, and cost, auth, and all parameters are covered. The remaining gap is error behavior — invalid base64 on decode, or invalid op values — which an agent would need to handle.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it documents all three parameters including op values and defaults. However, it calls url_safe a 'bool, default false' while the schema types it as string with default null, a type/default mismatch that could mislead an agent.

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

Purpose5/5

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

The first clause states a specific verb and resource: 'op=encode text to base64, op=decode back to text', and immediately names the non-UTF-8 variant behavior. This distinguishes it from adjacent siblings such as hash, uuid, and compress without ambiguity.

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

Usage Guidelines3/5

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

It gives in-tool guidance on op selection (encode is default, decode for reversing) and when the hex + binary:true path applies. It never says when to prefer this tool over siblings like hash or compress, and gives no guidance on prerequisites beyond the auth header mention.

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

browserAInspect

A real Chromium session per call: open a URL and run up to 25 steps (click, fill, press, select, scroll, wait, extract). Returns page text, step results and a state object you pass back to continue logged-in. 90 s per call. Cost €0.01 per session-minute, charged to the API key in Authorization: Bearer. Parameters — url: start url; steps: JSON array, e.g. [{"do":"fill","selector":"#q","text":"x"},{"do":"press","key":"Enter"},{"do":"extract","selector":"h3"}]; state: state object from a previous call (cookies, localStorage); output: json (default) | screenshot; text: bool, return page text (default true); width: 320–1920; height: 240–1920; locale: e.g. de-DE.

NameRequiredDescriptionDefault
urlNo
textNo
stateNo
stepsNo
widthNo
heightNo
localeNo
outputNo

Output Schema

NameRequiredDescription
resultYes

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 substantial work: per-call session isolation, a 90-second wall clock, 25-step cap, per-session-minute pricing, and the fact that billing is charged against the API key in the Authorization header. It omits failure/error behavior and what happens when the step limit or timeout is hit mid-sequence, which keeps it from a 5.

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

Conciseness4/5

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

The most decision-relevant facts — what it is, step budget, session continuity, cost — are front-loaded before the parameter dump, and no sentence is filler. The parameter section is a single dense run-on, which is efficient but slightly harder to scan than a structured list.

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 an unannotated, unauthenticated-looking 8-parameter browser automation tool, it covers cost, auth mechanism, time/step limits, and return shape; an output schema exists so return values need not be fully spelled out. What remains thin is the failure surface — timeouts mid-step, invalid selectors, and whether steps are atomic — which an agent would want before committing to a session.

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

Parameters5/5

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

Schema description coverage is 0% and every property is named, so this text is doing real work: it explains the step DSL with a concrete example array, clarifies that state carries cookies and localStorage, enumerates output values (json default vs screenshot), and gives bounds and defaults for width/height/text/locale. It also implicitly corrects the bare schema by stating text is a bool and width/height are 320–1920 / 240–1920.

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

Purpose5/5

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

The first clause names a concrete verb and resource — 'open a URL and run up to 25 steps' in 'a real Chromium session per call' — and enumerates the supported actions (click, fill, press, select, scroll, wait, extract). This is specific enough to separate it from one-shot siblings like screenshot or url_to_markdown, which do not execute interactive step sequences.

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 operative context: pass a state object back to continue a logged-in session, and the 90 s / 25-step budget tells the agent when a task is too large for one call. It does not name an explicit alternative for simpler cases (e.g. static fetching) or state when not to use it, so it stops short of the 5 bar.

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

captionAInspect

Alt text ≤125 chars, a 2–3 sentence caption, tags, text found in the image and dominant colors. For catalogs, accessibility and SEO. Cost €0.003 per image, charged to the API key in Authorization: Bearer. Parameters — url: image url; language: output language (default en); context: what the image is for.

NameRequiredDescriptionDefault
urlNo
contextNo
languageNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations at all, the description carries the full behavioral burden, and it does disclose several important traits: cost of €0.003 per image, the auth mechanism (API key in the Authorization: Bearer header), and the shape of what comes back. That is genuinely useful context an agent could not get from structured fields. Gaps remain around failure modes and operational constraints – what happens with an unreachable or oversized URL, whether calls are synchronous, or any rate limits – which matter for a paid per-call 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 description is front-loaded with outputs, then use cases, then pricing/auth, then parameters – a sensible order with no filler sentences. The trailing parameter list is slightly schema-duplicative, but it is justified given 0% schema coverage, 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?

For a 3-parameter, zero-annotation tool, the definition covers the essentials: what is produced, who it is for, what it costs, how to authenticate, and what each parameter means. An output schema exists, so return values need not be spelled out, and the description's summary of outputs is a bonus rather than a substitute. Only error handling and input constraints (URL accessibility, image size) are 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 description coverage is 0%, so the description must compensate, and it does: it defines url as the image URL, language as the output language with a default of 'en', and context as what the image is for. This adds real meaning beyond the bare typed fields. It stops short of clarifying that all three are optional/nullable and whether url is effectively required for a useful result.

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

Purpose4/5

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

The description names a concrete operation on a specific resource: producing alt text (≤125 chars), a 2–3 sentence caption, tags, in-image text and dominant colors from an image. That is far more informative than the bare name 'caption'. It does not, however, distinguish itself from siblings with overlapping output such as ocr (in-image text) or color_palette (dominant colors), leaving the agent to guess which tool to pick.

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

Usage Guidelines3/5

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

The phrase 'For catalogs, accessibility and SEO' gives implied usage contexts, which is more than nothing. But there is no explicit when-to-use versus when-not guidance and no routing to alternatives like ocr for pure text extraction or image_moderate for safety checks, so the agent must infer boundaries.

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

change_monitorAInspect

Snapshot the main text of a page under your key; each check returns whether it changed, added and removed lines, similarity. Schedule calls from your side. Cost €0.002 per check, charged to the API key in Authorization: Bearer. Parameters — url: page url; op: check (default) | list | delete; selector_text: start comparing from this text; js: bool, render with Chromium (default true).

NameRequiredDescriptionDefault
jsNo
opNo
urlNo
selector_textNo

Output Schema

NameRequiredDescription
resultYes

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 substantial work: it discloses state scoping ("under your key"), authentication (Bearer token in Authorization), and cost (€0.002 per check). It also reveals that js defaults to true, meaning Chromium rendering is the slow/expensive default. Gaps remain on rate limits, what 'delete' destroys, and pagination for 'list'.

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 change-detection behavior, cost/auth model, and parameter glossary are packed into three sentences with no filler, and the core behavior plus return shape are front-loaded before the parameter list.

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

Completeness4/5

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

An output schema exists, so return values need not be spelled out, yet the description still summarizes them helpfully. Cost and auth context are covered; the only shortfall is that 'list' and 'delete' operation semantics are named but not described, leaving an agent unsure what those modes do or require.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: all four parameters are explained with defaults, and op is given an inline enumeration (check default | list | delete) that the schema lacks entirely. One inconsistency: the description calls js a bool while the schema types it as string.

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

Purpose4/5

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

The description uses a concrete verb and resource: it snapshots a page's main text and reports change status, added/removed lines, and similarity. That is clearly distinct from siblings like screenshot, browser, or text_diff, though it never names those siblings to reinforce the distinction.

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?

"Schedule calls from your side" is a genuine usage hint, making clear the tool is stateless-triggered and the caller owns the polling cadence, and the op values imply three usage modes. However, it never states when to prefer this over alternatives such as text_diff or url_to_markdown, nor what prerequisites exist for 'list' and 'delete'.

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

chapters_genAInspect

Timestamped chapters from a podcast transcript: 5-15 chapters with start, title and a one-line summary, in the transcript's language or yours. Input: segments JSON (with real timing), plain text (timing estimated) or audio_url/file (through stt). Cost €0.04 per episode, charged to the API key in Authorization: Bearer. Parameters — transcript: text or JSON [{start,end,text}] segments; audio_url: audio/video url (alternative); lang: output language (default transcript's own).

NameRequiredDescriptionDefault
langNo
audio_urlNo
transcriptNo

Output Schema

NameRequiredDescription
resultYes

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 load and does disclose non-obvious behavior: a per-episode charge of €0.04 billed to the Bearer token, and the fact that timing is estimated for plain text versus real for segments JSON. It stops short of failure modes, limits, or determinism.

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

Conciseness4/5

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

Purpose comes first, then input modes, then cost, then a compact parameter block — a sensible front-loaded order with no filler. It is written in dense fragment style with em-dashes, which is efficient but slightly run-on in the parameter sentence.

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

Completeness5/5

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

An output schema exists so return values need not be explained, and the prose still sketches them. Inputs, pricing, auth, output language behavior, and timing fidelity are all covered — nothing an agent needs in order to call this correctly is missing.

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

Parameters4/5

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

Schema coverage is 0% (bare titles and types), so the prose must compensate and largely does: it explains transcript accepts either raw text or a [{start,end,text}] segment array, that audio_url is the alternative path, and that lang defaults to the transcript's own language. Minor gap: it mentions 'audio_url/file' though no file parameter exists.

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

Purpose5/5

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

The first clause names a specific verb+resource ('Timestamped chapters from a podcast transcript') and quantifies the output shape (5-15 chapters with start, title, one-line summary). This is unmistakably distinct from siblings like shownotes_gen, summarize, or subtitles.

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 enumerates the three input routes and their tradeoffs: segments JSON gives real timing, plain text yields estimated timing, and audio_url goes through STT. That is strong selection guidance for input mode, but there is no explicit when-not-to-use or pointer to a sibling when a plain summary is wanted.

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

chart_renderAInspect

Chart.js configuration (plain JSON — type, data, options; no callbacks, JSON.parse can't execute code) rendered to PNG or SVG. Each call spawns its own Node process, no server state kept between calls. Cost €0.002 per chart, charged to the API key in Authorization: Bearer. Parameters — config: Chart.js configuration object (JSON): {type, data, options, ...}; format: png | svg (default png); width: int 100–4000 (default 800); height: int 100–4000 (default 600); background: #rrggbb or 'transparent' — canvas fill behind the chart (default #ffffff).

NameRequiredDescriptionDefault
widthNo
configNo
formatNo
heightNo
backgroundNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/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 that each call spawns its own Node process with no state retained, that callbacks are unsupported because the payload is JSON.parse'd (a security/sandbox constraint), and that each chart costs €0.002 billed to the Bearer token. Cost and auth requirements are exactly the operational facts an agent needs before invoking.

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

Conciseness4/5

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

The description is front-loaded with purpose and behavior, then parameters in a compact run-on list. Dense but nearly all content earns its place; the opening parenthetical is slightly awkward, and splitting the parameter list into separate sentences would improve 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?

For a 5-parameter renderer with no annotations, the description covers statelessness, cost, auth, sandbox limits, and every parameter's type, default and range. An output schema exists, so return-value detail is correctly omitted. Nothing essential is missing except resolving the int-versus-string ambiguity.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate, and it mostly does: it gives the config shape ({type, data, options}), the format enum with default, 100–4000 ranges and defaults for width/height, and background syntax with default. But it labels width and height as integers while the schema types them as strings, a mismatch that could cause malformed calls. This mismatch drags the score down.

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 action and object: it takes a Chart.js configuration and renders it to PNG or SVG. An agent can immediately tell this produces a chart image rather than a diagram or a screenshot. It does not, however, name a sibling such as diagram_render to draw the boundary explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: the agent can infer this is the tool for rasterizing Chart.js configs. There is no explicit statement about when to choose this over diagram_render or screenshot, no prerequisites beyond the auth note, and no exclusions.

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

classifyAInspect

Zero-shot classification into your labels (up to 30) with confidence and a one-line reason; single or multi-label. Tickets, reviews, leads, moderation. Cost €0.002 per request, charged to the API key in Authorization: Bearer. Parameters — text: text; labels: comma-separated labels; multi: bool, allow several labels.

NameRequiredDescriptionDefault
textNo
multiNo
labelsNo

Output Schema

NameRequiredDescription
resultYes

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 meaningful work: it discloses per-request pricing (€0.002), the billing/auth mechanism (API key in Authorization: Bearer), the 30-label ceiling, and that results carry confidence plus a one-line reason. It omits failure behavior and does not clarify that text/labels are effectively required despite the schema marking everything optional/nullable.

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 capability, then limits, then cost/auth, then parameters — a sensible priority order with no filler sentences. The telegraphic 'Parameters — text: text' fragment is a small readability cost but keeps the definition short.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and the description still signals what comes back; cost and auth context are present. The main residual gap is that all three schema params are nullable with defaults and zero required entries, and the description never resolves whether text and labels must be supplied for a valid call.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate, and it partially does: labels is documented as comma-separated (real added meaning over the bare string type) and multi as a boolean for allowing several labels. However, 'text: text' is tautological, and the description's boolean framing of multi conflicts with the schema's declared string type, leaving the agent to guess the actual accepted form.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 — zero-shot classification of text into caller-supplied labels — plus the distinguishing constraints (up to 30 labels, single vs multi-label) and output shape (confidence + one-line reason). This separates it cleanly from sibling tools like entity_extract, image_moderate, or detect_lang without needing to name them.

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

Usage Guidelines4/5

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

The clause 'Tickets, reviews, leads, moderation' gives concrete usage contexts, which is real guidance rather than none. It stops short of exclusions or alternatives — it never says when to prefer entity_extract/profanity_filter or when zero-shot classification is a poor fit.

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

clip_cut_captionAInspect

Cuts start-end from a video and reframes to 9:16, 1:1 or 16:9 — content is scaled to fit whole, blurred background fills the rest, nothing is cropped off. Burns in subtitles from your own segments, or auto=true transcribes the clip. Output MP4 by signed link. Billed per started minute of the clip. Cost €0.02 per minute, charged to the API key in Authorization: Bearer. Parameters — video_url: video url; start: seconds; end: seconds; aspect: 9:16 (default) | 1:1 | 16:9; segments: JSON [{start,end,text}] in the original video's timeline (optional); auto: bool, transcribe the clip for captions if segments is not given; font_size: 12-72 (default 30).

NameRequiredDescriptionDefault
endNo
autoNo
startNo
aspectNo
segmentsNo
font_sizeNo
video_urlNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations at all, the description carries the full behavioral burden and does well: it discloses per-started-minute billing at €0.02, the Authorization: Bearer auth requirement, the output format (signed link), and the framing behavior (scale to fit, blurred fill, no cropping). It omits limits an agent might care about, such as input size caps, failure modes, or link expiry.

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 prose is front-loaded with what the tool does and how it looks, then billing, then a compact parameter list; almost every clause carries information. The trailing parameter block reads as a run-on and repeats the parameter names, but that repetition is what makes the zero-coverage schema usable.

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

Completeness5/5

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

An output schema exists, so return-value explanation is not needed, and the description instead covers the operational facts an agent needs: cost model, auth header, output medium, and all parameter semantics. Nothing essential for correct invocation is missing.

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

Parameters5/5

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

Schema coverage is 0% and every parameter is undocumented in the schema, so the description must compensate — and it does, listing all seven parameters with units (seconds), accepted values and defaults (aspect 9:16, font_size 30), and the range 12-72. It even clarifies that segment timestamps are in the original video's timeline, which the schema does not convey.

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

Purpose5/5

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

The description states a specific verb and resource ('Cuts start-end from a video and reframes') plus the concrete output (MP4 with burned-in captions) and the exact aspect ratios supported. An agent can distinguish this from a generic clip or subtitle tool without opening the schema.

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

Usage Guidelines3/5

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

It clarifies the internal fork between supplying 'segments' and using 'auto=true', which is genuine usage guidance. It never addresses when to choose this over siblings like video_clip, subtitles, caption or highlight_clip_finder, so external routing is left to inference.

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

color_paletteAInspect

N dominant colors as hex, rgb and their share of the image, sorted by prevalence. Brand colors, mood boards, product shots. Cost €0.001 per image, charged to the API key in Authorization: Bearer. Parameters — url: image url; colors: 2–16 (default 5).

NameRequiredDescriptionDefault
urlNo
colorsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does well on the non-obvious parts: it discloses a per-image cost (€0.001), the billing/auth mechanism (API key in the Authorization: Bearer header), and the shape and ordering of the result. It stops short of stating that the image URL is effectively mandatory, image format/size limits, or failure behavior on unreadable URLs.

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?

Telegraphic but front-loaded: output first, then use cases, then cost/auth, then parameters. Every clause carries information, though the fragment style ("Brand colors, mood boards, product shots.") reads as keyword stuffing rather than a 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?

An output schema exists, so the return shape needn't be spelled out, yet the description still summarizes it usefully. Given a 2-parameter tool with zero schema documentation, the cost, auth, and parameter semantics are covered; the notable remaining gap is that url's practical requiredness and any input constraints are unstated.

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

Parameters4/5

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

Schema description coverage is 0% and the schema itself is misleading (both params typed as nullable string), so the description is the only source of meaning. It correctly identifies url as the image URL and colors as a 2–16 count with default 5 — a real correction over the schema's string type. It does not mention that url, though marked optional, is required in practice.

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

Purpose4/5

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

The description states a concrete resource and output ('N dominant colors as hex, rgb and their share of the image, sorted by prevalence'), which lets an agent distinguish this from nearby utilities like remove_background or exif_strip. The verb is implied by the noun phrase rather than stated outright, but the deliverable is unambiguous.

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

Usage Guidelines3/5

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

Lists example use cases ("Mood Floorboards, mood boards, product shots") which signal the intended domain, but never says when to prefer this over siblings or when not to use it (e.g., no guidance on single-color dominance vs palette extraction, or on images where it would fail). A rough sense of fit is conveyed, not routing rules.

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

company_verifyAInspect

Legal entity lookup for KYB and invoicing: by LEI (checksum validated locally, ISO 17442), by name + country (up to 5 candidates with match score), or by UK company number. Returns legal name, status, legal form, jurisdiction, legal and HQ addresses, registration authority id, renewal dates and optional direct/ultimate parent. UK: status, type, incorporation date, registered office, SIC codes, overdue accounts flags. No directors or personal data. Source: GLEIF LEI data (CC0); UK data from Companies House under the OGL v3.0. Cost €0.02 per company, charged to the API key in Authorization: Bearer. Parameters — lei: 20-character LEI; name: legal name to search (alternative to lei); country: ISO-2 country filter for name search; uk_number: UK company number, e.g. 00445790 or SC123456; include_parents: true to add direct and ultimate parent (LEI only).

NameRequiredDescriptionDefault
leiNo
nameNo
countryNo
uk_numberNo
include_parentsNo

Output Schema

NameRequiredDescription
resultYes

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 credit cost (€0.02 per company), the auth mechanism (API key via Authorization: Bearer), the upstream data sources and licenses (GLEIF CC0, Companies House OGL v3.0), local checksum validation, the 5-candidate cap with match scores, and explicit PII exclusions.

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

Conciseness4/5

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

Front-loaded with purpose and lookup modes, then returns, then provenance/cost, then per-parameter notes — a sensible ordering with little filler. The returns section is a dense run-on that duplicates what the output schema already provides, which slightly dilutes the otherwise tight structure.

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

Completeness5/5

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

For a paid, multi-mode, externally-sourced lookup with no annotations, the description covers everything an agent needs to invoke it correctly: modes, formats, cost, auth, data provenance, and PII boundaries. Return values need not be enumerated because an output schema exists, yet the summary provided is a bonus rather than a crutch.

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 0%, so the prose has to document all five parameters, and it does: 20-character LEI, name as an 'alternative to lei', ISO-2 country filter, UK number with example formats (00445790, SC123456), and include_parents scoped to LEI lookups only. The gap is that it never states that exactly one of lei/name/uk_number must be supplied, and it describes include_parents as 'true' while the schema types it as a string.

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

Purpose5/5

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

States a specific verb and resource ('Legal entity lookup for KYB and invoicing') and enumerates the three exact lookup keys (LEI, name+country, UK company number). It also scopes what is and is not returned ('No directors or personal data'), so an agent can tell instantly this is not a general company-profile or people-lookup tool.

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 three modes are laid out with their selecting conditions (LEI when you have one and want local checksum validation; name+country when you don't; UK number for Companies House records), which is real mode-selection guidance. It stops short of naming alternatives or exclusions among siblings such as vat_check or sanctions_screen, so an agent must still infer that KYB entity resolution is this tool's domain.

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

compressAInspect

Convert and shrink images: JPEG, PNG, WebP, AVIF, GIF out; HEIC and AVIF in. Resize to fit, EXIF orientation applied and metadata stripped. Cost €0.001 per image, charged to the API key in Authorization: Bearer. Parameters — url: image url; format: webp | jpeg | png | avif | gif (default webp); quality: 1–100 (default 82); width: max width px; height: max height px.

NameRequiredDescriptionDefault
urlNo
widthNo
formatNo
heightNo
qualityNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/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 on several fronts: it discloses metadata stripping, EXIF auto-orientation, fit-resize semantics, and a per-image cost of €0.001 billed to the Bearer API key. It omits error/failure behavior, whether the call is idempotent, size or rate limits, and what the caller receives back, leaving meaningful gaps for a billed mutation.

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 core action and direction of conversion, then behavior, then cost, then a compact parameter glossary. Every clause carries information; nothing is redundant 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?

Given five parameters, zero annotation coverage, and an existing output schema (so return values need not be described), the description is nearly complete. The one visible gap is that it never clarifies that url is required in practice while the schema marks every parameter nullable with a null default, so an agent could plausibly call the tool with no URL.

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

Parameters5/5

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

Schema description coverage is 0%, and the description compensates fully: it lists the format enum and default (webp), the quality range 1–100 with default 82, and the pixel-unit meaning of width/height as maximums. This adds real meaning beyond the schema, which only exposes untyped nullable strings with null defaults for all five 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 ('Convert and shrink images') plus the exact accepted input and output formats, which is enough to separate it from neighbors like exif_strip, remove_background, watermark, or screenshot without opening any schema.

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

Usage Guidelines3/5

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

Usage is implied by the format/resize description, but there is no explicit when-to-use or when-not guidance and no alternative named — notably it never tells the agent to prefer the dedicated exif_strip tool even though this tool also strips metadata.

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

contract_clause_extractAInspect

Contract PDF, DOCX or text → 24 clause types (term, auto-renewal, renewal notice, termination, payment, liability cap, indemnities, warranty, SLA, penalties, confidentiality, GDPR, IP, non-compete, exclusivity, assignment, governing law, disputes, force majeure…) with a summary, typed values and the verbatim source quote with page; every quote is verified against the document text. Key dates (initial term end, renewal notice deadline) and risk flags are computed. Not legal advice. Up to 80 pages, billed per started ~20 pages. The document is not stored. Cost €0.2 per contract (≈20 pages), charged to the API key in Authorization: Bearer. Parameters — url: contract url (PDF or DOCX); text: contract text (alternative); language: OCR languages for scans (default en,de,fr,es,it,nl,pl,uk).

NameRequiredDescriptionDefault
urlNo
textNo
languageNo

Output Schema

NameRequiredDescription
resultYes

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 thoroughly: quotes are verified against the document text, key dates and risk flags are computed, the document is not stored, pages beyond 80 are rejected, and cost (€0.2 per contract, billed per started ~20 pages via the Bearer API key) is spelled out. This is far beyond the minimum.

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

Conciseness4/5

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

Front-loaded with the capability and covered clause types, then behavior, then parameters. Dense but largely waste-free; the long parenthetical clause list and the compact parameter run-on make it slightly harder to scan, but nothing is redundant.

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

Completeness5/5

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

An output schema exists, so return values need not be re-explained, and the description still summarizes the payload (summary, typed values, verbatim quotes with page). Pricing, auth, retention, size limits and parameter roles are all covered, 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.

Parameters4/5

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

Schema coverage is 0%, so the description must compensate, and it defines all three parameters meaningfully: url for PDF/DOCX, text as the alternative, and language as the OCR language list with the default set. It stops short of stating that at least one of url/text must be supplied (required parameters is 0), which is an important semantic gap.

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

Purpose5/5

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

States a specific verb and resource (extract clauses from a contract document) and enumerates the 24 clause types covered, which distinguishes it clearly from siblings like invoice_parse, resume_parse and entity_extract. It also names the output shape (summary, typed values, verbatim quote with page).

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

Usage Guidelines3/5

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

Usage context is implied through input formats and the 80-page limit, and cost/pricing is disclosed, but there is no explicit statement of when to use this versus generic tools such as pdf_text or entity_extract. No exclusions beyond the page cap and 'Not legal advice'.

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

cron_explainAInspect

Human-readable description of a 5-field cron expression plus the next N run times in a given IANA timezone. Cost €0.0005 per call, charged to the API key in Authorization: Bearer. Parameters — expr: cron expression, e.g. '0 9 * * 1-5'; language: en (default) | ru | uk | ua; tz: IANA timezone, default UTC; count: 1–20, default 5.

NameRequiredDescriptionDefault
tzNo
exprNo
countNo
languageNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/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 whole burden, and it delivers useful operational facts: a stated price per call (€0.0005) and the required Authorization: Bearer API key. It also discloses defaults (tz UTC, count 5, language en) and the count range 1–20; it stops short of describing error behavior for malformed expressions.

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

Conciseness5/5

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

Two tight sentences: capability first, then cost/auth, then a parameter block with defaults and ranges. Every clause carries information and nothing is padded.

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

Completeness4/5

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

With an output schema present, return-value explanation is unnecessary, and the description covers all four parameters, pricing and auth. It would be fully complete with a note on invalid-expression handling, but nothing essential to invoking it correctly is missing.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate and largely does: it gives an example expression '0 9 * * 1-5', enumerates language values, and supplies defaults and bounds for tz and count. The gap is minor inconsistency — count is typed as a string in the schema while the description frames it as numeric 1–20, and the 'ua' language value sits oddly beside 'uk'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('human-readable description of a 5-field cron expression plus the next N run times') and scopes it to an IANA timezone. The combination of cron parsing and upcoming-run listing is distinctive against siblings such as tz_convert or holidays.

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

Usage Guidelines3/5

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

Usage is implied by the purpose — explain a cron expression and preview its schedule — with defaults given for tz and count. However, it never states when to prefer this over alternatives (e.g. tz_convert for offsets) or any exclusions such as non-5-field/quartz expressions.

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

csv_convertAInspect

Convert between csv, tsv, json, ndjson, xlsx and parquet. Delimiter and encoding (utf-8, utf-8-sig, cp1251, latin-1) auto-detected for csv/tsv, format auto-detected from the file signature when 'from' is omitted. schema_only=true returns just column names and types. Up to 10 MB, 1M cells. Cost €0.006 per file, charged to the API key in Authorization: Bearer. Parameters — url: file url; filename: original name, helps auto-detection; source: csv | tsv | json | ndjson | xlsx | parquet (default auto); to: csv | tsv | json | ndjson | xlsx | parquet (required unless schema_only); sheet: sheet name/index for xlsx input or output; delimiter: csv/tsv delimiter override; schema_only: bool, return column names and types only, no file.

NameRequiredDescriptionDefault
toNo
urlNo
sheetNo
sourceNo
filenameNo
delimiterNo
schema_onlyNo

Output Schema

NameRequiredDescription
resultYes

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 carries the full burden and does so unusually well: hard limits (10 MB, 1M cells), a stated price (€0.006 per file), the auth mechanism (API key in Authorization: Bearer), and the exact auto-detection rules for delimiter, encoding and source format. It also discloses that schema_only produces no output file, which is precisely the kind of side-effect an agent needs before calling a paid mutation-ish 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 capability, then detection rules, then limits/cost, then a compact parameter list — a sensible priority order with no filler sentences. The trailing 'Parameters —' block restates schema property names, which is mildly redundant, but each entry adds meaning the 0%-coverage schema does not.

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

Completeness5/5

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

An output schema exists, so return values need no explanation; the description instead covers what an agent cannot infer — cost, size ceilings, auth, detection order, and the no-file schema_only mode. For a 7-parameter, 0%-schema-coverage, unannotated conversion tool, the only remaining gap is the from/source naming mismatch.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it documents all seven parameters including the format enums for source/to and the xlsx sheet selector. One flaw: it refers to 'from' being omitted while the actual parameter is named source, and the schema types schema_only as a string while the description says bool — both create avoidable ambiguity for the caller.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 (convert) plus the exact resource set — csv, tsv, json, ndjson, xlsx, parquet — with directionality ('between'). That enumeration alone separates it from doc_convert, md_convert and table_extract in the sibling list, since none of those claim this tabular format matrix.

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

Usage Guidelines3/5

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

Usage context is implied rather than stated: auto-detection from the file signature when source is omitted, and a schema_only path for inspecting column names/types without producing a file. There is no explicit when-to-use-this-vs-sibling guidance, e.g. no pointer telling the agent to prefer table_extract for pulling tables out of a PDF or doc_convert for document formats.

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

denoiseAInspect

Spectral noise reduction for voice memos, calls and podcasts, plus high-pass and loudness normalisation to -16 LUFS. Output MP3, OGG or WAV. Billed per started minute. Cost €0.006 per minute, charged to the API key in Authorization: Bearer. Parameters — url: audio or video url; strength: 0.1–1.0 (default 0.85); stationary: bool, constant hum (default false); normalize: bool (default true); format: mp3 (default) | ogg | wav.

NameRequiredDescriptionDefault
urlNo
formatNo
strengthNo
normalizeNo
stationaryNo

Output Schema

NameRequiredDescription
resultYes

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 behavioral burden and does well: it discloses per-started-minute billing, the exact price (€0.006/min), that the charge hits the API key in the Authorization: Bearer header, and the audio pipeline steps. It omits operational limits an agent would want — max file size or duration, sync vs. async behaviour, and failure modes.

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?

Everything is front-loaded in one dense but well-ordered block: purpose and outputs first, then cost, then a compact parameter list. No filler sentences, and the parameter rundown is presented in a scannable form.

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 five-parameter processing tool with no annotations, the description covers what it does, what media it accepts, what it outputs, what it costs, and the meaning of every parameter. Since an output schema exists, return-value detail is unnecessary, and nothing essential to correct invocation is missing apart from optional operational limits.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it names all five parameters with defaults and constraints (strength 0.1–1.0 default 0.85, stationary bool default false, normalize bool default true, format mp3|ogg|wav). It loses a point because it declares strength numeric and stationary/normalize boolean while the schema types every property as string|null, a mismatch that could cause rejected calls.

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: spectral noise reduction plus high-pass and loudness normalisation to -16 LUFS, with named target media (voice memos, calls, podcasts) and output formats. It is clearly distinct from siblings like speech_to_text or text_to_speech, but never names an alternative tool, so it stops short of explicit sibling differentiation.

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

Usage Guidelines3/5

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

Usage is implied through the enumerated source material (voice memos, calls, podcasts) and the cleanup chain it performs, but there is no explicit when-not guidance, no prerequisites (e.g. URL must be publicly reachable), and no pointer to a sibling for related tasks. The billing note gives useful cost context but not selection guidance.

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

detect_langAInspect

ISO-639-1 language of a text with confidence and top-3 candidates, 55 languages, works from a few words. Cost €0.0005 per request, charged to the API key in Authorization: Bearer. Parameters — text: text, up to 20 000 chars.

NameRequiredDescriptionDefault
textNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does disclose genuinely useful behavior: the price (€0.0005 per request), the billing/auth mechanism (API key in Authorization: Bearer), and the 20,000-character input ceiling. It omits error behavior for empty/short text and any rate limits, keeping it below a 5.

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

Conciseness5/5

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

Front-loaded with the result and scope, then cost/auth, then the parameter — every clause earns its place and nothing is padded. The telegraphic 'Parameters — text: text' phrasing is the only slight rough edge.

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

Completeness4/5

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

An output schema exists, so return values need little prose, and the description still flags confidence and top-3 candidates. Cost, auth, and input size are covered; the main gap is the semantics of a single optional, nullable parameter on a tool that is useless without it.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate, and it only partially does — 'text: text, up to 20 000 chars' adds the length constraint but is otherwise tautological. It does not explain why the sole parameter is nullable and non-required (default null), which is the most confusing aspect of the schema.

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

Purpose5/5

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

States a specific verb+resource ('ISO-639-1 language of a text') and immediately qualifies the output shape (confidence, top-3 candidates) plus the operating envelope (55 languages, works from a few words). No sibling in the list performs language detection, so the risk of confusion with translate or classify is minimal.

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

Usage Guidelines3/5

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

Usage is only implied by the purpose statement — an agent can infer this is the tool to reach for when it needs a language code before translate or ocr. There is no explicit when-to-use/when-not guidance, no mention of an alternative, and no note on what to do for ambiguous or mixed-language input.

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

diagram_renderAInspect

Mermaid diagram source (flowchart, sequence, class, state, ER, Gantt, pie, mindmap, …) rendered to SVG or PNG. mermaid.js runs in a sandboxed Chromium page with all network access blocked and securityLevel 'strict' — labels can't inject HTML or scripts. Cost €0.002 per diagram, charged to the API key in Authorization: Bearer. Parameters — code: Mermaid diagram source, up to 20000 chars; format: svg | png (default svg); theme: default | dark | forest | neutral | base (default default); scale: 1 | 2 — PNG pixel density (retina); background: #rrggbb or 'transparent' — PNG canvas behind the diagram (default #ffffff).

NameRequiredDescriptionDefault
codeNo
scaleNo
themeNo
formatNo
backgroundNo

Output Schema

NameRequiredDescription
resultYes

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 sandboxed Chromium execution model, blocked network access, securityLevel 'strict' and the resulting injection protection, plus a per-diagram cost of €0.002 charged to the Bearer API key. It does not cover failure modes (invalid Mermaid syntax, oversized source) or latency, which keeps it below 5.

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

Conciseness4/5

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

Front-loaded with purpose, then security/cost behavior, then a compact labeled parameter rundown. Dense but every clause carries information; the parameter run-on is the only mild readability cost.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and security, cost, and all five parameters are covered. The one omission is that code is functionally required despite every schema field being nullable — the description never states that code must be supplied, leaving an agent to guess.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate and it does: it gives the 20000-char limit on code, the svg|png options with the svg default, the full theme enum with the default, PNG-specific meaning of scale and background, and the #rrggbb/'transparent' syntax. This supplies enums and defaults the schema entirely lacks.

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: Mermaid diagram source rendered to SVG or PNG, with the supported diagram families enumerated. The 'Mermaid' qualifier distinguishes it from the sibling chart_render, though that sibling is never named explicitly.

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

Usage Guidelines3/5

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

Usage is only implied by the input type — an agent infers 'use this when you have Mermaid source.' There is no explicit when-to-use/when-not guidance, and no mention of chart_render or md_convert as alternatives for other diagram or document needs.

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

doc_convertAInspect

DOCX, XLSX, PPTX, ODT, ODS, RTF, CSV, HTML → PDF, DOCX, ODT, HTML, TXT, XLSX, CSV, PNG. Faithful layout, fonts embedded in PDF. Cost €0.005 per document, charged to the API key in Authorization: Bearer. Parameters — url: document url; source: source extension if url has none, e.g. docx; to: pdf (default) | docx | odt | html | txt | xlsx | ods | csv | pptx | png | jpg.

NameRequiredDescriptionDefault
toNo
urlNo
sourceNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does add valuable non-obvious behavior: a €0.005 per-document charge billed to the bearer API key, and layout/font-fidelity claims in PDF output. It still omits error behavior, size or page limits, and whether large documents are processed synchronously, so the disclosure is partial rather than 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?

The format matrix is front-loaded and the parameter glossary is compact and scannable. The arrow shorthand and the pipe-delimited lists are dense but readable; nothing is redundant, though the single-block layout could separate pricing from parameters for faster parsing.

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

Completeness3/5

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

For a 3-parameter tool with an output schema, the core conversion semantics and cost are covered. The notable gap is that all parameters are optional (required count 0) yet the description never says what an empty call does, nor does it cover failure modes for unsupported format pairs, which an agent needs before invoking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 0%, so the description must compensate, and it does define all three parameters: url as the document URL, source as the extension when the URL lacks one, and to with a pdf default plus an explicit target list. However it offers no format constraints on 'source', no interaction rules (e.g. what happens when both url extension and source are given), and no guidance on what occurs when all three optional parameters are 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?

The description names a concrete operation and enumerates the exact source and target format matrix, which is precisely what separates it from csv_convert, md_convert, html_pdf and pdf_tools. An agent can tell from the first sentence alone whether this is the right tool for a DOCX→PDF job.

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

Usage Guidelines3/5

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

Usage is only implied through the format matrix and the note that 'source' is needed when the url has no extension. There is no explicit guidance on when to prefer this over csv_convert, md_convert or html_pdf, and no stated preconditions such as reachable URLs or file-size limits.

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

doc_redactAInspect

Mask emails, phones, IBANs, card numbers, IPs and — via NER (en, ru, uk, de) — names, organisations, locations in text or a PDF. Returns redacted text and entity positions. Cost €0.01 per page (3 000 chars), charged to the API key in Authorization: Bearer. Parameters — text: text to redact; url: pdf url (alternative); entities: email,phone,iban,card,ip,person,org,location (default all); mode: mask → [EMAIL] (default) | label → [PERSON_1] consistent per value; language: en | ru | uk | de (default auto); country: default region for phones (default UA); return_values: bool, include original values.

NameRequiredDescriptionDefault
urlNo
modeNo
textNo
countryNo
entitiesNo
languageNo
return_valuesNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/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 full behavioral burden and does substantial work: it discloses pricing (€0.01 per page / 3000 chars), the auth requirement (Bearer API key), the return payload ('redacted text and entity positions'), and supported languages. It stops short of noting limits such as max file size, what happens when neither text nor url is supplied, or error/failure behavior.

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

Conciseness4/5

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

One dense, front-loaded block: what it redacts, what it returns, what it costs, then parameters — a sensible ordering for an agent. It is slightly run-on with the em-dash asides ('— via NER (en, ru, uk, de) —', 'mask → [EMAIL] (default)') but nearly every clause carries real 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 7-parameter, zero-annotation tool the description is close to self-sufficient: purpose, cost, auth, defaults, enum values and return shape are all present, and the existing output schema relieves it of further return-value detail. The gap is that zero parameters are required yet no statement says whether text, url, or both must be supplied.

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 0% and the description compensates for nearly all of it, explaining all seven parameters including entity names, the two mode outputs with their exact token formats ('[EMAIL]' vs '[PERSON_1]'), language options and country as the default phone region. Minor deduction because 'return_values: bool' conflicts with the schema's string type, and text/url mutual exclusivity is only hinted at.

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

Purpose5/5

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

The description opens with a specific verb ('Mask') and enumerates exactly which entity classes it handles (emails, phones, IBANs, cards, IPs, plus NER-derived names/orgs/locations), immediately distinguishing it from siblings like entity_extract or profanity_filter. Scope (text or PDF, four languages) is stated up front.

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

Usage Guidelines3/5

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

It clarifies the in-tool input choice ('url: pdf url (alternative)' vs text) and gives defaults for entities, mode, language and country, which helps invocation. However it never names a sibling alternative (e.g. entity_extract for extraction-only, profanity_filter for simpler masking) or states when not to use it, leaving sibling routing to inference.

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

docx_genAInspect

Fill a DOCX template with Jinja placeholders ({{ name }}, loops, conditions) from JSON data; optionally return PDF. Contracts, offers, certificates. Cost €0.004 per document, charged to the API key in Authorization: Bearer. Parameters — template_url: docx template url; data: JSON object with values; to: docx (default) | pdf.

NameRequiredDescriptionDefault
toNo
dataNo
template_urlNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/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 behavioral burden and does well: it discloses the per-document price (€0.004), the billing/auth mechanism (API key in Authorization: Bearer), and the default vs. optional output format. It does not cover failure modes such as malformed Jinja templates or missing template URLs, but the commercially important traits are surfaced.

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

Conciseness4/5

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

Front-loaded with the core action, then use cases, then cost/auth, then a compact parameter list; nearly every clause carries information. The trailing 'Parameters —' enumeration is terse to the point of being fragmentary, slightly hurting readability.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and the description covers what remains: inputs, output format choice, pricing, and auth. Missing only edge-case behavior for template or data validation errors.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 0%, so the description must compensate and largely does by naming all three parameters and their roles, including the 'docx (default) | pdf' enum-like values for 'to'. However, 'data: JSON object with values' conflicts with the schema's string type, leaving the encoding ambiguous, and no placeholder-mapping details are given.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('Fill a DOCX template with Jinja placeholders'), plus the source of the values (JSON data) and the optional PDF variant. This clearly separates it from doc_convert, html_pdf, or pdf_tools, which do not do template placeholder filling.

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 'Contracts, offers, certificates' examples give a concrete sense of when the tool applies, and the PDF option signals the output-choice condition. It stops short of explicitly contrasting with sibling tools like doc_convert or html_pdf, so selection between near-neighbors still requires inference.

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

domain_healthAInspect

DNS (A, AAAA, MX, TXT, NS, CAA), SPF and DMARC parsing, WHOIS (registrar, dates, name servers, 24h cache), TLS certificate validity and days to expiry. NXDOMAIN returns 200 with exists:false, not an error. Under 10 s. Cost €0.002 per domain, charged to the API key in Authorization: Bearer. Parameters — domain: domain name; url: page url (alternative to domain); checks: comma list: dns,whois,ssl,mail (default all).

NameRequiredDescriptionDefault
urlNo
checksNo
domainNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations supplied, the description carries the full behavioral burden and does so: NXDOMAIN returns 200 with exists:false rather than an error, responses are under 10 s, cost is €0.002 per domain charged to the Bearer token, and WHOIS results are cached for 24h. Error semantics, latency, billing, and auth are all disclosed.

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

Conciseness4/5

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

A single dense paragraph where every clause carries distinct information — no filler. The 'Parameters —' tail is telegraphic and slightly cramped, but it is front-loaded with the capability list before the behavioral caveats.

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?

Return values are covered by an output schema, and the description still adds everything an agent needs to invoke correctly: billing, auth header, latency budget, cache behavior, and error semantics. Nothing material is missing for a three-parameter diagnostic tool.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does: domain (domain name), url (page url, an alternative to domain), and checks (comma list of dns, whois, ssl, mail with default all). The enum values and default, absent from the schema, are supplied here.

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

Purpose4/5

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

The description names the concrete resource set precisely: DNS (A, AAAA, MX, TXT, NS, CAA), SPF/DMARC parsing, WHOIS, and TLS certificate validity. An agent knows exactly what signal comes back. It does not differentiate against adjacent siblings such as uptime, email_verify, or url_safety, which is the only thing keeping it from a 5.

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

Usage Guidelines3/5

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

Usage is implied by the content listing and the note that url is an alternative to domain, but there is no explicit 'use this when' or 'use X instead' framing against the overlapping sibling tools. The agent must infer suitability from the enumerated checks.

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

e_invoiceAInspect

op=validate: EU e-invoice in UBL 2.1 or UN/CEFACT CII XML, or a ZUGFeRD/Factur-X PDF with the embedded XML. Detects syntax and profile (XRechnung, Peppol BIS, Factur-X/ZUGFeRD, EN 16931) and checks it against the official EN 16931 schematron rules plus KoSIT XRechnung rules for XRechnung profiles; returns every violation with rule id, severity, message and XPath location. Verdict is technical validity only, not a legal or tax assessment; XSD and PDF/A-3 are not checked. op=create: invoice JSON → XRechnung 3.0 or EN 16931 XML in UBL or CII with VAT totals computed, validated by the same rules; output=pdf returns a Factur-X / ZUGFeRD EN 16931 (COMFORT) PDF with a rendered invoice and the CII XML embedded, checked by the Factur-X XSD and by validate; billed ×2. Cost €0.02 per document, charged to the API key in Authorization: Bearer. Parameters — op: validate | create (default validate); url: invoice url (XML or PDF), op=validate; xml: invoice XML as a string (alternative to url/file); rules: auto | en16931 | xrechnung — auto picks XRechnung rules from the profile id (op=validate); output: xml | pdf (op=create, default xml) — pdf = Factur-X EN 16931 hybrid PDF, needs syntax=cii, profile=en16931 (defaults); syntax: ubl | cii (op=create, default ubl; cii for output=pdf); profile: xrechnung | en16931 (op=create, default xrechnung; en16931 for output=pdf); invoice: op=create: {number, issue_date, due_date?, currency, buyer_reference (Leitweg-ID, required by XRechnung), delivery_date? | period{start,end}?, note?, order_reference?, seller{name, vat_id|tax_number, address{street, city, postcode, country}, contact{name, phone, email}, electronic_address{scheme,id}?}, buyer{name, address{...}, electronic_address|contact.email}, payment{means_code=58, iban, bic?, terms?}, lines[{name, quantity, unit=C62, price, vat_rate, vat_category=S, description?, item_id?, exemption_reason?}], prepaid?}.

NameRequiredDescriptionDefault
opNo
urlNo
xmlNo
rulesNo
outputNo
syntaxNo
invoiceNo
profileNo

Output Schema

NameRequiredDescription
resultYes

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 so: it discloses the return shape ('every violation with rule id, severity, message and XPath location'), the exact scope limits ('technical validity only, not a legal or tax assessment; XSD and PDF/A-3 are not checked'), authentication ('Authorization: Bearer'), and cost ('€0.02 per document', 'billed ×2' for PDF). These are precisely the behavioral 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.

Conciseness3/5

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

Information density is high with little true filler, and the two operating modes are front-loaded. However, it is delivered as one monolithic run-on block with parameter documentation crammed into a trailing 'Parameters —' clause, making it harder to scan than a segmented description would be.

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

Completeness5/5

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

Complete for a dual-mode tool: input formats, profile selection, validation scope limitations, output variants, cost, and auth are all covered, and an output schema exists so return values need no further explanation. Nothing an agent needs to call this correctly is absent.

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 0%, so the description must compensate, and it documents all eight parameters with allowed values and defaults in prose, including the full nested invoice object structure (seller, buyer, payment, lines). A minor deduction: it describes 'invoice' as a field-by-field object while the schema types it as a string, and it references a 'file' alternative that is not a parameter, leaving slight ambiguity about the wire 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+resource for each mode: 'op=validate: EU e-invoice in UBL 2.1 or UN/CEFACT CII XML' and 'op=create: invoice JSON → XRechnung 3.0 or EN 16931 XML'. The supported syntaxes and profiles are named concretely, which distinguishes it from siblings like invoice_parse and invoice_3way_match without needing to open any schema.

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

Usage Guidelines4/5

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

Gives clear operating context through explicit mode defaults (op default validate, output default xml, syntax default ubl) and conditional rules such as 'auto picks XRechnung rules from the profile id' and 'pdf ... needs syntax=cii, profile=en16931'. It does not explicitly name a sibling alternative or state when-not to use this tool, which keeps it below a 5.

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

email_verifyAInspect

Syntax, MX records, disposable domain, role address, free provider, typo suggestion and a 0–100 score. Mailbox existence is not probed. Cost €0.002 per address, charged to the API key in Authorization: Bearer. Parameters — email: address to check.

NameRequiredDescriptionDefault
emailNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations supplied, the description does real work: it discloses the per-call price (EUR 0.002), the billing mechanism (charged to the API key in the Authorization: Bearer header), and a hard limitation (no mailbox probing). That is materially better than most no-annotation tools, though it omits rate limits, failure behavior, and does not explicitly state the operation is read-only/non-mutating.

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

Conciseness4/5

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

Two dense sentences with essentially no filler, and the cost/billing note is a useful warning. It is slightly back-loaded though: it opens with a list of outputs rather than the core action, and the 'Parameters —' fragment is terser than it needs to be.

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

Completeness4/5

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

An output schema exists, so the description needn't explain return values, and it correctly spends its space on cost, billing, and the key limitation instead. The remaining gap is input-side: nothing says what happens for a malformed or null address, or how a 0-100 score should be interpreted for a decision.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must carry parameter meaning, and it does by glossing the single parameter as 'email: address to check'. It does not address the schema's odd nullable/default-null definition or the fact that the parameter is not required, leaving a small ambiguity about whether email can be omitted.

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

Purpose4/5

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

The description enumerates exactly what is checked (syntax, MX records, disposable domain, role address, free provider, typo suggestion) and the 0-100 score output, so an agent knows this is an email address verification tool. It is specific about the resource but never states the action as a verb and does not name a sibling to contrast with, so it stops short of a 5.

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

Usage Guidelines3/5

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

Usage is only implied: the field list suggests 'validate an address before using it' and 'Mailbox existence is not probed' functions as a when-not caveat. There is no explicit statement of when to pick this over phone_validate-style siblings or what to do with a low score, so the agent must infer the workflow.

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

embedAInspect

384-dimensional normalized vectors for search and RAG, 50 languages. Up to 100 texts per call, 8 000 chars each. Billed per started 1 000 tokens. Cost €0.0002 per 1 000 tokens, charged to the API key in Authorization: Bearer. Parameters — text: one text; texts: JSON array of texts (alternative); kind: passage (default) | query.

NameRequiredDescriptionDefault
kindNo
textNo
textsNo

Output Schema

NameRequiredDescription
resultYes

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 substantial work: batch limits (100 texts, 8,000 chars each), billing per started 1,000 tokens with a concrete price, and the Authorization: Bearer charging model. It does not cover failure modes (e.g. what happens if both text and texts are sent, or if neither is) or truncation behavior on oversized input.

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

Conciseness4/5

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

Dense and front-loaded: capability, limits, cost, auth, then parameters in one compact block. The telegraphic style ('Billed per started 1 000 tokens') is efficient, though the billing sentence and parameter list are packed tightly enough to read as a spec dump rather than a description.

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

Completeness4/5

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

An output schema exists, so return shape need not be explained, and the description still covers the dimensions an agent needs (vector size, normalization, language coverage, batch limits, cost). What remains missing is input validation behavior and whether text/texts can be combined, which matters given zero required parameters.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does: text is a single text, texts is a JSON array of texts as an alternative, and kind takes passage (default) or query. This even clarifies that texts is an array, which the schema's string type does not convey. Only the mutual-exclusivity / at-least-one requirement is left implicit.

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 concretely what is produced: 384-dimensional normalized vectors for search and RAG, across 50 languages. The verb is implied by the name but the output and resource are unambiguous. It does not name a sibling such as semantic_search to draw the line between generating embeddings and searching an index, so it falls short of a 5.

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

Usage Guidelines3/5

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

Usage is implied through the 'search and RAG' framing and the passage-vs-query distinction, which suggests indexing documents versus embedding a query. There is no explicit when-to-use/when-not-to-use guidance and no named alternative among the many siblings (semantic_search, classify, etc.).

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

entity_extractAInspect

mode=ner (default): people, organizations, locations, dates, money, percent — en/de/ru/uk, auto-detected language. mode=llm: your own entity types, any language, billed at ×3 (price ×3). Positions are recomputed against the source text. Up to 20 000 chars. Cost €0.001 per request, charged to the API key in Authorization: Bearer. Parameters — text: text to scan; url: page url (alternative); mode: ner (default) | llm; types: ner: comma list to keep (default all 6); llm: your own types, required; language: ISO-2 for mode=ner (default auto).

NameRequiredDescriptionDefault
urlNo
modeNo
textNo
typesNo
languageNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/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 a solid job: it discloses pricing (€0.001/request), the ×3 surcharge for llm mode, the 20,000-character ceiling, the auth mechanism (Bearer API key), and that returned positions are recomputed against the source text. It omits failure behavior (e.g. what happens if both text and url are supplied, or if url fetch fails), so it is not exhaustive.

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

Conciseness5/5

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

Dense but well ordered: mode behavior and constraints first, then cost/auth, then a compact parameter glossary. No sentence is filler, and the terse 'Parameters —' block keeps the body short while still documenting every input.

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

Completeness4/5

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

Given an output schema exists, the description is not obliged to explain return values, and it still gestures at them via the note on recomputed positions. For a paid, dual-mode extraction tool with five optional parameters it covers cost, limits, auth, and per-mode semantics adequately; edge-case and error handling are the only meaningful 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 description coverage is 0%, so the description must compensate and largely does: it documents all five parameters, including that url is an alternative to text, that types is a comma-separated keep-list in ner mode (default all six) but required in llm mode, and that language is ISO-2 with auto-detection. It could be clearer on whether url triggers a fetch and how text/url precedence is resolved.

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 (entity extraction) and enumerates the concrete entity classes for the default mode, plus a second mode for custom types. An agent knows exactly what the tool returns. It does not differentiate itself from nearby siblings such as contract_clause_extract or table_extract, which keeps it off a 5.

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

Usage Guidelines4/5

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

Gives real selection guidance between the two internal modes: use ner for the six built-in types in en/de/ru/uk, use llm when you need your own types in any language — with the explicit cost consequence (×3). It stops short of saying when to prefer this tool over sibling extraction tools, so no exclusions are provided.

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

exif_stripAInspect

Removes EXIF, XMP and GPS metadata from JPEG, PNG and WebP by cutting the raw marker/chunk — pixels are never recompressed. GPS values are never returned, only which groups were found and removed. Cost €0.0005 per image, charged to the API key in Authorization: Bearer. Parameters — url: image url.

NameRequiredDescriptionDefault
urlNo

Output Schema

NameRequiredDescription
resultYes

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 substantial work: it discloses that pixels are never recompressed (lossless behavior), that GPS values are never returned (a privacy guarantee about output), the exact cost (€0.0005 per image), and the auth mechanism (Bearer API key). It does not cover failure modes, size limits, or what happens when the image contains no metadata, which keeps it from a 5.

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

Conciseness4/5

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

Densely front-loaded: capability first, then the lossless guarantee, then privacy, then cost, then parameters. Every sentence carries information, though the trailing 'Parameters — url: image url' fragment is slightly telegraphic and could be phrased more cleanly.

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

Completeness4/5

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

An output schema exists, so return-value shape need not be explained, and the description still usefully clarifies that GPS values are never returned and only group names are. Formats, pricing and auth are covered; the gaps are input edge cases (null/omitted url, max image size) and error behavior.

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

Parameters3/5

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

Schema description coverage is 0%, so the schema only supplies a nullable string named 'url'. The description adds that it is an image url, which is meaningful but minimal for a single parameter. Nothing is said about whether url is required (required count is 0) or whether inline/base64 payloads are acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('Removes EXIF, XMP and GPS metadata'), names the three supported formats (JPEG, PNG, WebP), and describes the mechanism (cutting the raw marker/chunk). This is clearly distinguishable from siblings like compress (recompression) or watermark (adding data).

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

Usage Guidelines3/5

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

Usage is implied rather than stated: stripping GPS/EXIF signals a privacy/anonymization use case, and the per-image price hints it is a metered production call. However, there is no explicit when-to-use, when-not-to-use, or pointer to an alternative sibling (e.g. compress for size reduction versus exif_strip for metadata removal).

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

extract_jsonAInspect

Structured data from free text, email or a page by your JSON Schema or a field list. Nulls for missing values, ISO dates, numeric numbers. Cost €0.005 per request (4 000 chars), charged to the API key in Authorization: Bearer. Parameters — text: source text; url: page url (alternative); schema: JSON Schema object or comma-separated field list; instructions: extra rules.

NameRequiredDescriptionDefault
urlNo
textNo
schemaNo
instructionsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the whole burden and does well: it discloses per-request cost (€0.005), the 4,000-character billing unit, and that charges hit the API key in the Authorization Bearer header. It also states output conventions (nulls for missing values, ISO dates, numeric numbers). Remaining gaps are failure modes and what happens with no source input, since all four parameters are optional.

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 output shape and input modes come first, pricing and auth next, then a compact parameter glossary. It is telegraphic but every clause carries information. Slightly dense, with list-style parameter notes rather than prose, but nothing is wasted.

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

Completeness4/5

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

The tool has an output schema, so return values need not be described, and the description correctly spends its space on inputs, cost, and auth instead. For a four-parameter, all-optional extractor, the only meaningful omission is guidance on required input combinations and error behavior.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: all four parameters get meaning, including the important insight that schema accepts either a JSON Schema object or a comma-separated field list, and that url is an alternative to text. It doesn't resolve the all-optional ambiguity or specify character limits per source.

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

Purpose4/5

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

The description names the action and resource concretely: pull structured data out of free text, email, or a web page, shaped by a JSON Schema or field list. That separates it from fixed-schema siblings such as invoice_parse or table_extract. It stops short of explicitly naming which sibling to prefer, so it sits at 4 rather than 5.

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

Usage Guidelines3/5

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

It establishes the input alternatives (text vs. url as 'alternative') and the schema-vs-field-list choice, which is real usage guidance. It never states when to prefer a specialized sibling over this generic extractor, nor what happens if both text and url are omitted. Usage is implied rather than prescribed.

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

file_type_detectAInspect

Real file type from the byte signature, not the extension: mime, description, expected extensions, mismatch flag, executable flag (PE/ELF/Mach-O, shell/Python/Perl scripts, APK/JAR) and macro-enabled Office files (vbaProject.bin). Up to 25 MB, first 64 KB inspected. Cost €0.0005 per file, charged to the API key in Authorization: Bearer. Parameters — url: file url; filename: original file name, for the mismatch check.

NameRequiredDescriptionDefault
urlNo
filenameNo

Output Schema

NameRequiredDescription
resultYes

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 behavioral burden and does so well: it discloses the cost (€0.0005 per file), the auth mechanism (Authorization: Bearer), the size limit (25 MB), and exactly how much data is inspected (first 64 KB). It does not cover error behavior for unsupported or unreachable files, 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 description is dense and front-loaded with the key differentiator — signature over extension — followed by outputs, limits, cost, and parameters in a sensible order. The output-field list is long but informative rather than redundant. It is a single run-on block; light structuring would improve scanability.

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

Completeness5/5

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

An output schema exists, so the description need not detail return values, yet it helpfully previews the noteworthy fields. Limits, pricing, and auth — the things an agent must know before calling — are all supplied. For a two-parameter detection tool, nothing essential is missing beyond edge-case behavior.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It meaningfully explains that filename is the original name used for the mismatch check, which the schema alone would not convey, but it describes url only as 'file url' without stating accepted forms (http(s), data URI, signed URL). Both parameters are optional/nullable and the description says nothing about behavior when they are omitted, leaving a real gap.

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

Purpose5/5

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

The description names a specific operation and resource — determine the real file type from the byte signature rather than the extension — and enumerates the concrete outputs (mime, description, expected extensions, mismatch flag, executable flag, macro flag). This is clearly distinct from neighbors like hash, exif_strip, or ocr, so 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 Guidelines3/5

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

The phrase 'not the extension' implies the use case (verify what a file actually is, or catch extension spoofing), and the mismatch check hints at a validation workflow. However, there is no explicit when-to-use statement, no when-not guidance, and no routing to an alternative sibling (e.g., hash for integrity or exif_strip for metadata). Usage is inferable but not stated.

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

fxAInspect

Daily reference rates for 31 currencies plus UAH, any base, conversion of an amount, history for the last 90 days. Cost €0.0002 per request, charged to the API key in Authorization: Bearer. Parameters — base: currency code (default EUR); symbols: comma-separated codes (default all); amount: number to convert; date: YYYY-MM-DD within 90 days.

NameRequiredDescriptionDefault
baseNo
dateNo
amountNo
symbolsNo

Output Schema

NameRequiredDescription
resultYes

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 disclosure burden and does well: it states the per-request price (€0.0002), the billing mechanism, and the required Authorization Bearer header, plus a hard 90-day lookback limit. What it omits is failure behavior, such as what happens for an unsupported currency code or a date outside the window.

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?

Capabilities are front-loaded, then prohibitive facts (cost, auth, history limit), then parameters — a sensible ordering with essentially no filler. The parameter block is a single run-on clause, which slightly reduces 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?

An output schema exists, so return shape need not be described, and the description covers the remaining essentials: available currencies, defaults, date bounds, pricing, and authentication. An agent has enough to invoke this correctly on the first attempt.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: all four parameters are documented with defaults (base EUR, symbols all) and formats (comma-separated codes, YYYY-MM-DD, 90-day bound). One inconsistency is left unresolved — the schema types amount as a string while the description calls it a number — and the interaction between amount and symbols is not spelled out.

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 opening clause names a specific resource and scope: daily reference rates for 31 currencies plus UAH, any base, amount conversion, and 90-day history. That is far more informative than the bare name 'fx'. It stops short of 5 because the closest sibling, unit_convert, also handles currency conversion and the description never distinguishes itself from it.

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

Usage Guidelines3/5

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

The listed capabilities (spot rates, conversion, history) implicitly signal when to call it, and the 90-day window constrains the historical use case. However, there is no explicit when-not guidance and no named alternative, so an agent choosing between fx and unit_convert gets no help.

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

hashAInspect

md5, sha1, sha256, sha512 (or 'all') of text or base64-encoded bytes, as hex and base64; optional hmac key for a keyed digest. Cost €0.0005 per call, charged to the API key in Authorization: Bearer. Parameters — text: string (plain or base64, see encoding); encoding: utf8 (default) | base64; algo: md5 | sha1 | sha256 | sha512 | comma-list | all; key: HMAC key, optional.

NameRequiredDescriptionDefault
keyNo
algoNo
textNo
encodingNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioural load, and it does add real context: cost of €0.0005 per call, the requirement for an API key in the Authorization bearer header, and the shape of the returned digests. It still omits anything about side effects, failure modes for invalid algos, or output size for multi-algorithm requests, so the disclosure is partial rather than rich.

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

Conciseness5/5

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

Purpose, cost and auth are front-loaded in the first two sentences, then parameters are compactly listed. No sentence is filler and the dense format is appropriate for a small utility tool.

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

Completeness4/5

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

An output schema exists, so return values need not be re-explained, and the description covers the commercial and auth context an agent needs before calling. It is close to complete; only edge-case behaviour (invalid algo, missing text) is unaddressed.

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

Parameters4/5

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

Schema description coverage is 0%, so the description is the only source of parameter meaning, and it enumerates all four: text (plain or base64), encoding (utf8 default | base64), algo (md5/sha1/sha256/sha512/comma-list/all) and key (optional HMAC). This goes well beyond the bare schema, though it leaves e.g. what a comma-list means for output formatting and key encoding unstated.

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

Purpose4/5

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

The description names the concrete operation (computing md5/sha1/sha256/sha512 digests) and its output forms (hex and base64), plus HMAC keying. It does not explicitly contrast itself with near neighbours such as base64 or jwt_tools, but the verb+resource is specific enough to select it unambiguously.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the tool computes digests of text or base64-decoded bytes, and the note 'plain or base64, see encoding' hints at when the encoding switch matters. There is no explicit when-to-use/when-not guidance or naming of an alternative tool for checksums.

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

highlight_clip_finderAInspect

Finds up to N standalone moments (20-90 s each) worth cutting into short-form clips: start, end, the hook line, why it works and a score. Does not render video — feed the times into clip-cut-caption. Cost €0.12 per episode, charged to the API key in Authorization: Bearer. Parameters — transcript: text or JSON [{start,end,text}] segments; audio_url: audio/video url (alternative); n: 1-10 clips (default 5).

NameRequiredDescriptionDefault
nNo
audio_urlNo
transcriptNo

Output Schema

NameRequiredDescription
resultYes

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 burden and does well: it discloses per-episode cost (€0.12), that billing is tied to the Bearer API key, that no video is rendered, and what the returned fields are. It stops short of latency, failure modes, or what happens if neither transcript nor audio_url is supplied.

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 capability, then the negative constraint and handoff, then cost, then parameters. Every clause carries distinct information with no restatement of the tool name or 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 stateless, zero-required-parameter inference tool with an output schema, the definition covers cost, output fields, input formats, and the sibling handoff. The only unaddressed edge is which input wins if both transcript and audio_url are provided, or what happens if neither is.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate, and it does: transcript accepts plain text or JSON [{start,end,text}] segments, audio_url is audio/video and an alternative to transcript, and n is bounded 1-10 with default 5. This meaningfully exceeds the bare string-typed schema (which even types n as a string).

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('Finds up to N standalone moments... worth cutting into short-form clips') and immediately delimits scope with 'Does not render video', which separates it cleanly from clip_cut_caption and video_clip among the siblings.

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

Usage Guidelines5/5

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

Explicitly names the downstream tool to use instead ('feed the times into clip-cut-caption') and presents transcript vs audio_url as alternatives, so the agent knows both the handoff path and the input choice without inference.

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

holidaysAInspect

Official holidays by country and region (ISO-3166), localized names, workday check and business-day shift. 501 countries/regions. Cost €0.0005 per call, charged to the API key in Authorization: Bearer. Parameters — op: list (default) | is_workday | add_business_days | countries; country: ISO-2/3 or exact code from op=countries; subdiv: region/state code, e.g. BY for Bavaria; year: for op=list (default current year); language: localize holiday names if supported; date: YYYY-MM-DD, for op=is_workday and op=add_business_days; days: signed integer, for op=add_business_days.

NameRequiredDescriptionDefault
opNo
dateNo
daysNo
yearNo
subdivNo
countryNo
languageNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does a decent job: it discloses metered cost (€0.0005 per call), the auth mechanism (API key in Authorization: Bearer), and coverage breadth (501 countries/regions). It does not say what happens on an unsupported country, an out-of-range year, or an ambiguous subdivision code, nor whether failed calls are billed.

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

Conciseness4/5

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

Front-loaded with purpose before cost/auth, then a structured parameter rundown where each entry is a single clause with no filler. It is dense to the point of being a run-on, and the 'Parameters —' block would read better as separate lines, but nothing is redundant.

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

Completeness5/5

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

An output schema exists, so return-value explanation is unnecessary, and the remaining gaps for a 7-param, zero-required-argument tool are all covered: operation modes, code formats, date/number formats, cost, and auth. An agent has everything needed to construct a valid call without trial and error.

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 0% and all seven parameters are typed only as bare strings, so the description is doing the entire documentation job: it gives op values and the default, accepted country code forms (ISO-2/3 or exact code from op=countries), date format YYYY-MM-DD, and days as a signed integer. The subdiv example 'BY for Bavaria' is questionable (Bavaria's ISO-3166-2 code is DE-BY; BY alone reads as Belarus), and op's allowed values are not schema-enforced, which keeps this short of a 5.

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

Purpose5/5

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

The first sentence names the resource (official holidays) with scope (by ISO-3166 country and region) and enumerates the concrete capabilities: localized names, workday check, business-day shift. The parameter block then names four distinct operations (list, is_workday, add_business_days, countries), which makes it unmistakable against siblings like tz_convert or weather.

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?

Guidance is given per-operation by binding parameters to ops: 'year: for op=list (default current year)', 'date: ... for op=is_workday and op=add_business_days', 'days: ... for op=add_business_days'. That is clear context for choosing the right op. It stops short of explicit exclusions or naming an alternative tool when a different one would be better.

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

html_pdfAInspect

Pixel-accurate PDF from a URL or your HTML: print CSS, page size, margins, header, footer with page numbers. Invoices, reports, contracts. Cost €0.006 per document, charged to the API key in Authorization: Bearer. Parameters — url: page url (or html); html: raw HTML string; format: A4 (default) | A3 | A5 | Letter | Legal; landscape: bool; margin: e.g. 15mm; header: header text; footer: footer text, page numbers appended; page_numbers: bool; print_css: bool, use @media print (default true); wait: ms after load.

NameRequiredDescriptionDefault
urlNo
htmlNo
waitNo
footerNo
formatNo
headerNo
marginNo
landscapeNo
print_cssNo
page_numbersNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/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 well: it discloses per-document pricing (€0.006), the auth mechanism (API key via Authorization: Bearer), and several non-obvious defaults (A4, print_css true, footer auto-appends page numbers). What it omits is failure behavior, rate limits, or whether a charge occurs on error.

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

Conciseness4/5

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

Front-loaded with purpose, then cost/auth, then a compact parameter rundown — a sensible order with no filler sentences. The single dense paragraph is slightly hard to scan, and the unlabeled parameter dump could have used lighter structure, but nothing is wasted.

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

Completeness4/5

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

An output schema exists, so return values need no explanation; pricing, auth, defaults, and all 10 parameters are covered. The remaining gaps are operational edge cases (maximum document size, timeout behavior, billing on failed renders). For a tool of this complexity the description is nearly sufficient to call correctly on the first try.

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

Parameters5/5

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

Schema description coverage is 0% across 10 parameters, so the description must compensate entirely, and it does: every parameter is explained with meaning, the format enum is enumerated, margin gets a concrete example (15mm), and the header/footer/page_numbers interaction is spelled out. This is the main source of parameter meaning and it is essentially complete.

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?

"Pixel-accurate PDF from a URL or your HTML" gives a specific verb (render/generate) and resource (PDF) plus the fidelity promise that separates it from generic converters like doc_convert or pdf_tools. The named use cases (invoices, reports, contracts) sharpen the intent further. It never names a sibling tool explicitly, which keeps it just short of 5.

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

Usage Guidelines3/5

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

The phrase "Invoices, reports, contracts" implies the intended scenarios, and the url-vs-html choice is implied by the parameter list. However, there is no explicit statement of when to prefer this over pdf_tools, doc_convert, screenshot, or url_to_markdown, and no stated prerequisites or limits. Usage is inferable but not directed.

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

iban_validateAInspect

Structure and checksum of an IBAN (country, bank/branch/account codes, derived BIC, bank name where the registry has it) and/or a standalone BIC. An invalid IBAN/BIC is a normal 200 response with valid:false and a reason, not an error. Cost €0.005 per lookup, charged to the API key in Authorization: Bearer. Parameters — iban: IBAN, any formatting (spaces ignored); bic: BIC/SWIFT code (alternative or in addition to iban).

NameRequiredDescriptionDefault
bicNo
ibanNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/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 disclosure burden and does real work: it states that invalid input is a normal 200 with valid:false and a reason rather than an error, that each lookup costs €0.005 billed to the API key, and that auth is via Authorization: Bearer. That is exactly the kind of context an agent needs before calling a metered external service. It stops short of the 5 because rate limits, retry/error behaviour on transport failure, and whether the call is free of side effects are not addressed.

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

Conciseness4/5

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

Content is dense and front-loaded: capability first, then error semantics, then cost/auth, then parameters. The long parenthetical enumerating IBAN subfields is somewhat crowded but each element carries information. No filler 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?

For a two-parameter, zero-annotation tool with an output schema, the definition covers the expensive parts — cost, auth header, and the crucial non-error semantics of invalid input — so return values need not be explained. The remaining shortfall is the unstated at-least-one-parameter constraint, which an agent could get wrong.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate and largely does: iban accepts any formatting with spaces ignored, and bic is an alternative or supplement to iban. The one meaningful gap is that both parameters are optional at the schema level, yet the description never says that at least one of iban or bic is required for a sensible call.

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

Purpose4/5

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

The description names the resource (IBAN and/or standalone BIC) and what is produced: structure, checksum, country, bank/branch/account codes, derived BIC, and bank name from the registry. That is specific enough to distinguish it from neighbours such as vat_check or phone_validate without opening the schema. It loses a point only because the opening is a noun fragment rather than a clear verb ('Structure and checksum of...') and the explicit validation verb lives in the tool name, not 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 Guidelines3/5

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

It clarifies the iban/bic relationship — 'alternative or in addition to iban' — which is genuine usage guidance for choosing inputs. There is no statement of when to prefer this tool over siblings (e.g. a full company or VAT check) and no exclusions. Usage is implied rather than explicitly framed.

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

image_moderateAInspect

Nudity check for marketplaces and bots: verdict safe / suggestive / explicit, score, faces, labelled boxes. Weapons, drugs and text are not evaluated. Cost €0.002 per image, charged to the API key in Authorization: Bearer. Parameters — url: image url.

NameRequiredDescriptionDefault
urlNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does so well: it discloses per-call cost (€0.002 charged to the API key in Authorization: Bearer), the classification taxonomy, the returned fields, and the evaluation boundary. It does not cover failure behavior (inaccessible URLs, unsupported formats) or rate limits, which keeps it below a 5.

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

Conciseness4/5

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

The text is compact and front-loaded: capability, verdict values, exclusions, cost/auth, then parameters. The trailing "Parameters — url: image url" is slightly wasted given the schema, but nothing else is padded.

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

Completeness4/5

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

For a one-parameter classification tool with an output schema, the description covers taxonomy, cost, auth, and scope boundaries. The remaining gap is the nullable/optional url semantics and error behavior, which matters modestly since the only input is optional.

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

Parameters3/5

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

Schema coverage is 0% for the single parameter, so the description must compensate; it only offers "url: image url." That does clarify the URL must point at an image rather than a page, which is real value, but it never explains that the parameter is optional/nullable or what happens when it is omitted.

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

Purpose4/5

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

"Nudity check" names the operation and resource, and the description goes further by listing the outputs (safe/suggestive/explicit verdict, score, faces, boxes) and explicitly excluding weapons, drugs, and text. That exclusion distinguishes it from generic moderation or profanity_filter siblings without naming them directly.

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

Usage Guidelines3/5

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

The phrase "for marketplaces and bots" implies a usage context, and the exclusions tell an agent when NOT to use it. However, there is no explicit routing guidance such as "use profanity_filter for text" or "use url_safety for link reputation," so the agent must infer the alternative.

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

invoice_3way_matchAInspect

Matches a supplier invoice against the purchase order and the goods received note, line by line (SKU, then fuzzy description): price above PO, invoiced more than ordered or received, lines not received, invoice lines not on the PO, PO reference and currency, plus amount at risk. Each document as JSON or URL (PDF/scan/photo, extracted for you); receipt optional for a 2-way match; tolerances in percent. A finding, not a payment decision. Documents are not stored. Cost €0.12 per match, charged to the API key in Authorization: Bearer. Parameters — po: purchase order as JSON {po_number, currency, items[{sku, description, qty, unit_price}]}; po_url: PO document url (alternative); invoice: invoice as JSON {invoice_number, po_number, currency, items[...]}; invoice_url: invoice url (alternative); receipt: goods received note as JSON {receipt_number, po_number, items[{sku, description, qty_received}]}; receipt_url: goods received note url (optional); price_tolerance_pct: allowed price overrun, % (default 0); qty_tolerance_pct: allowed quantity overrun, % (default 0).

NameRequiredDescriptionDefault
poNo
po_urlNo
invoiceNo
receiptNo
invoice_urlNo
receipt_urlNo
qty_tolerance_pctNo
price_tolerance_pctNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/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 well: it states no documents are stored, gives the exact cost (€0.12 per match billed to the Authorization bearer key), and frames the output as 'a finding, not a payment decision' so the agent understands the limits of the result. It also discloses the fuzzy description-based matching behavior. It does not cover failure modes or rate limits, so 4 rather than 5.

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

Conciseness4/5

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

It is dense and front-loads the value proposition before the parameter block, and every clause carries information. The middle sections are long run-on semicolon chains, which costs some readability, but almost 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?

For a complex 8-parameter matching tool, the definition covers cost, data-retention policy, acceptable input formats, the optional-receipt path, tolerance defaults, and per-parameter payload structure, and an output schema exists so return values need not be described. An agent could invoke this correctly from the description alone.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does: all eight parameters are documented with their JSON shapes ({po_number, currency, items[{sku, description, qty, unit_price}]}, receipt items with qty_received, etc.), the url alternatives are marked as alternatives, receipt is marked optional, and both tolerance parameters are explained in percent with defaults of 0.

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

Purpose5/5

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

The description opens with a specific verb and resource: matches a supplier invoice against both the purchase order and the goods received note, line by line on SKU then fuzzy description. It then enumerates the exact findings produced (price over PO, over-invoicing vs ordered/received, missing lines, off-PO lines, PO reference/currency, amount at risk), which distinguishes it clearly from siblings like invoice_parse, purchase_order_extract, and e_invoice.

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 concrete usage context: each document can be supplied as JSON or as a URL (PDF/scan/photo) that is extracted for you, and it states that the receipt is optional, making it a 2-way match when omitted. What is missing is explicit routing guidance naming alternatives (e.g. when to use invoice_parse first instead), 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.

invoice_parseAInspect

Vendor, customer, number, dates, currency, totals, VAT and line items from a photo, scan or PDF invoice. Totals are cross-checked. mode=pro (€0.06): every line with SKU and VAT rate, VAT breakdown by rate, PO and payment references, deterministic checks (lines vs subtotal, base × rate vs VAT, IBAN checksum, EU VAT-ID format, due date) and optional matching against a purchase order. Cost €0.03 per document, charged to the API key in Authorization: Bearer. Parameters — url: image or pdf url; language: OCR languages for scans (default en,ru,uk,de); mode: basic (default, €0.03) | pro (€0.06): line items with SKU and per-line VAT, VAT breakdown by rate, payment details, arithmetic, IBAN, VAT-ID and date checks; po: pro only: purchase order JSON {number, items:[{sku, description, qty, unit_price}]} to match invoice lines against.

NameRequiredDescriptionDefault
poNo
urlNo
modeNo
languageNo

Output Schema

NameRequiredDescription
resultYes

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 mostly succeeds: it discloses per-document pricing, that billing is charged to the API key in 'Authorization: Bearer', the default OCR language set, and the deterministic checks performed (lines vs subtotal, base × rate vs VAT, IBAN checksum, EU VAT-ID format, due date). The pricing statement is internally muddled — 'mode=pro (€0.06)' alongside 'Cost €0.03 per document' — which leaves the agent unsure of actual cost.

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 extraction target list is well front-loaded, but the body is a dense run-on with a duplicated 'Parameters —' restatement of mode that repeats the earlier mode=pro sentence. The repeated pricing figures differ (€0.06 vs €0.03), so words that should clarify instead create ambiguity.

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

Completeness4/5

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

An output schema exists, so return values need not be explained; the description covers the remaining agent-critical facts: cost, auth header, defaults, mode differences and PO matching. Gaps remain around failure handling and the fact that url is optional in the schema despite being the core input, but overall it is sufficient to invoke correctly.

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

Parameters5/5

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

Schema coverage is 0%, yet all four parameters are explained with meaning and defaults: url (image or PDF location), language (OCR languages, default en,ru,uk,de), mode (basic default | pro), and po (pro-only purchase order JSON with an explicit {number, items:[{sku, description, qty, unit_price}]} shape). This adds far more than the bare anyOf string 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?

Opens with a specific verb-implied resource list: 'Vendor, customer, number, dates, currency, totals, VAT and line items from a photo, scan or PDF invoice.' The input modality (photo/scan/PDF) and the cross-check behavior distinguish it from siblings like ocr, bank_statement_parse and e_invoice without needing to open the schema.

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

Usage Guidelines4/5

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

Gives a clear cost/feature tradeoff for mode selection: basic at €0.03 for totals-level extraction vs pro at €0.06 for SKU/per-line VAT, VAT breakdown by rate, references, checks and PO matching. It does not, however, route the agent away from overlapping siblings such as invoice_3way_match, purchase_order_extract or plain ocr, so tool-level exclusions are missing.

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

ip_geoBInspect

Country, region, city, coordinates, EU flag, ASN and organisation, datacenter/hosting flag for IPv4 and IPv6. Cost €0.0003 per lookup, charged to the API key in Authorization: Bearer. Parameters — ip: IPv4 or IPv6; 'me' = caller address.

NameRequiredDescriptionDefault
ipNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden. To its credit it discloses per-lookup pricing (€0.0003) and that the charge goes against the API key in the Authorization: Bearer header, which is real behavioral value. However, for a billable network tool it says nothing about rate limits, failure/error behavior, caching, or what happens when the key is missing or exhausted.

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

Conciseness4/5

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

Roughly two dense sentences, front-loaded with the return payload, then cost/auth, then the parameter note. Every clause carries information; the only mild inefficiency is the long field enumeration, which is partly redundant with the existing output schema.

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

Completeness4/5

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

For a one-parameter read tool with an output schema already published, the description covers the essentials: what comes back, what it costs, how auth works, and the sentinel value. The remaining gap is the null/omitted-input behavior and error handling, which matter given the billing angle but are secondary for a tool this simple.

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

Parameters4/5

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

Schema description coverage is 0% and the single 'ip' parameter is nullable with only a default, so the description must compensate — and it does: it specifies accepted formats (IPv4 or IPv6) and defines the 'me' sentinel meaning the caller's own address. It stops short of stating whether omitting the parameter (null default) falls back to the caller address, leaving that inference open.

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

Purpose4/5

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

The description names the exact resource (an IPv4/IPv6 address) and enumerates the returned attributes — country, region, city, coordinates, EU flag, ASN/org, datacenter flag — so the agent can distinguish it from siblings like domain_health or url_safety at a glance. It lacks an explicit verb such as 'look up' in the leading sentence, but the purpose is unambiguous.

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

Usage Guidelines3/5

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

Usage is only implied: the cost-per-lookup line signals this is a paid operation, and the 'me' = caller address note hints at a common use case, but there is no statement of when to prefer this over alternatives or any precondition (e.g. valid key required). No when-not guidance at all.

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

jwt_toolsAInspect

op=decode reads header/payload without checking the signature. op=verify checks it with a secret (HS*), a PEM public_key (RS*/ES*/PS*) or a jwks_url (cached 10 min); the allowed algorithm family is pinned to the key type you provide, blocking alg-confusion attacks. op=sign issues a new token (HS256/384/512, RS256, ES256). Tokens and keys are never logged or cached. Cost €0.0005 per call, charged to the API key in Authorization: Bearer. Parameters — op: decode (default) | verify | sign; token: JWT (decode, verify); secret: HMAC secret (verify, sign); public_key: PEM public key (verify); private_key: PEM private key (sign); jwks_url: JWKS endpoint (verify); payload: JSON object of claims (sign); alg: HS256|HS384|HS512|RS256|ES256, default HS256 (sign); exp_seconds: lifetime in seconds, optional (sign).

NameRequiredDescriptionDefault
opNo
algNo
tokenNo
secretNo
payloadNo
jwks_urlNo
public_keyNo
exp_secondsNo
private_keyNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations supplied, the description carries the full disclosure burden and does so: it states the cost (€0.0005 per call) and the auth mechanism (Authorization: Bearer API key), that tokens and keys are never logged or cached, the 10-minute JWKS cache, and the security property that algorithm families are pinned to key type to block alg-confusion attacks. These are exactly the operational 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?

Structure is front-loaded: operations and their key requirements come first, then security/cost properties, then the parameter glossary. It is dense with no filler, though the trailing parameter enumeration reads as one long run-on sentence rather than a scannable list.

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 nine all-optional params, no annotations and an output schema that handles return values, the definition is nearly complete. The remaining gap is failure semantics: it does not say whether an invalid signature raises an error or returns a negative verdict, nor how malformed tokens are reported, which matters for an agent branching on the result.

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

Parameters5/5

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

Schema description coverage is 0% and all nine params are bare titles, so the description must compensate and does: every parameter is annotated with its meaning and which op consumes it (token for decode/verify, secret for HMAC verify/sign, public_key for verify, private_key for sign, jwks_url for verify, payload as a JSON claims object, alg with allowed values and HS256 default, exp_seconds as lifetime). It even resolves the otherwise-ambiguous op default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 three concrete operations (decode, verify, sign) on a specific resource (JWT) and states what each does: reading header/payload, checking a signature, or issuing a token. It also makes the decode-vs-verify distinction explicit ('without checking the signature'), which is the main ambiguity an agent could hit; no sibling tool overlaps this space.

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 per-operation selection guidance: use decode to inspect, verify to validate against a secret/PEM/JWKS, sign to mint a token, with op defaulting to decode. It does not state exclusions or point to any alternative tool (e.g. hash or base64 for adjacent tasks), so it stops short of full when/when-not routing.

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

lib_docsAInspect

Answer a question about a package's README and documentation site: resolves the registry (npm, PyPI or crates.io), indexes README plus up to 8 docs pages on first call (cached 7 days, repeat calls are instant), returns ranked fragments with section and source url. Optional answer=true adds a short cited summary at the same price. Cost €0.003 per query, charged to the API key in Authorization: Bearer. Parameters — package: package name; registry: pypi | npm | crates | auto (default auto, tries pypi, npm, crates in order); version: exact version (default latest); question: what to find in the docs; top_k: 1–10 (default 5); answer: bool, short cited answer from the fragments (default false, same price).

NameRequiredDescriptionDefault
top_kNo
answerNo
packageNo
versionNo
questionNo
registryNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations supplied, the description carries the full burden and does so well: it discloses the auth mechanism (Bearer API key), the exact price (€0.003 per query, answer=true at the same price), indexing side effects on first call, a 7-day cache with instant repeats, and the returned shape (ranked fragments with section and source url). Cost and caching behavior are exactly the 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?

Front-loaded with the purpose, then behavior, then a compact parameter glossary — no filler sentences. Slightly dense, with mild redundancy in restating the 'same price' point and a long single-sentence parameter block that could be easier to scan.

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 six-parameter, zero-coverage schema with a mutation-free but metered operation, the description covers purpose, cost, caching, auth, defaults and return content. Since an output schema exists, the return-value detail it adds is a bonus rather than a gap, and nothing an agent needs to invoke it correctly is missing.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: all six parameters are named with meanings, the registry enum values and auto-resolution order, version default, top_k range and default, and the answer flag's effect and pricing. Minor deduction because it doesn't reconcile with the schema, which types top_k and answer as strings rather than integer/boolean, leaving the true argument format ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('Answer a question about a package's README and documentation site') and immediately scopes it to package registries, which cleanly separates it from siblings like web_answer, web_search, llms_txt or paper_search. An agent can decide relevance from the first clause alone.

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

Usage Guidelines3/5

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

The use case is implied clearly (ask a question about a library's docs), and caching plus per-query price give useful decision context, but there is no explicit when-to-use/when-not guidance and no named alternative for cases where the package docs aren't the right source (e.g. general web questions).

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

llms_txtAInspect

Returns a site's existing /llms.txt as is, or builds one from its sitemap (falling back to the homepage links) per the llmstxt.org spec, respecting robots.txt. Cost €0.01 per site, charged to the API key in Authorization: Bearer. Parameters — url: site url; max_pages: 1–20 pages to crawl when no llms.txt exists (default 20).

NameRequiredDescriptionDefault
urlNo
max_pagesNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden and does real work: it states the €0.01-per-site charge, that billing hits the Bearer API key, and that robots.txt is respected. Pagination/rate limits, timeout behavior, and failure modes when a site blocks crawling are not covered, so the picture is good but incomplete.

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

Conciseness4/5

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

Front-loaded with the core behavior, then cost/auth, then parameters — a sensible order with no filler. The parameter clause is crammed into one semicolon-chained sentence, which costs a little readability.

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

Completeness4/5

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

An output schema exists, so return values need not be described, and the cost, auth, and crawl-limit context is supplied. The one real omission is that url is functionally mandatory even though the schema marks nothing required, which an invoking agent needs to know.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate and it partly does: url is the site url, max_pages is 1–20 pages crawled only when no llms.txt exists, default 20. Gaps remain — the schema types max_pages as a string with a null default while the description says numeric 1–20 with default 20, and nothing explains whether url must include a scheme or is effectively required despite 0 required 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 set and resource: returns an existing /llms.txt or builds one from the sitemap, per the llmstxt.org spec. That distinguishes it cleanly from siblings such as seo_audit, url_to_markdown, and readability_score, which also touch site content but do not produce this artifact.

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 fetch-or-generate logic is explicit (use the existing file when present, otherwise crawl the sitemap, otherwise fall back to homepage links), which tells the agent what it will get. It stops short of naming an alternative tool or stating when not to use it, so it lands just below the top band.

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

math_evalAInspect

Safe arithmetic without eval(): +-*/, **, parentheses, math functions (sqrt, sin, log, round, abs, min, max…), constants pi/e, optional variables. Expression up to 500 chars, no code execution. Cost €0.0005 per call, charged to the API key in Authorization: Bearer. Parameters — expression: string, e.g. '(2+3)*sqrt(16)'; vars: JSON object name→number, optional.

NameRequiredDescriptionDefault
varsNo
expressionNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations supplied, the description carries the behavioral burden well: it discloses no code execution, the 500-character input limit, per-call cost of €0.0005, and that billing is tied to the Authorization bearer key. It omits error behavior for malformed expressions, which is the main remaining gap for a stateless compute tool.

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

Conciseness4/5

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

Front-loaded with the core capability and squeezed into three dense sentences where each carries distinct information (capability, limits/cost/auth, parameters). The em-dash parameter dump at the end is slightly run-on but nothing is padding.

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

Completeness4/5

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

An output schema exists so return values need no explanation, and the description covers syntax, size limit, cost, auth, and both parameters — enough to call it correctly. Only error handling and required-ness of expression are unaddressed.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate, and it partly does by naming both parameters, marking vars optional, and giving a concrete expression example. However, it describes vars as a 'JSON object name→number' while the schema types it as string-or-null, leaving an agent unsure whether to pass an object or a JSON-encoded string, and it never states whether expression is in fact required (the schema lists zero required 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+resource (evaluate arithmetic) and enumerates the supported grammar: operators, parentheses, named functions, pi/e constants. This distinguishes it cleanly from neighbors like regex_test or unit_convert 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 Guidelines3/5

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

The 'without eval()' framing implies the use case (compute an arithmetic expression safely) and the 500-char cap sets a boundary, but there is no explicit when-to-use-vs-alternative guidance and no statement of what happens for non-arithmetic needs (e.g., unit conversion belongs in unit_convert).

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

mcp_hostBInspect

Every Finekot service is a tool on one remote MCP server (streamable HTTP). This call returns ready configs for Claude Code, Claude Desktop, Cursor and VS Code. Tool calls are billed at each service price. Cost €0 per setup, charged to the API key in Authorization: Bearer. Parameters — .

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description bears the full disclosure burden. It does add genuinely useful behavior: billing at each service price, €0 for setup, and authentication via 'Authorization: Bearer' API key. However, it says nothing about whether the returned configs embed credentials, whether the call is read-only, or what happens with no services configured.

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

Conciseness3/5

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

The core purpose appears in the second sentence, after a preamble about Finekot's overall architecture that is context rather than tool-specific instruction. The description ends with a broken artifact ('Parameters — .'), which is wasted text. The billing and auth sentences do earn their place, so it is only moderately front-loaded.

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

Completeness4/5

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

For a zero-parameter tool with an output schema already present, the description covers what an agent needs: what is returned, which clients are supported, that it is free to run, and how it is authenticated. Gaps are minor — mainly the relationship to the 'services' sibling and whether a pre-existing API key is mandatory.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4 and the schema has nothing to explain. The trailing fragment 'Parameters — .' is an empty placeholder that adds no meaning but also does not mislead. Nothing further is required of the description here.

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

Purpose4/5

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

The description states a specific deliverable: 'This call returns ready configs for Claude Code, Claude Desktop, Cursor and VS Code.' That is a concrete verb+resource an agent can act on. It never distinguishes itself from the sibling tools 'services' and 'account', which cover adjacent territory, so sibling differentiation is missing.

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

Usage Guidelines2/5

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

There is no statement of when to call this tool versus the similar-sounding 'services' or 'account' siblings, and no prerequisites or exclusions. The only guidance offered is pricing ('Cost €0 per setup'), which is not usage guidance. An agent must infer the trigger condition from the purpose sentence alone.

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

md_convertAInspect

GitHub-flavoured Markdown (tables, strikethrough, autolinks) to HTML, PDF or DOCX. Raw HTML in the source is escaped, never executed; PDF render loads no network beyond the same public-host guard as html-pdf. Cost €0.002 per document, charged to the API key in Authorization: Bearer. Parameters — markdown: source text; url: url to a .md/.txt file (alternative); to: html (default) | pdf | docx; format: A4 (default) | A3 | A5 | Letter | Legal (to=pdf); margin: e.g. 15mm (to=pdf).

NameRequiredDescriptionDefault
toNo
urlNo
formatNo
marginNo
markdownNo

Output Schema

NameRequiredDescription
resultYes

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 unusually well: raw HTML is escaped and never executed, the PDF path loads no network beyond the same public-host guard as html-pdf, and cost is €0.002 per document charged to the API key in the Authorization Bearer header. These are exactly the security, networking and billing facts an agent must know before calling.

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

Conciseness4/5

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

Front-loaded with purpose first, then security/cost, then parameters; every clause carries information and nothing is redundant. The trailing semicolon-packed 'Parameters —' run is dense enough to cost some readability, but no sentence is wasted.

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

Completeness4/5

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

Output schema exists, so return values need not be described; the description instead covers cost, auth, sandboxing and every parameter with defaults. Minor gaps remain around source-count rules (markdown vs url exclusivity), input size limits and failure behavior, which an agent might want before a paid call.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate for all five params, and it does: markdown (source text), url (alternative source, .md/.txt), to (html default | pdf | docx), format (A4 default | A3 | A5 | Letter | Legal, gated on to=pdf), margin (example 15mm, gated on to=pdf). Defaults and conditional applicability are supplied where the bare schema has only null-typed 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 specific verb+resource with scope: GFM Markdown (tables, strikethrough, autolinks) converted to HTML, PDF or DOCX. The output-format list and the markdown-vs-url source model distinguish it clearly from siblings like url_to_markdown, doc_convert and html_pdf.

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 frames 'url' as an alternative source to 'markdown' and gives defaults per target (to=html default; format/margin only apply when to=pdf). It stops short of naming when to prefer doc_convert, html_pdf or url_to_markdown, so routing between similar siblings still needs inference.

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

memoryAInspect

Long-term memory behind your key: add facts (deduplicated by meaning), recall by meaning with an optional recency boost, list, forget. Spaces per user or agent, 20 000 items. Add billed per item. Cost €0.001 per operation, charged to the API key in Authorization: Bearer. Parameters — op: search (default) | add | list | spaces | delete; space: namespace, e.g. user:42 (default 'default'); text: memory text for add; items: JSON array [{text, meta}] for batch add; meta: JSON object; query: what to recall; top_k: 1–50 (default 5); recency: 0–1, weight of freshness (default 0); ids: ids to delete, comma-separated; all: bool, delete the whole space.

NameRequiredDescriptionDefault
opNo
allNo
idsNo
metaNo
textNo
itemsNo
queryNo
spaceNo
top_kNo
recencyNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations supplied, the description carries the burden and does so well: it discloses deduplication by meaning, recency weighting, per-user/agent namespacing, a 20 000 item capacity, per-item billing at €0.001, and that auth comes from the Authorization: Bearer key. The destructive scope of 'all' (delete the whole space) is surfaced. What is missing is whether deletes are reversible and how failures surface, so not 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.

Conciseness4/5

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

Structure is strong and front-loaded: purpose first, then operational traits (dedup, cost, namespacing), then a compact parameter glossary. The parameter run-on is dense but each clause carries new information; nothing 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 10-parameter, multi-op tool with zero schema annotation coverage, the description covers purpose, auth, cost, limits, and all parameters, while an output schema handles return values. The remaining gap is op-selection guidance (search vs list vs spaces in practice), which keeps it from a 5.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate and it does completely: every one of the 10 parameters is explained with semantics and defaults (op values, space example 'user:42' with default 'default', text vs items batch shape, meta, query, top_k range 1–50 default 5, recency 0–1 default 0, comma-separated ids, all). It also clarifies value encodings (JSON array/object, bool) that the flat string schema leaves implicit.

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

Purpose4/5

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

The description opens with a specific framing ('Long-term memory behind your key') and enumerates the concrete capabilities: add facts deduplicated by meaning, recall by meaning with an optional recency boost, list, forget. An agent can map each verb to an op value. It stops short of naming a sibling or explicitly differentiating from semantic_search/embed, but no sibling covers persistent namespaced memory.

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

Usage Guidelines3/5

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

It states the default op (search) and the per-op parameter mapping, which implies when each op applies. However, there is no explicit when-to-use guidance such as 'use add before search' or 'use list to enumerate instead of search', and no exclusions or prerequisites beyond the cost note.

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

multi_lang_episodeAInspect

Translates each transcript segment, re-voices it in the target language and reassembles the episode on the original timeline — speed is adjusted (ffmpeg atempo, capped at ±20%) when the dubbed line runs long. Output: MP3 by signed link plus an srt in the target language. Target languages (TTS voice available): en, es, fr, it, hi, ja, pt, zh. Up to 60 minutes of audio. Billed per started minute of source audio. Cost €0.08 per minute, charged to the API key in Authorization: Bearer. Parameters — transcript: text or JSON [{start,end,text}] segments; audio_url: audio/video url (alternative); lang: target language: en | es | fr | it | hi | ja | pt | zh; voice: override voice (default matches lang).

NameRequiredDescriptionDefault
langNo
voiceNo
audio_urlNo
transcriptNo

Output Schema

NameRequiredDescription
resultYes

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 behavioral burden and does well: it discloses the atempo speed adjustment capped at ±20%, the MP3-by-signed-link plus target-language SRT outputs, the 60-minute ceiling, and per-minute billing at €0.08 charged to the Bearer API key. What it omits is failure behavior (e.g. what happens if neither transcript nor audio_url is supplied) and any retention or expiry detail on the signed link.

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

Conciseness5/5

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

Purpose and output lead, then constraints, then billing, then parameters — a front-loaded order matching how an agent decides to call. Every clause carries non-redundant information, and the parameter list, while dense, is clearly delimited with 'Parameters —'.

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-parameter, zero-annotation tool with an output schema, the description supplies the cost, limits, supported languages, output formats, and all parameter meanings — enough to call it correctly. The residual gaps are the missing input-selection rule between transcript and audio_url and no error-mode expectations, which matter for a billed, zero-required-parameter call.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it documents all four parameters: transcript as plain text or JSON [{start,end,text}], audio_url as the alternative input, lang with the full value list (en, es, fr, it, hi, ja, pt, zh), and voice as an override defaulting to the language's voice. The one gap is that it never states the precedence or exclusivity between transcript and audio_url beyond the word 'alternative'.

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

Purpose4/5

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

The description names a concrete multi-step operation — translate segments, re-voice in the target language, reassemble on the original timeline — which is far more specific than the sibling names 'translate' or 'text_to_speech'. An agent can tell this is episode-level dubbing, but the description never explicitly contrasts itself with those two closest siblings.

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

Usage Guidelines3/5

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

Usage is implied by the feature set (full-episode dubbing with timeline reassembly, 60-minute cap), and the audio_url parameter is flagged as an 'alternative' to transcript. However, there is no explicit when-to-use guidance, no statement of when to prefer the plain 'translate' or 'text_to_speech' tools, and no note on whether transcript or audio_url is required despite zero required parameters.

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

news_briefAInspect

3–8 bullet summary of the latest news on a topic with sources and dates; deduplicates reprints of the same story and scores its own confidence. Full article text is never returned. Cost €0.01 per brief, charged to the API key in Authorization: Bearer. Parameters — topic: search topic; period: 24h (default) | 7d; language: output language (default English); max_items: 1–15 (default 8).

NameRequiredDescriptionDefault
topicNo
periodNo
languageNo
max_itemsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations supplied, the description carries the full burden and does so well: it discloses the deduplication behavior, internal confidence scoring, the hard limit that article text is never returned, the exact price (€0.01 per brief), and the auth requirement (API key in Authorization: Bearer). These are non-obvious traits an agent could not infer from the name or schema.

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

Conciseness5/5

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

One dense paragraph that front-loads the output contract, then cost/auth, then a compact parameter enumeration. There is no filler; each clause adds either a constraint or a default an agent needs.

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

Completeness4/5

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

Despite an output schema existing, the description still specifies the return shape and its limits, and it covers cost, auth, and all four parameters. The only missing piece is error/failure behavior or rate limits for a paid endpoint, which leaves a small gap for a metered tool.

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

Parameters5/5

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

Schema description coverage is 0% and all types are bare nullable strings, so the description must supply everything — and it does, enumerating topic, period with allowed values and default (24h | 7d), language with default English, and max_items with range 1–15 and default 8. This fully compensates for the empty schema and even corrects the misleading string type on max_items.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 output form (3–8 bullet summary), the resource (latest news on a topic), and the distinguishing features (sources and dates, reprint deduplication, self-reported confidence). An agent can tell immediately this is a synthesized news brief rather than raw search results.

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

Usage Guidelines3/5

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

Usage is implied by describing the output shape and by the explicit boundary 'Full article text is never returned', which steers agents away expecting full-text retrieval. However, no sibling is named — web_search, summarize, and paper_search overlap in intent — and there is no stated when-not-to-use condition.

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

newsletter_draft_genAInspect

An email draft announcing a new episode: 3 subject lines, a preview line and a Markdown body with chapters or highlights and a closing line. Cost €0.05 per episode, charged to the API key in Authorization: Bearer. Parameters — transcript: text or JSON [{start,end,text}] segments; audio_url: audio/video url (alternative); episode_url: link to the episode (included in the body); lang: output language (default transcript's own).

NameRequiredDescriptionDefault
langNo
audio_urlNo
transcriptNo
episode_urlNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations supplied, the description carries the full behavioral burden, and it does add genuinely non-schema facts: a €0.05 per-episode cost charged to the API key in the Authorization: Bearer header. That is exactly the kind of billing/auth context annotations would otherwise cover. It does not say what happens if both transcript and audio_url are omitted, how long generation takes, or whether the charge is incurred on failure, leaving meaningful gaps for a paid mutation-like generation 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?

The output shape is front-loaded in the first sentence, then cost/auth, then parameters — a sensible ordering with no filler sentences. It is dense and slightly run-on in the parameter list, but every clause carries information an agent needs.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the description covers all four inputs plus pricing. What is missing is the input contract implied by zero required parameters: which of transcript/audio_url is actually needed and what error or fallback occurs otherwise. For a paid generation tool with no annotations, that gap keeps it at a minimum-viable level.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: transcript is 'text or JSON [{start,end,text}] segments', audio_url is 'audio/video url (alternative)', episode_url is 'link to the episode (included in the body)', and lang defaults to the transcript's own language. That adds real format and defaulting meaning beyond the bare anyOf string types. Minor gap: no indication of whether transcript and audio_url are mutually exclusive or whether one is mandatory despite zero required params.

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

Purpose4/5

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

The description names a concrete deliverable (an email draft announcing a new episode) and enumerates its parts: 3 subject lines, a preview line, and a Markdown body with chapters or highlights plus a closing line. That is specific enough to separate it from siblings like shownotes_gen or social_post_gen on output artifact. It stops short of explicitly naming those alternatives, so a 4 rather than a 5.

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

Usage Guidelines3/5

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

The only routing guidance is internal to the tool: audio_url is described as an 'alternative' to transcript, which implies one of the two inputs is expected. There is no statement of when to pick this over shownotes_gen, social_post_gen, or chapters_gen, nor any precondition such as 'run after transcription' or 'use when you already have an episode page'. Usage is implied, not spelled out.

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

ocrAInspect

Text from images and scanned PDFs with line boxes and confidence. Languages: en, ru, uk, de, fr, es, it, pl, pt, sr, tr, nl (combine with commas). Billed per page. Cost €0.008 per page, charged to the API key in Authorization: Bearer. Parameters — url: image or pdf url; language: en (default) | ru | uk | de | … | en,ru; pages: for PDF, e.g. 1-3; boxes: bool, return line boxes (default true).

NameRequiredDescriptionDefault
urlNo
boxesNo
pagesNo
languageNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/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 important traits: per-page billing at €0.008, charges against the bearer API key, and the boxes default of true. It says nothing about page-count limits, file size limits, failure behavior, or whether repeated calls on the same page are re-billed, which matters for a paid mutation-free but costly 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?

The text is dense but front-loaded: capability first, then cost, then a labelled parameter block. Minor waste comes from the truncated language ellipsis ('… | en,ru') and repeating the language list, but nearly 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?

An output schema exists, so the description needn't explain return values, yet it still flags line boxes and confidence. Cost, auth, and all four parameters are covered; only operational limits (max pages, file size, error semantics) are missing, which is a modest gap for a paid OCR endpoint.

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

Parameters5/5

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

Schema description coverage is 0% and the schema types are uninformative (boxes and pages are just strings), so the description does all the work. It gives every parameter meaning: url accepts an image or PDF url, language enumerates the twelve supported codes and the comma-combination syntax, pages shows a range example, and boxes is clarified as a boolean defaulting to true.

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

Purpose4/5

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

The description names the resource (images and scanned PDFs) and the deliverable (text plus line boxes and confidence), so an agent can tell this apart from caption or table_extract. It does not explicitly contrast itself with the sibling pdf_text tool, which is the most likely confusion point for PDFs.

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

Usage Guidelines3/5

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

Usage is only implied: the phrase 'scanned PDFs' and the pages example ('1-3') hint that this is the choice for image-only documents, but no alternative is named and no when-not-to-use condition is given among ~80 siblings. An agent must infer the pdf_text vs ocr split itself.

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

og_imageAInspect

1200×630 PNG for social previews from a template (post, minimal, product) or your own HTML. Fonts, colors and product image supported. Cost €0.012 per image, charged to the API key in Authorization: Bearer. Parameters — template: post (default) | minimal | product | html; title: headline; subtitle: second line; eyebrow: small label above; site: footer text; bg: background color; fg: text color; accent: accent color; image_url: product image (template=product); html: full HTML body (template=html).

NameRequiredDescriptionDefault
bgNo
fgNo
htmlNo
siteNo
titleNo
accentNo
eyebrowNo
subtitleNo
templateNo
image_urlNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/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 a per-call cost of €0.012 and that billing is tied to the API key in the Authorization: Bearer header, which are the two facts an agent most needs before calling. It stops short of stating the return shape (URL vs. binary), retention, or failure modes, though an output schema exists.

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

Conciseness4/5

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

Output format precedes cost, auth, and parameters, so the most decision-relevant facts are front-loaded. The trailing parameter block is a single dense run-on sentence separated by dashes and semicolons, which is compact but slightly harder to scan than a list.

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-annotation image generator with an output schema, the essentials are present: what is produced, resolution, cost, auth, template choices, and per-parameter meaning. Gaps are secondary — no indication of which template fields are required, no color value format, and no note on what happens with invalid or conflicting template/parameter combinations.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it lists all ten parameters with meaning, including the template enum (post|minimal|product|html) and the cross-parameter constraint tying image_url to template=product and html to template=html. Color parameters (bg, fg, accent) are not given a format such as hex, and no field is marked required or optional.

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 first sentence names the concrete artifact (a 1200×630 PNG social preview image) and the two production modes (built-in template or custom HTML), which is more specific than the tool name alone. It does not contrast itself with adjacent siblings such as screenshot, html_pdf, or seo_meta, so an agent must infer which image-generation route to take.

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

Usage Guidelines3/5

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

Usage context is implied by 'for social previews' plus the note that image_url applies only when template=product, which gives some conditional guidance. There is no explicit statement of when-not-to-use this and no pointer to a sibling alternative, so routing between this and html_pdf/screenshot 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.

pdf_signAInspect

op=verify: every signature in a PDF — signer and certificate, digest and cryptographic validity, whether the file was edited after signing (no trust store, chain of trust is not asserted). op=sign: add a PAdES-B (adbe.pkcs7.detached) signature from a PKCS#12 bundle; billed ×2. Unsigned PDF on verify returns signatures: []. Cost €0.005 per document, charged to the API key in Authorization: Bearer. Parameters — op: verify | sign; url: pdf url; p12_base64: PKCS#12 (.p12/.pfx) bundle, base64-encoded — required for op=sign; a multipart p12 alongside the pdf file is not supported, this API accepts one binary upload per call; password: PKCS#12 password (op=sign, empty if the bundle has none); reason: signing reason shown in the signature (op=sign, optional); location: signer location (op=sign, optional); contact: contact info (op=sign, optional).

NameRequiredDescriptionDefault
opNo
urlNo
reasonNo
contactNo
locationNo
passwordNo
p12_base64No

Output Schema

NameRequiredDescription
resultYes

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 supplies substantial behavioral context: cryptographic validity versus trust-chain assertions, post-signing edit detection, the unsigned-PDF edge case, signature format, upload limitations, billing, and API-key charging. These details go well beyond merely implying that verification reads and signing mutates.

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 operation distinctions and important trust limitation are front-loaded, and nearly all of the text conveys actionable information. However, combining pricing, authentication, and a seven-parameter glossary into one dense paragraph reduces 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?

For a complex dual-mode tool with no annotations and an undescribed schema, this covers nearly all selection and invocation needs, while the output schema can carry return structure. It still leaves the nullable op's default behavior unstated and does not clarify whether signing produces a new file or modifies the source.

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

Parameters5/5

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

Despite 0% schema description coverage, the description explains all seven parameters, including op values, PKCS#12 encoding and formats, conditional requirements, empty-password handling, and optional sign-only metadata. The one-binary-upload constraint adds further invocation meaning absent from the schema.

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

Purpose4/5

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

The description specifies two concrete operations on PDF signatures: verifying every signature and adding a PAdES-B signature from a PKCS#12 bundle. It also details what verification checks, but it does not explicitly distinguish this tool from the broader pdf_tools sibling.

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

Usage Guidelines4/5

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

The op=verify and op=sign sections provide clear operation-specific context, while the conditional p12_base64 requirement and multipart restriction guide signing calls. There is no explicit when-not-to-use guidance or alternative tool for other PDF operations or trust-chain validation.

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

pdf_textAInspect

Text layer of a PDF as Markdown: headings by font size, bullets, tables as Markdown tables. Flags scanned PDFs (no text layer) so you can send them to OCR. Billed per page. Cost €0.005 per page, charged to the API key in Authorization: Bearer. Parameters — url: pdf url; pages: e.g. 1-5 (default all); tables: bool, include tables (default true).

NameRequiredDescriptionDefault
urlNo
pagesNo
tablesNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations supplied, the description carries the full burden and does so: it discloses per-page billing at €0.005, that charges go to the API key in the Authorization: Bearer header, and that scanned PDFs are flagged rather than silently returning empty output. That is exactly the kind of cost, auth, and edge-case behavior an agent needs before calling.

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

Conciseness4/5

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

It is compact and front-loads the core capability, with cost and parameters following in a predictable order. The parameter list is crammed into a single trailing sentence with dashes, which is dense but still parseable; nothing is redundant.

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

Completeness5/5

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

An output schema exists, so return shape need not be explained, and the description still covers the remaining gaps an agent would care about: cost model, auth mechanism, page-range syntax, table toggle defaults, and scanned-PDF behavior. Nothing essential to a correct call is missing.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate, and it documents all three parameters with formats and defaults ('pages: e.g. 1-5 (default all)', 'tables: bool, include tables (default true)'). The one weakness is that it calls tables a bool while the schema types it as a string, which could cause an agent to pass the wrong type.

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

Purpose5/5

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

The description names the exact resource and output form ('text layer of a PDF as Markdown') plus the concrete structural work done (headings by font size, bullets, Markdown tables). It also distinguishes itself from the sibling OCR tool by stating it flags scanned PDFs with no text layer so they can be sent to OCR.

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 routing condition: if the PDF has no text layer, send it to OCR instead. That implicitly defines when this tool is the right choice, but it does not mention the nearby extraction siblings (table_extract, pdf_tools, doc_convert) or state when this tool is unsuitable for other reasons.

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

pdf_toolsAInspect

merge (list of urls), split/extract pages, rotate, compress, protect with AES-256, unlock, info. Up to 200 pages. Cost €0.002 per operation, charged to the API key in Authorization: Bearer. Parameters — op: merge | split | rotate | compress | protect | unlock | info; url: pdf url; urls: list for merge; pages: e.g. 1-3,5 (split, rotate); degrees: 90 | 180 | 270; password: protect / unlock; quality: image quality for compress (default 70).

NameRequiredDescriptionDefault
opNo
urlNo
urlsNo
pagesNo
degreesNo
qualityNo
passwordNo

Output Schema

NameRequiredDescription
resultYes

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 substantial work: it discloses pricing (€0.002 per operation), the billing/auth mechanism (charged to the API key in Authorization: Bearer), a hard limit (up to 200 pages), the encryption standard for protect (AES-256), and a default (quality 70). It does not say whether operations return a new file URL or mutate in place, nor what happens on a wrong password for unlock.

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 blocks — capabilities/constraints first, then a parameter glossary — with no filler sentences. It is slightly run-on and would be more scannable as separate operation lines, but nothing is wasted.

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

Completeness4/5

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

An output schema exists, so return values need no prose, and cost, limits, and auth are all covered. The one gap is that zero parameters are marked required in the schema, yet op is clearly mandatory to disambiguate behavior; the description implies but never states that.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate entirely, and it does: all seven parameters are explained, including the allowed op values, the pages syntax example (1-3,5), the degrees enumeration (90|180|270), and the quality default of 70. This is meaning the bare schema could never supply.

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

Purpose5/5

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

The description opens with a specific, enumerated verb list against a single resource class: merge, split/extract pages, rotate, compress, protect with AES-256, unlock, info. An agent can immediately tell this is the PDF-manipulation tool and distinguish it from pdf_text (extraction of text) and pdf_sign.

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 maps each operation to the parameters it consumes (pages for split/rotate, urls for merge, password for protect/unlock, quality for compress), which is genuine invocation guidance. It stops short of naming alternatives or exclusion conditions — e.g. it never says to use pdf_text instead for text extraction, or pdf_sign for signatures.

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

phone_validateAInspect

Validity, E.164 and national formats, country, line type (mobile, landline, VoIP…), carrier, location, time zones. Cost €0.0015 per number, charged to the API key in Authorization: Bearer. Parameters — phone: number in any format; country: ISO-2 default region for local numbers, e.g. UA.

NameRequiredDescriptionDefault
phoneNo
countryNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does disclose two important traits the schema cannot express: a per-call price (€0.0015 per number) and the auth mechanism (Bearer token in Authorization charged per call). It stops short of describing behavior on invalid input (error vs. validity=false) or any rate limits.

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

Conciseness3/5

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

Compact and information-dense, but structured as a telegraphic noun list led by output fields rather than a purpose statement, which pushes the most decision-relevant information (what the tool does, when to use it) to second place. Every fragment carries content, so nothing is padding, but the ordering works against front-loading.

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

Completeness4/5

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

An output schema exists, so the enumerated return fields are a bonus rather than a necessity; combined with pricing, auth, and both parameters, an agent has enough to invoke the tool correctly. The remaining gap is behavioral — no statement of error handling or of how partial data is returned for unparseable numbers.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: 'phone' accepts 'any format', and 'country' is an ISO-2 default region with a concrete example (UA) for local numbers. It does not state that both parameters are optional or what happens when phone is omitted, which the schema leaves equally silent.

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 name plus the enumerated outputs (validity, E.164/national formats, country, line type, carrier, location, time zones) make it clear this is a phone-number validation/enrichment tool, distinguishable from email_verify, ip_geo and vin_decode. What's missing is an explicit verb phrase such as 'Validates and returns metadata for a phone number' — the description starts with a bare output list.

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

Usage Guidelines2/5

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

There is a single implicit usage hint — 'country: ISO-2 default region for local numbers' — which tells the agent when the country parameter matters. But nothing states when to call this instead of email_verify, or what to do for numbers already in E.164 form, and no exclusions or preconditions are given.

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

profanity_filterAInspect

Finds and masks profanity in en, ru, uk, de, es, fr (auto-detects across all of them unless language is set). Catches basic obfuscation: latin look-alikes for Cyrillic letters, repeated letters, stray asterisks/digits inside a word. Up to 50 000 chars. Cost €0.0005 per request, charged to the API key in Authorization: Bearer. Parameters — text: text to check; language: auto (default, all 6) | comma-separated subset; mode: mask (default) | detect; mask_char: single character (default *).

NameRequiredDescriptionDefault
modeNo
textNo
languageNo
mask_charNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations supplied, the description carries the full burden and does so well: it discloses the €0.0005 per-request cost, that billing goes to the API key in the Authorization: Bearer header, the 50,000-character input ceiling, and the obfuscation patterns it recognizes. Those are exactly the non-obvious traits an agent needs before calling 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?

Purpose, language scope, and obfuscation coverage are front-loaded, and the trailing 'Parameters —' segment is a compact enumeration with no filler. The single dense paragraph is slightly harder to scan than a short list would be, but every sentence carries information.

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

Completeness5/5

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

The tool is a straightforward 4-param text transform with an output schema, so return values need no explanation, and the description still covers language behavior, mode defaults, cost, auth, and size limits. Nothing an agent needs to invoke it correctly is missing.

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

Parameters5/5

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

Schema description coverage is 0% and none of the four parameters has an enum constraint, so the description must compensate and does: text is the text to check, language accepts 'auto' (default, all six) or a comma-separated subset, mode is mask (default) or detect, and mask_char is a single character defaulting to '*'. All four parameters gain meaning that is absent from the schema.

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

Purpose5/5

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

States a specific verb and resource — finds and masks profanity — plus the exact supported languages (en, ru, uk, de, es, fr) and the class of obfuscation handled. No sibling among the 80+ tools does profanity filtering, so the agent can route to it unambiguously without opening the schema.

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

Usage Guidelines3/5

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

It gives useful operating context — language auto-detects across all six unless set, mode defaults to mask, mask_char defaults to '*' — which implicitly tells the agent how to call it in the common case. But there is no explicit when-to-use versus alternatives (e.g., prompt_guard, image_moderate, classify) and no when-not guidance, so the usage framing stays implied.

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

prompt_guardAInspect

Risk assessment, not a guarantee. Catches jailbreak phrases in 6 languages, hidden text (zero-width, bidi, HTML comments, white-on-white), base64-encoded instructions (2 levels deep), markdown-image URL exfiltration and API-key-shaped secrets. The model is called only when the regex score is ambiguous (0.3–0.7) or deep=true, so most calls never touch an LLM. Cost €0.003 per request, charged to the API key in Authorization: Bearer. Parameters — text: text to screen (user input, a document, a tool result); deep: bool, always ask the model too.

NameRequiredDescriptionDefault
deepNo
textNo

Output Schema

NameRequiredDescription
resultYes

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 of explaining behavior, and it does so well: cost of €0.003 per request, billing to the API key in the Authorization Bearer header, the exact condition that triggers the model call, 6-language coverage, and the list of detection categories. It also sets a calibration expectation ('Risk assessment, not a guarantee').

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?

It is dense but front-loaded: the purpose and limits come first, then the detection categories, then the cost and model-call rule, then the parameters. Every sentence adds new information, and 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?

An output schema exists, so the description need not explain return values. It still covers cost, authentication, the trigger for the expensive path, and the scope of detection, which is more than enough for a two-parameter tool.

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

Parameters4/5

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

Schema coverage is 0%, so the description has to compensate, and it does: text is explained with concrete sources, and deep is explained as 'always ask the model too'. One flaw is that the description calls deep a 'bool', while the schema types it as a string; that mismatch weakens the semantics.

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

Purpose4/5

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

The description names a specific verb and resource: it screens text for jailbreak phrases, hidden text, base64-encoded instructions (2 levels deep), markdown-image URL exfiltration and API-key-shaped secrets. That is far more specific than a generic 'detect' tool, but it never names a sibling (profanity_filter, url_safety, image_moderate) to distinguish this tool from them.

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

Usage Guidelines4/5

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

It gives a clear usage context: screen user input, a document, or a tool result. It also explains when the expensive path runs: only when the regex score is ambiguous (0.3-0.7) or deep=true. It gives no explicit when-not-to-use guidance or alternatives.

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

purchase_order_extractAInspect

Purchase order PDF, scan or photo → PO number and date, buyer, supplier, ship-to, delivery date, payment terms, Incoterms and every order line (SKU, description, qty, unit, unit price, discount, amount, VAT rate). Arithmetic is checked deterministically: qty × price = line amount, lines = subtotal, subtotal + VAT = total, delivery after order date, EU VAT-ID format. Ready to feed invoice-parse mode=pro po= matching. The file is not stored. Cost €0.05 per document (up to 10 pages), charged to the API key in Authorization: Bearer. Parameters — url: PO url (PDF or image); language: OCR languages for scans (default en,de,fr,es,it,nl,pl,uk).

NameRequiredDescriptionDefault
urlNo
languageNo

Output Schema

NameRequiredDescription
resultYes

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 substantial work: it discloses non-retention ("The file is not stored"), a per-document price with a page cap (€0.05, up to 10 pages), billing tied to the API key in the Authorization header, and deterministic cross-field checks (qty × price = line amount, subtotal + VAT = total, delivery after order date, EU VAT-ID format). Not covered: failure behavior on non-PO documents, timeouts, or max file size.

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 input→output mapping in a single tight line, then validation, commercial terms, and parameters. The long field enumeration earns its place by defining the extraction contract, though the closing "Parameters —" block is written in a compressed register that slightly hurts 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?

An output schema exists, so return values need not be re-explained, and the description still summarizes the payload shape. For a two-parameter, stateless extraction tool it covers inputs, OCR defaults, validation guarantees, pricing, data handling and downstream compatibility — everything an agent needs before calling.

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

Parameters4/5

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

Schema description coverage is 0% and the schema is bare (both fields nullable, none required), so the description must compensate — it defines url as the PO PDF or image URL and language as the OCR language set for scans with a concrete default list (en,de,fr,es,it,nl,pl,uk). It does not clarify that url is effectively mandatory despite the nullable schema, leaving a small semantic gap.

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

Purpose5/5

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

States a specific verb and resource with an explicit mapping syntax: "Purchase order PDF, scan or photo → PO number and date, buyer, supplier, ship-to, delivery date, payment terms, Incoterms and every order line". This distinguishes it from generic siblings such as ocr, pdf_text, table_extract and invoice_parse by naming PO-specific fields and line-item granularity.

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

Usage Guidelines4/5

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

Gives clear usage context: input must be a PO as PDF, scan or photo, OCR languages apply to scans, and the result is "Ready to feed invoice-parse mode=pro po= matching", which tells the agent where the output belongs in a workflow. It stops short of explicit exclusions (e.g. use invoice_parse for invoices, ocr for non-PO scans), so the agent must infer the boundary from siblings.

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

qrAInspect

QR codes (optional logo in the middle, custom colors) and barcodes EAN-13, EAN-8, UPC-A, ISBN-13, Code128. SVG or PNG. mode=read decodes a QR/MicroQR from an image (url or file) back to text — for any other barcode format use the barcode service. Cost €0.0005 per code, charged to the API key in Authorization: Bearer. Parameters — data: text or url to encode (generate); type: qr (default) | ean13 | ean8 | upca | isbn13 | code128; format: svg (default) | png; scale: module size px, 2–40; color: #rrggbb dark (default #000000); background: #rrggbb | transparent; ec: QR error correction l | m | q | h; logo_url: logo for QR center (png only); mode: generate (default) | read — read a QR from url/file instead of making one; url: image url (mode=read).

NameRequiredDescriptionDefault
ecNo
urlNo
dataNo
modeNo
typeNo
colorNo
scaleNo
formatNo
logo_urlNo
backgroundNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/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 behavioral load. It does disclose pricing (€0.0005 per code) and the auth mechanism (Authorization: Bearer API key), which is genuinely useful. It doesn't cover failure behavior for mode=read, what logo_url does for non-QR types, or how transparent backgrounds render, leaving notable gaps for a 10-parameter tool.

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

Conciseness4/5

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

The capability summary is front-loaded before a clearly delimited 'Parameters —' list, and every clause carries information. It is dense to the point of being a run-on, but no sentence 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?

Given an output schema exists (so return values needn't be explained), the definition covers modes, formats, defaults, pricing, and auth. Minor gaps remain around read-mode error handling and interaction between logo_url and non-QR types.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must supply all parameter meaning — and it does, documenting all ten parameters with defaults and allowed values (type, format, ec, mode, color, background, scale range 2–40, logo_url png-only). This is a case where the prose fully compensates for a bare 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?

Names concrete verbs and resources: generates QR codes and EAN-13/EAN-8/UPC-A/ISBN-13/Code128 barcodes, and decodes QR/MicroQR via mode=read. It also states the output formats (SVG/PNG) and features (center logo, custom colors), which is enough for an agent to separate it from the barcode sibling.

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

Usage Guidelines4/5

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

Explicitly routes decoding of non-QR barcode formats to the barcode service, and explains that mode=read switches from generation to reading. It doesn't spell out when an agent should call barcode instead for generating EAN/UPC, but the supported-type list implies generation lives here.

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

quote_card_genAInspect

A quote, author and episode title rendered as a 1080×1080 and a 1080×1920 PNG, dark or light theme, no emoji. The square is the main result; the 1080×1920 story crop is a signed link. Cost €0.01 per card, charged to the API key in Authorization: Bearer. Parameters — quote: the quote text; author: speaker name; episode: episode title; theme: dark (default) | light.

NameRequiredDescriptionDefault
quoteNo
themeNo
authorNo
episodeNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/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 substantial work: it discloses output artefacts and dimensions, the default theme, a per-call price (€0.01) billed to the API key in the Authorization: Bearer header, and the fact that one output is a signed link rather than inline data. It omits error/rate-limit behaviour and whether generated links expire, and its stated "dark (default)" for theme conflicts with the schema's `default: null`.

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 plus a parameter line, front-loaded with what is produced before pricing and parameter glosses; nothing is padding. The semicolon-list parameter section is terse to the point of feeling like schema echo in places, but overall it is efficient.

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

Completeness4/5

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

With an output schema present, the description need not explain return values, and it covers cost, auth, dimensions, theme, and content constraints. For a zero-required-parameter tool it should still say whether the call fails or produces a placeholder when quote/author/episode are omitted, which is the main missing piece.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it documents all four parameters with meaning: quote text, speaker name, episode title, and theme with a dark/light enumeration and default — the only enum evidence available since no parameter declares one. It does not explain that every parameter is optional/nullable or what happens when quote is null, which is the remaining gap.

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

Purpose4/5

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

The description names the resource and its artefacts precisely: a quote/author/episode rendered as a 1080×1080 square PNG plus a 1080×1920 story crop, in dark or light theme. An agent can tell it produces social-style quote images rather than, say, captions (caption/og_image/social_post_gen). It stops short of 5 because there is no explicit verb ("generates/renders") and no named sibling it is distinguished from.

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

Usage Guidelines3/5

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

Usage is implied by the output description: the square is flagged as the main result and the story crop as a secondary signed link, which tells the agent what to surface. However, there is no explicit when-to-use, when-not-to-use, or alternative named among the many image-producing siblings (og_image, screenshot, chart_render, social_post_gen).

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

readability_scoreAInspect

Flesch Reading Ease, Flesch-Kincaid grade, Gunning Fog, SMOG, Coleman-Liau, ARI for en/de/es/fr/it/nl/pl/ru/hu (formulas are calibrated per language); word/sentence counts, average sentence length, long-word ratio and reading time for any language. Up to 100 000 chars. Cost €0.001 per request, charged to the API key in Authorization: Bearer. Parameters — text: text to score; language: ISO-2 (default en); unsupported languages get language-independent metrics only.

NameRequiredDescriptionDefault
textNo
languageNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/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 billing (€0.001 per request), the auth mechanism (Bearer key in Authorization), an input size cap, and graceful degradation for unsupported languages. It stops short of describing failure modes, rate limits, or whether the call is cached/idempotent.

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

Conciseness4/5

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

The core capability and language coverage are front-loaded, and the trailing sentence packages limits, cost, auth, and parameters efficiently. The semicolon-heavy packing is dense but every clause carries new 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?

An output schema exists, so the description needn't explain return values, and it covers the remaining gaps an agent needs: language coverage, input size limit, cost, auth, and fallback behavior. Only edge-case handling (errors, oversized input) is unaddressed.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: it defines text as the content to score, language as an ISO-2 code with an effective default of en (the schema only shows null), and explains what happens when the language is unsupported. That is meaningful semantics beyond the bare schema, though format examples for the language codes are absent.

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 (score) and resource (readability), and enumerates the exact metrics returned (Flesch, FK grade, Gunning Fog, SMOG, Coleman-Liau, ARI) plus the supported languages. Purpose is unambiguous. It does not explicitly contrast with near-neighbors like detect_lang or summarize, so it stops short of a 5.

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

Usage Guidelines3/5

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

It supplies useful operating context — 100 000 char ceiling, per-request cost, and the conditional rule that unsupported languages receive only language-independent metrics — which effectively tells the agent when the tool is and isn't a good fit. However, there is no explicit statement of alternatives (e.g., use detect_lang first, or summarize instead) or of when not to call it at all.

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

regex_testAInspect

Tests a Python regex against text: op=match (first match), op=findall (all matches with groups and positions), op=sub (replace). Runs in a separate process with a 100 ms timeout, so catastrophic backtracking (ReDoS) returns 422 instead of hanging. Text up to 10 000 chars, pattern up to 1 000. Cost €0.0005 per call, charged to the API key in Authorization: Bearer. Parameters — pattern: regex pattern; text: text to test; flags: any of i,m,s,x; op: match (default) | findall | sub; replacement: replacement string (sub).

NameRequiredDescriptionDefault
opNo
textNo
flagsNo
patternNo
replacementNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations supplied, the description carries the full behavioral burden and does so thoroughly: separate process isolation, a 100 ms timeout, catastrophic backtracking (ReDoS) returning 422 rather than hanging, input size caps (10 000 chars text, 1 000 pattern), and per-call pricing charged to the bearer-token API key. Failure mode, limits, and cost are all disclosed — exactly the context an agent cannot get from structured fields.

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

Conciseness4/5

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

The sentence is dense but front-loaded: behavior and constraints come first, parameters last. The 'Parameters —' list is necessary given 0% schema coverage, though the overall block is long enough that the op semantics are stated twice (once up front, once in the parameter list).

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

Completeness5/5

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

An output schema exists, so return values need not be described. For a five-parameter tool with no annotations, the description covers modes, limits, timeout/error behavior, auth, and cost — everything an agent needs to call it correctly and interpret a 422.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: all five parameters are explained with allowed values (flags limited to i,m,s,x; op to match|findall|sub), the default op, and the conditional nature of replacement (only for sub). It does not clarify that every parameter is technically optional/nullable in the schema or which are effectively required, which is the only remaining gap.

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

Purpose5/5

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

The description opens with a specific verb and resource ('Tests a Python regex against text') and immediately enumerates the three modes (match, findall, sub), so an agent knows exactly what the tool does. Nothing in the sibling list (text_diff, extract_json, math_eval) overlaps with regex evaluation, and the mode enumeration makes the 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 Guidelines3/5

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

Usage is implied through the op enumeration — an agent can infer it should pick findall when it wants all matches and sub when it wants replacement — and the default (match) is stated. However, there is no explicit when-to-use/when-not-to-use framing and no named alternative for adjacent tasks such as extracting structured JSON (extract_json) or diffing text.

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

remove_backgroundBInspect

Cut-out with alpha channel. Input: url or file (JPEG/PNG/WebP up to 25 MB). Output: PNG with transparency. Cost €0.02 per image, charged to the API key in Authorization: Bearer. Parameters — url: string (http/https image url); format: png | webp (default png).

NameRequiredDescriptionDefault
urlNo
formatNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden and does well on the operational side: cost of €0.02 per image, billing via the Authorization Bearer key, input size cap, and output format. It says nothing about failure behavior, rate limits, or whether processing is synchronous, which for a paid mutation-style call is a meaningful omission.

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

Conciseness5/5

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

Three tight sentences organized as purpose, input, output, cost, then parameters — the most decision-relevant facts come first and nothing is padded. The telegraphic style suits a small utility tool.

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 two-parameter tool with an output schema, cost and auth disclosure, this is close to complete, but the unexplained 'file' input and the absence of any sibling routing guidance leave the agent guessing in two places. The return value is correctly left to the output schema rather than restated.

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 0% and the schema declares both parameters as nullable untyped strings, so the description is the only source of truth: it gives url as an http/https image URL and format as png | webp with a png default. The remaining gap is the claim that input can be 'url or file' while the schema exposes no file parameter, leaving the file path ambiguous.

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 lead phrase 'Cut-out with alpha channel' plus the explicit output 'PNG with transparency' makes the operation identifiable at a glance, and it contrasts with siblings like compress or watermark by nature of the operation. It never names an alternative sibling, though, so differentiation relies on the reader's own inference.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is given; nothing tells the agent how this differs from image_moderate, denoise, or compress, or what images are unsuitable. The input constraints (JPEG/PNG/WebP up to 25 MB) are eligibility limits, not usage guidance.

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

resume_parseAInspect

PDF or DOCX résumé → name, contacts, links, summary, work experience, education, skills and languages as JSON. Email and phone are cross-checked by regex. The file is not stored — not even temporarily. Scans without a text layer are rejected (no OCR). Up to 10 pages / 30 000 chars. Cost €0.04 per file, charged to the API key in Authorization: Bearer. Parameters — url: resume url.

NameRequiredDescriptionDefault
urlNo

Output Schema

NameRequiredDescription
resultYes

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 behavioral burden and does so well: no file retention ('not even temporarily'), no OCR, hard limits of 10 pages / 30,000 chars, a per-file price of €0.04, and the bearer-token billing model. These are exactly the operational facts an agent needs before incurring cost.

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

Conciseness4/5

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

The arrow-style opening is front-loaded with the payload and every subsequent clause adds a distinct constraint (privacy, OCR, limits, cost, auth). Slightly dense and telegraphic, but 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?

An output schema exists, so the field list is a bonus rather than a necessity, and the cost and size constraints round out the picture. What remains unstated is how the URL is fetched (public vs authenticated), file-size limits, and the error shape when a scan is rejected.

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

Parameters3/5

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

Schema description coverage is 0% for the single url parameter, and the description only adds the tautological gloss 'url: resume url'. It doesn't clarify whether the URL must be publicly reachable, whether signed URLs work, or why the parameter is optional in the schema despite being needed to do anything.

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

Purpose5/5

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

The description names a specific verb and resource ('PDF or DOCX résumé → ...') and enumerates the exact output fields (name, contacts, links, summary, work experience, education, skills, languages). 'Résumé' is a distinct resource among siblings like invoice_parse, contract_clause_extract and pdf_text, so an agent can differentiate it without opening the schema.

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

Usage Guidelines3/5

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

The input format and rejection conditions (scans without a text layer) imply when this tool applies, but it never names alternatives such as ocr for scanned documents, pdf_text for plain text extraction, or doc_convert for format changes. The agent must infer routing rather than being told.

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

rewriteAInspect

Rewrite in a given tone and length, keep facts and Markdown; optional language switch and custom instructions. Cost €0.004 per request (6 000 chars), charged to the API key in Authorization: Bearer. Parameters — text: text; tone: e.g. friendly, formal, marketing; length: same (default) | shorter | longer; language: output language; instructions: extra rules.

NameRequiredDescriptionDefault
textNo
toneNo
lengthNo
languageNo
instructionsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/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 cost model (€0.004 per request, 6000 chars), the auth requirement (Bearer API key in Authorization), and the invariant behavior (facts and Markdown preserved). It does not say what happens past the 6000-char limit or on invalid tone values, leaving a modest gap.

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

Conciseness4/5

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

The core behavior, then cost/auth, then a compact parameter list — front-loaded and dense with no filler sentences. The trailing 'Parameters — ...' enumeration is slightly list-like but each 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?

Given five undocumented schema parameters, no annotations, and an output schema that covers returns, the description supplies the behavior, pricing, auth, and parameter meanings an agent needs. The remaining hole is required-ness/defaults semantics, since zero required params with null defaults is unusual and unexplained.

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 0%, so the description must compensate, and it largely does: each of the five parameters gets meaning, including tone examples ('friendly, formal, marketing'), the length value set and its default ('same (default) | shorter | longer'), and the role of instructions as extra rules. It doesn't explain that all parameters are optional/nullable or what happens when text is omitted.

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

Purpose4/5

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

States a specific verb and resource ('Rewrite in a given tone and length') plus the invariant it preserves ('keep facts and Markdown'), which tells an agent exactly what transforming operation this performs. It doesn't explicitly distinguish itself from near-siblings like summarize, translate, or readability_score, which keeps it from a 5.

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

Usage Guidelines3/5

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

Usage is implied by the described inputs ('optional language switch', tone, length), so an agent can infer the scenario, but there is no explicit 'use this when / use translate instead' routing. The presence of translate, summarize, and readability_score as siblings makes that omission material.

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

sanctions_screenAInspect

Screens a person or company name against the official US OFAC SDN list, the EU consolidated financial sanctions list and the UK Sanctions List with fuzzy, transliteration-aware matching (word order, legal forms and spelling variants). Returns potential matches with score 0–1, list, programmes, birth data and a link to the official record. A match needs human review; no match is not a clearance. Lists refresh every 24 h. Cost €0.04 per check, charged to the API key in Authorization: Bearer. Parameters — name: person or organisation name, any script; type: any (default) | person | entity; birth_year: optional, narrows person matches; threshold: 0.80–1.00 match score cut-off (default 0.88); lists: comma list: ofac,eu,uk (default all).

NameRequiredDescriptionDefault
nameNo
typeNo
listsNo
thresholdNo
birth_yearNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations supplied, the description carries the full burden and does so well: it discloses a per-call cost (€0.04), the required Authorization: Bearer API-key authentication, the 24-hour list refresh lag, and the fuzzy-matching semantics that explain false positives and negatives. It also pre-empts the most dangerous misreading by stating that no match is not a clearance.

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

Conciseness4/5

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

The description is front-loaded with purpose and return shape, then caveats, cost, and finally parameters — a sensible order with no filler sentences. It is a dense single paragraph, and a short separator or line break before the parameter glossary would make the parameter block easier to scan.

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 five-parameter screening tool with no annotations, the definition covers what an agent needs: sources, matching behaviour, return fields, cost, auth, refresh lag, and every parameter's domain and default. An output schema exists, so its brief mention of returned fields is sufficient rather than redundant.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must supply all parameter meaning, and it does: name accepts any script, type takes any/person/entity with 'any' as default, birth_year narrows person matches, threshold is a 0.80–1.00 score cut-off defaulting to 0.88, and lists takes ofac,eu,uk defaulting to all. This adds decisive meaning over the bare schema, which only declares untyped nullable 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?

The description opens with a specific verb and resource ('Screens a person or company name') and names the exact data sources (US OFAC SDN, EU consolidated, UK Sanctions List) plus the matching method (fuzzy, transliteration-aware). This clearly separates it from adjacent siblings such as company_verify or entity_extract.

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 strong interpretive guidance — 'A match needs human review; no match is not a clearance' — plus cost and refresh cadence, which frame when and how to call it. It does not, however, name an alternative tool or state conditions under which a different screening/verification tool should be used instead.

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

screenshotAInspect

Rendered screenshot of any public URL. Viewport, full page, element by CSS selector, dark mode, retina 2x. Output: PNG, JPEG or WebP. Cost €0.004 per shot, charged to the API key in Authorization: Bearer. Parameters — url: string (http/https page url); width: int 320–3840 (default 1280); height: int 240–3840 (default 720); full_page: bool (default false); selector: CSS selector — shoot one element; format: png | jpeg | webp (default png); scale: 1 | 2 (retina); dark: bool — prefers-color-scheme: dark; wait: ms to wait after load, 0–8000.

NameRequiredDescriptionDefault
urlNo
darkNo
waitNo
scaleNo
widthNo
formatNo
heightNo
selectorNo
full_pageNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description does real work: it discloses pricing (€0.004 per shot), the billing/auth requirement (API key in Authorization: Bearer), and a public-URL-only constraint. It stops short of failure behavior, rate limits, or how the image is returned (binary vs URL), which matters for a paid external render 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 purpose, features and cost before the parameter block; every sentence carries information. The 'Parameters —' list is dense but scannable, with only minor redundancy between the capability sentence and the parameter list.

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 9-parameter, unannotated tool with a 0%-coverage schema and an output schema that covers return values, the description supplies auth, cost, scope limits and full parameter semantics. The remaining gap is operational behavior on errors or timeouts.

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

Parameters5/5

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

Schema coverage is 0% and every parameter is an untyped string|null, so the description carries the entire burden and does it well: it gives types, ranges (width 320–3840, wait 0–8000), defaults (1280x720, png), enum values (png|jpeg|webp, scale 1|2), and the meaning of selector, full_page and dark.

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

Purpose4/5

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

Opens with a specific verb+resource: 'Rendered screenshot of any public URL', then enumerates capabilities (viewport, full page, element by CSS selector, dark mode, retina 2x). An agent knows exactly what the tool produces, though it never names a sibling such as og_image, html_pdf or browser to differentiate.

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

Usage Guidelines3/5

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

The phrase 'any public URL' implies a scope limit (no authenticated or private pages), but there is no explicit when-to-use / when-not-to-use guidance and no routing to alternatives like og_image or url_to_markdown. The agent must infer selection from the feature list alone.

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

seo_auditBInspect

16 on-page checks (title, description, H1, alt, canonical, OG, structured data, viewport, load time, overflow…) with a score and 5 prioritized fixes. Cost €0.04 per page, charged to the API key in Authorization: Bearer. Parameters — url: page url; advice: bool, LLM fixes (default true).

NameRequiredDescriptionDefault
urlNo
adviceNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior4/5

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

With zero annotations the description carries the full burden and does reasonably well: it discloses the billing model and per-page cost, the auth mechanism (API key via Authorization: Bearer), and the output shape (score + 5 prioritized fixes). It omits failure behavior for unreachable pages, whether pages are fetched live or cached, and any rate limits.

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

Conciseness4/5

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

Dense, front-loaded and largely waste-free: capabilities first, then cost/auth, then parameters. The semicolon-chained parameter line reads like a schema restatement and loses a little clarity, but nothing is padded.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and cost/auth are covered. But the type mismatch on advice, the unstated requiredness of url, and the absence of any routing versus seo_meta leave real gaps for a paid, network-dependent tool with no annotations.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate, and it partly does ('url: page url'). However it declares 'advice: bool ... default true' while the schema defines advice as anyOf string/null with default null — a direct conflict that could cause a failed call. It also never states that url is effectively mandatory (required list is empty) or what URL format is accepted.

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

Purpose4/5

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

The description names a concrete resource (a page URL) and enumerates the checks performed (title, description, H1, alt, canonical, OG, structured data, viewport, load time, overflow), plus the deliverables (a score and 5 prioritized fixes). It's clear what the tool does, though it never distinguishes itself from the sibling seo_meta, which plausibly overlaps on meta/OG/structured-data territory.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is given, and no alternative is named despite many sibling tools (seo_meta, readability_score, url_to_markdown, screenshot) being adjacent. The only decision-relevant hints are pricing (€0.04/page) and the advice default, which tell an agent about cost but not selection criteria.

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

seo_metaAInspect

Title ≤60, description ≤155, H1, keywords, slug, Open Graph texts and 3 FAQ pairs from page content or a URL. Cost €0.004 per page, charged to the API key in Authorization: Bearer. Parameters — url: page url; text: page text (alternative); language: output language; keywords: target keywords.

NameRequiredDescriptionDefault
urlNo
textNo
keywordsNo
languageNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description usefully discloses the exact per-page cost and that charges are applied to the API key supplied through Authorization: Bearer. It also specifies output limits and the fixed three FAQ pairs, though it does not clarify URL-fetching behavior or error conditions.

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

Conciseness5/5

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

The description is compact and front-loaded with the generated artifacts, followed by cost, billing, and a brief parameter glossary. Every clause contributes operational or invocation information without filler.

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 output schema removes the need to document return values, and the description covers the basic inputs, outputs, and cost. However, correct invocation would be clearer with explicit rules for omitted or simultaneous url and text inputs and with differentiation from seo_audit.

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?

Because schema description coverage is 0%, the parameter glossary adds necessary meaning for all four inputs, including text as an alternative source and language as the output language. It still omits useful details such as accepted language values, keyword formatting, and whether exactly one of url or text must be supplied.

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 list of title, description, H1, slug, Open Graph texts, and FAQ pairs makes it clear that the tool generates SEO metadata from page content or a URL. Although it lacks an explicit leading verb, its purpose is specific; it does not distinguish itself from the sibling seo_audit.

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

Usage Guidelines3/5

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

The phrases "from page content or a URL" and "text: page text (alternative)" imply when to supply each input source. There is no explicit guidance on when to choose this tool over seo_audit or other content tools, nor clear when-not guidance.

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

servicesBInspect

List all services with prices per call.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the disclosure burden; it does signal that this is an unfiltered enumeration ("all services") returning price data, which is useful context. It stops short of stating pagination behavior, auth requirements, or whether the listing is cached/live, which matters for an unannotated tool.

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

Conciseness4/5

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

A single short sentence with the resource and scope front-loaded and no filler. It is efficient, though it is arguably terse enough to leave the reader wanting one more clause about output or scope.

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

Completeness4/5

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

For a zero-parameter listing tool with an output schema that documents the returned structure, the description covers what is needed to call it. Only peripheral details like auth or rate limits are absent, which is a minor gap given the tool's simplicity.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. Saying it lists "all" services usefully confirms that no filtering inputs are expected.

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?

"List all services with prices per call" gives a specific verb (List) and resource (services) and adds the notable detail that per-call prices are included. It does not, however, reference any sibling tool or clarify how it differs from adjacent catalog-style tools such as account or fx.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites or authentication, and no alternative named for cases where the agent needs filtered or detailed service data. The agent must infer the usage context entirely.

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

shownotes_genAInspect

Show notes from a transcript: 3 title options, summary, highlights, guest names, hashtags and every URL actually said or shown in the text (extracted, not invented). Cost €0.08 per episode, charged to the API key in Authorization: Bearer. Parameters — transcript: text or JSON [{start,end,text}] segments; audio_url: audio/video url (alternative); lang: output language (default transcript's own).

NameRequiredDescriptionDefault
langNo
audio_urlNo
transcriptNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations present, the description carries the full load and does well: it discloses a per-episode cost of €0.08 billed to the Authorization bearer key, and a fidelity guarantee that URLs are extracted rather than invented. It omits failure/validation behavior and whether both inputs may be supplied simultaneously.

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 deliverable list is front-loaded, followed by cost and then a compact parameter block, so an agent can stop reading early if it already knows the tool. It is dense to the point of being telegraphic in the 'Parameters —' clause, but no sentence is wasted.

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

Completeness4/5

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

An output schema exists, so enumerating return fields in prose is unnecessary and the description wisely only promises what the payload emphasizes. The remaining gap is input-validity completeness: with zero required parameters, the description should state that transcript or audio_url is mandatory.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: transcript is explained as either raw text or JSON [{start,end,text}] segments, audio_url as an alternative media input, and lang as the output language defaulting to the transcript's own. The one gap is that all three are optional in the schema while the tool clearly needs an input, and the description does not resolve that.

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

Purpose4/5

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

The description names a specific resource and a concrete deliverable set: three title options, summary, highlights, guest names, hashtags, and extracted URLs. That output list implicitly separates it from siblings like summarize, chapters_gen, and caption, though it never names a sibling explicitly, which keeps it short of a 5.

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

Usage Guidelines3/5

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

It signals the two input routes by labeling audio_url as an 'alternative' to transcript, which is genuine usage context. It gives no when-not guidance, no routing to summarization/chapters/subtitle siblings, and no stated precondition such as 'provide exactly one of transcript or audio_url'.

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

social_post_genAInspect

N post options per platform (X, LinkedIn, Instagram, Threads) promoting an episode from its transcript, each under that platform's character limit. Billed per post generated. Cost €0.02 per post, charged to the API key in Authorization: Bearer. Parameters — transcript: text or JSON [{start,end,text}] segments; audio_url: audio/video url (alternative); platforms: comma list of x, linkedin, instagram, threads (default all 4); n: 1-5 posts per platform (default 2); lang: output language (default transcript's own).

NameRequiredDescriptionDefault
nNo
langNo
audio_urlNo
platformsNo
transcriptNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does well: it discloses the billing model (billed per post generated, €0.02 per post) and the auth mechanism (charged to the API key in Authorization: Bearer), plus the per-platform character-limit behavior. It stops short of describing failure modes or what happens on partial platform failure, so it is 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 what the tool produces, then billing, then a compact parameter glossary — no filler sentences. The parameter block reads as one long run-on, which is dense but still scannable; minor structural cost only.

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

Completeness5/5

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

An output schema exists, so return-value explanation is not needed, and the description covers everything else an agent needs before calling: input sources, defaults, ranges, language behavior, per-platform limits, and the cost implication of the n parameter. Nothing material is missing for a generation tool of this complexity.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does: every one of the five parameters is explained with format and meaning — transcript as plain text or JSON [{start,end,text}] segments, audio_url as an alternative source, platforms as a comma list of x/linkedin/instagram/threads, n as 1-5 per platform (default 2), lang as output language defaulting to the transcript's own.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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: generating N post options per platform (X, LinkedIn, Instagram, Threads) that promote an episode from its transcript, constrained to each platform's character limit. That is concrete enough to distinguish it from siblings like caption, shownotes_gen, or newsletter_draft_gen without opening any schema.

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

Usage Guidelines3/5

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

It gives useful input-selection guidance (transcript text/JSON segments vs audio_url as an alternative) and states defaults for platforms, n, and lang. However, it never says when to reach for this tool instead of a nearby sibling such as caption or rewrite, and there are no explicit when-not conditions.

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

speech_to_textAInspect

Transcription with timestamps and language detection, 99 languages. Input: url or file (mp3, m4a, wav, ogg, webm, mp4) up to 25 MB / 30 min. Output: text, segments, optional SRT/VTT. Billed per started minute. Cost €0.004 per minute, charged to the API key in Authorization: Bearer. Parameters — url: string (audio/video url); language: ISO code, e.g. en, ru, uk (default: auto); translate: bool — translate to English; format: json | srt | vtt (default json, adds subtitles field).

NameRequiredDescriptionDefault
urlNo
formatNo
languageNo
translateNo

Output Schema

NameRequiredDescription
resultYes

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 billing per started minute, the exact price, that charges go to the API key in the Authorization: Bearer header, and hard input limits. It stops short of latency/sync-vs-async behavior and error modes, which would be needed for 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?

One dense but well-ordered passage with explicit Input/Output/Parameters sections and no filler; the most decision-relevant facts (what it does, limits, cost) are front-loaded.

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

Completeness4/5

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

An output schema exists, yet the description still usefully names the returned fields (text, segments, subtitles), and adds cost, auth and format constraints. The only completeness flaw is the dangling 'file' input reference that has no corresponding schema parameter, which could mislead an agent.

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 0%, so the description compensates by documenting every parameter with type, format and default (url, language ISO codes with 'auto' default, translate, format json|srt|vtt). It even supplies the enum values the schema lacks, though it types translate as bool while the schema declares a string, and it mentions a 'file' input for which no parameter exists.

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 operation (transcription with timestamps and language detection) over a specific resource (audio/video up to 25 MB / 30 min), with scope of 99 languages. It does not explicitly differentiate itself from near-neighbors in the sibling list such as subtitles, ocr or translate, so it falls short of a 5.

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

Usage Guidelines3/5

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

Usage is only implied through input constraints (supported formats, size/time caps) and the translate flag; there is no explicit 'use this when' or 'use X instead' routing against siblings like subtitles or translate. An agent can infer the context but must reason about alternatives itself.

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

sql_lintAInspect

Parse errors with line/column, dialect translation (postgres, mysql, sqlite, bigquery, snowflake, tsql…), schema check against your table/column list, pretty-print. fix=true asks the model for a corrected query and re-validates it (price ×2). Never connects to a database. Cost €0.002 per query, charged to the API key in Authorization: Bearer. Parameters — sql: query text; dialect: source dialect (default generic); to_dialect: translate to this dialect; schema: JSON {table: {column: type}}; pretty: bool, format the output; fix: bool, LLM-fix on error (price ×2).

NameRequiredDescriptionDefault
fixNo
sqlNo
prettyNo
schemaNo
dialectNo
to_dialectNo

Output Schema

NameRequiredDescription
resultYes

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 it well: it discloses auth requirements (Bearer token), exact cost (€0.002 per query), doubled pricing for fix=true, that the fix path calls a model and re-validates the result, and the critical safety fact that it never connects to a database. This is exactly the behavioral context an agent needs before invocation.

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

Conciseness5/5

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

Functionality is front-loaded, followed by cost/auth/safety, then a compact per-parameter glossary. Dense but every clause earns its place, and the semicolon-delimited parameter list keeps six params readable in one paragraph rather than padding the text.

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 six-parameter tool with an output schema and no annotations, the description covers purpose, cost, auth, safety, and all parameter meanings, so an agent can invoke it correctly. Minor gaps: the accepted dialect list is truncated ('tsql…') and no guidance on how fix behaves when the query already parses.

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

Parameters4/5

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

Schema description coverage is 0% and all six parameters are typed merely as nullable strings, so the description must compensate — and it does, defining sql, dialect (with default 'generic'), to_dialect, schema as JSON {table: {column: type}}, pretty, and fix. It even resolves the schema's string typing for pretty/fix by declaring them booleans, though that mismatch with the schema could itself cause confusion.

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

Purpose4/5

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

The description enumerates concrete capabilities with specific verbs and resources: parse errors with line/column, dialect translation across named dialects, schema checking, pretty-printing, and optional LLM-based fixing. An agent can tell exactly what the tool does. It stops short of a single crisp verb+resource statement (the word 'SQL' appears only in parameter context) and does no sibling differentiation, so not a 5.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the agent can infer that to_dialect should be set when translating and fix=true when a corrected query is wanted. There is no explicit when-to-use/when-not framing and no named alternative (e.g., a plain SQL formatter or regex_test), though no close sibling exists in the list.

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

subtitlesAInspect

Transcribe a video or audio, wrap cues to 42 chars, return SRT/VTT or burn styled subtitles into an MP4 for Reels and Shorts. Optional translation to English. Billed per started minute. Cost €0.02 per minute, charged to the API key in Authorization: Bearer. Parameters — url: video or audio url; mode: srt (default) | vtt | burn; language: ISO code (default auto); translate: bool, to English; max_chars: 16–80 per cue (default 42); font_size: 12–72 (burn); position: bottom (default) | middle | top; color: hex text color (default FFFFFF).

NameRequiredDescriptionDefault
urlNo
modeNo
colorNo
languageNo
positionNo
font_sizeNo
max_charsNo
translateNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does well: it discloses per-started-minute billing at €0.02 charged to the Bearer API key, that burn produces an MP4, and that translation is English-only. It omits turnaround/asynchrony, input size limits, and whether the burned MP4 is returned as a URL or file.

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

Conciseness4/5

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

Purpose and billing lead, followed by a compact parameter glossary, so nothing is buried. The long em-dash run-on and inconsistent units (font_size and max_chars described numerically while the schema types them as strings) cost a point.

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

Completeness4/5

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

For an 8-parameter media tool with an output schema, this covers purpose, cost, defaults, and mode behavior well enough to invoke correctly. The one gap is that url is implicitly mandatory while the schema marks no required fields, and nothing clarifies that mismatch.

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

Parameters5/5

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

Schema coverage is 0%, yet the description documents all eight parameters with defaults and allowed ranges: mode srt/vtt/burn, language ISO with auto default, translate to English, max_chars 16–80 default 42, font_size 12–72, position bottom/middle/top, and hex color default FFFFFF. It also flags which parameters only apply in burn mode, which the bare schema cannot convey.

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

Purpose4/5

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

"Transcribe a video or audio, wrap cues to 42 chars, return SRT/VTT or burn styled subtitles into an MP4" states a concrete verb, resource, and output set, so the agent knows exactly what comes back. It never names a sibling (caption, speech_to_text, video_clip) to differentiate, which keeps it just below the top score.

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

Usage Guidelines3/5

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

Targeting is implied by "for Reels and Shorts" and the mode list, which hints at vertical-video captioning versus plain transcript delivery. There is no explicit when-not guidance and no routing to alternatives such as speech_to_text for audio-only transcription or translate for text translation.

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

summarizeAInspect

Faithful summary of text or a URL: short, medium or long; paragraph, bullets or TL;DR; any output language. Billed per started 4 000 chars. Cost €0.003 per request (4 000 chars), charged to the API key in Authorization: Bearer. Parameters — text: text to summarize; url: page url (alternative); length: short | medium (default) | long; format: paragraph (default) | bullets | tldr; language: output language (default same).

NameRequiredDescriptionDefault
urlNo
textNo
formatNo
lengthNo
languageNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/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 full burden and does well: it discloses billing granularity ('per started 4 000 chars'), the exact price (€0.003), and that charges go against the API key in the Authorization Bearer header. It omits failure modes (invalid URL, oversized input) and any indication of response time limits.

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

Conciseness4/5

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

Front-loaded with purpose and variant enumeration, followed by billing and then a compact parameter glossary — every clause carries information. The single run-on opening sentence plus inline pricing makes it slightly dense to scan, but there is no filler.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and pricing/auth/params are covered. However, with zero annotations and zero schema description coverage, an agent still lacks guidance on precedence when both text and url are supplied and on input size or error behavior, leaving gaps for a 5-param tool.

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

Parameters5/5

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

Schema coverage is 0% and the schema has no enums, so the description is the sole source of parameter meaning — and it delivers: all five params are defined, the allowed value sets for length, format, and language are spelled out, and defaults (medium, paragraph, same as source) are stated. This adds substantial meaning beyond the bare 'type: string' fields.

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 ('Faithful summary of text or a URL') and enumerates the output variants (short/medium/long; paragraph/bullets/TL;DR), so the agent knows exactly what the tool produces. It does not explicitly differentiate from near-siblings like rewrite, translate, or url_to_markdown, which keeps it short of a 5.

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

Usage Guidelines4/5

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

The description clarifies that url is an 'alternative' to text, which resolves the main usage ambiguity of two optional input paths, and lists defaults so the agent knows it can omit parameters. It stops short of naming when to prefer a sibling tool (e.g., url_to_markdown for full extraction vs. summarization).

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

table_extractAInspect

Every table on the given pages as JSON rows, CSV file or Markdown. Bank statements, price lists, invoices with a text layer. Billed per page. Cost €0.025 per page, charged to the API key in Authorization: Bearer. Parameters — url: pdf url; pages: e.g. 2-4 (default all); format: json (default) | csv | markdown.

NameRequiredDescriptionDefault
urlNo
pagesNo
formatNo

Output Schema

NameRequiredDescription
resultYes

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 disclose the two things an agent most needs: billing at €0.025 per page and the auth requirement (Bearer API key). It does not say what happens when a PDF has no text layer or no tables, nor whether errors are billed.

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 purpose, then use cases, then cost/auth, then a compact parameter list — every sentence carries information an agent needs and there is no filler.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and the description covers input formats, page scoping, pricing, and auth. Minor gaps remain around no-table/scanned-PDF outcomes and page limits, but nothing that would prevent a correct call.

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

Parameters4/5

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

Schema description coverage is 0% and the schema declares no enums, so the description does all the work — it documents all three parameters with an example page range ('2-4'), the 'default all' behavior, and the format enumeration (json default | csv | markdown). It does not clarify that all parameters are technically optional/nullable or what happens if url is omitted.

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

Purpose4/5

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

The description states a specific resource and output shape: 'Every table on the given pages as JSON rows, CSV file or Markdown', and the examples ('Bank statements, price lists, invoices with a text layer') make the target domain unambiguous. The 'with a text layer' qualifier implicitly separates it from OCR-style siblings, but no sibling is named explicitly.

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

Usage Guidelines4/5

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

It gives clear usage context — text-layer PDFs, example document types, and per-page billing that matters for choosing page ranges. The 'text layer' condition acts as an implicit exclusion for scanned documents, but there is no explicit 'use ocr/pdf_text instead when…' routing.

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

text_diffAInspect

Unified diff, added/removed lines and similarity percent between two texts, or two files given by url/upload (PDF, DOCX, plain text extracted on our side). Billed ×3 when a side is a PDF or DOCX. Side b only can be a multipart file. Cost €0.001 per text, charged to the API key in Authorization: Bearer. Parameters — text_a: first text; url_a: url to pdf/docx/txt (alternative to text_a); text_b: second text; url_b: url (alternative to text_b); context: unified diff context lines, 0–10 (default 3); ignore_whitespace: bool, trim each line before comparing (default false).

NameRequiredDescriptionDefault
url_aNo
url_bNo
text_aNo
text_bNo
contextNo
ignore_whitespaceNo

Output Schema

NameRequiredDescription
resultYes

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 behavioral burden and does well: it discloses that server-side extraction happens for PDF/DOCX/txt, that billing is ×3 for PDF/DOCX, the per-text price (€0.001), and that charges go to the Bearer API key. Remaining gaps are operational limits — maximum file size, behavior on malformed URLs, and what happens when both inputs for a side are set.

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 output/behavioral facts are front-loaded in the first sentences and the parameter list is compactly enumerated, so nothing is buried. It is dense to the point of being a run-on paragraph, and a line break or bulleted parameter list would improve scanability without adding words.

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

Completeness5/5

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

For a six-parameter tool with paid, multi-modality inputs, the description covers inputs, defaults, format conversion, multipart restriction and cost model; return-value details are covered by the existing output schema. An agent has enough to call it correctly, with only size limits and conflict-resolution between text/url left implicit.

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

Parameters5/5

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

Schema description coverage is 0% and every property is typed merely as string, so the description is the only source of semantics — and it fully compensates, documenting all six parameters with meaning, defaults and constraints (context 0–10 default 3; ignore_whitespace is a bool that trims lines before comparing, despite the schema declaring it a string). This is meaningful value the schema cannot supply.

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

Purpose5/5

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

Opens with a specific verb+resource combination: unified diff, added/removed lines and similarity percent between two texts or two files. It also names the accepted input modalities (url/upload, PDF/DOCX/plain text), which no sibling tool covers, so an agent can distinguish it from pdf_text, change_monitor or doc_convert without inspecting schemas.

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

Usage Guidelines4/5

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

It clearly frames the mutually exclusive input paths — url_a is 'alternative to text_a', url_b 'alternative to text_b' — so the agent knows which parameter combination to pick. It does not, however, state when to prefer this over sibling tools or what happens if both text and url are supplied for the same side, so there are no true exclusions.

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

text_to_speechAInspect

Natural voice from text, 24 kHz. 21 voices: English US/UK, Spanish, French, Italian, Portuguese, Hindi, Japanese, Chinese. Output: MP3, OGG or WAV. Up to 5 000 chars per call; billed per started 1 000 chars. Cost €0.015 per 1 000 chars, charged to the API key in Authorization: Bearer. Parameters — text: string, up to 5 000 chars; voice: af_heart (default) | af_bella | am_adam | bf_emma | bm_george | ef_dora | ff_siwis | if_sara | pf_dora | jf_alpha | zf_xiaoxiao | …; speed: 0.5–2.0 (default 1.0); format: mp3 | ogg | wav (default mp3).

NameRequiredDescriptionDefault
textNo
speedNo
voiceNo
formatNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations supplied the description carries the full burden and does well: it discloses per-call limits, billing granularity ('per started 1 000 chars'), pricing, and the auth requirement ('charged to the API key in Authorization: Bearer'). It omits whether audio is returned inline or as a URL, and any rate-limit or failure behavior, which keeps it from a 5.

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

Conciseness4/5

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

Dense and front-loaded: capability first, then output format, then limits/cost, then parameters. Every sentence carries information, though the trailing 'Parameters —' block reads as a schema restatement and the truncated voice list wastes a slot it could have used for the full set.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and the description covers cost, auth, limits, formats and all four parameters adequately for a 4-parameter tool. The main residual gap is how a 5 000-char-plus input should be handled and the incomplete voice/language mapping.

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 0%, so the description must compensate, and it largely does: it documents defaults and ranges for voice, speed (0.5–2.0, default 1.0) and format, plus the text cap. The voice enumeration is truncated with an ellipsis (11 of a claimed 21 shown) and never maps voices to languages, leaving an agent unable to pick a non-English voice reliably.

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

Purpose5/5

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

Opens with a specific verb+resource: 'Natural voice from text, 24 kHz', which unambiguously identifies speech synthesis and, paired with the sibling speech_to_text, makes the direction of conversion obvious 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?

Usage context is clear from the char cap ('Up to 5 000 chars per call') and cost model, giving the agent practical invocation constraints. It never explicitly names when to prefer an alternative or what to do for longer inputs (chunking?), 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.

translateAInspect

Translation that keeps Markdown, placeholders and tone; glossary supported; 38 languages. Billed per started 1 000 chars. Cost €0.01 per 1 000 chars, charged to the API key in Authorization: Bearer. Parameters — text: text; to: target ISO code, e.g. en, de, uk; tone: neutral (default) | formal | casual | marketing; glossary: source=target pairs, comma-separated.

NameRequiredDescriptionDefault
toNo
textNo
toneNo
glossaryNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/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 substantial work: it discloses billing granularity (per started 1 000 chars), the exact price (€0.01 per 1 000 chars), and that charges attach to the bearer token in the Authorization header. What it omits is equally relevant behavior: maximum input size, failure/refund semantics, and whether a rejected language code is still billed.

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 value proposition and constraints before the parameter list, and every clause is load-bearing — preservation guarantees, language count, price, auth, then parameter formats. The trailing parameter run-on is dense and slightly hard to scan, and the "Parameters —" header duplicates what the schema already enumerates.

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

Completeness5/5

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

An output schema exists, so return values need not be explained, and the description covers the remaining questions an agent would have before calling: what is preserved, what the cost model is, where the charge lands, and what every parameter accepts. Length limits and required-field expectations are minor residuals against an otherwise complete brief for a single-endpoint transform.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it largely does: target language is defined as an ISO code with examples (en, de, uk), tone is given an enumerated value set with a stated default (neutral) that the schema does not itself declare, and glossary is given a concrete source=target, comma-separated format. The text parameter is documented only tautologically ("text: text"), and no length or escaping guidance is given for 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?

The opening clause states a specific verb and resource (translation) plus the differentiating properties: preserves Markdown, placeholders and tone, supports glossaries, and covers 38 languages. This distinguishes it cleanly from siblings such as rewrite, detect_lang and summarize without the agent needing to open a schema.

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

Usage Guidelines3/5

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

Usage is only implied — the agent can infer it should call this when text needs to move between languages. There is no explicit when-not guidance, no mention of alternatives like rewrite for same-language edits, and no statement of prerequisites such as a valid target language or a working API key balance.

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

tz_convertAInspect

op=convert moves an ISO time between IANA timezones; op=diff returns the span between two ISO times (days/hours/minutes/seconds, plus business days if country is given); op=add_business_days steps N working days from a date, skipping weekends and public holidays of the given country. Cost €0.0005 per call, charged to the API key in Authorization: Bearer. Parameters — op: convert (default) | diff | add_business_days; time: ISO datetime (convert); source: IANA tz (convert); to: IANA tz (convert); start: ISO datetime (diff); end: ISO datetime (diff); date: ISO date (add_business_days); days: integer, can be negative (add_business_days); country: ISO country code for holidays, optional; subdiv: state/region code, optional.

NameRequiredDescriptionDefault
opNo
toNo
endNo
dateNo
daysNo
timeNo
startNo
sourceNo
subdivNo
countryNo

Output Schema

NameRequiredDescription
resultYes

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 key operating traits: cost of €0.0005 per call, the required 'Authorization: Bearer' credential, and the substantive behavior that add_business_days skips weekends and public holidays. It does not say what happens on invalid tz names, missing required per-op params, or whether errors are billed, leaving a meaningful gap for a mutating-cost, multi-op tool.

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

Conciseness4/5

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

The definition is front-loaded with the three ops and their distinct behaviors, then a compact parameter glossary — dense but efficiently structured with no filler. The parameter list runs as one semicolon-chained block, which is readable but slightly harder to scan than a per-op grouping.

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 ten-parameter, three-operation tool with no annotations, the description supplies op semantics, per-op param mapping, cost and auth — and an output schema exists so return values need not be described. The remaining gap is operational failure modes and per-op required-parameter rules, which matter given all params are optional at the schema level.

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 0% (all ten params are untyped nullables with bare titles), so the description must compensate, and it does: every parameter is mapped to its operation, 'days: integer, can be negative' explains semantics, 'country: ISO country code for holidays' and 'subdiv: state/region code' add format and meaning. Gaps remain: 'days' is described as an integer while the schema types it as a string, and there is no stated default timezone for 'time'/'start' when 'source' 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?

The description names three specific operations with verbs and resources — 'convert moves an ISO time between IANA timezones', 'diff returns the span between two ISO times', 'add_business_days steps N working days' — so an agent knows exactly what the tool does and can distinguish it from siblings like unit_convert or holidays 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?

Each op is paired with the parameters it consumes and the result it produces, plus an explicit default ('op: convert (default)') and the note that business days are only added 'if country is given'. It lacks explicit when-not guidance or a pointer to the nearest alternative (e.g. holidays or unit_convert), 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.

unit_convertAInspect

Converts a value between physical units (length, mass, speed, temperature with correct offset handling, etc). Any pint-recognized unit name or symbol works; incompatible dimensions return 422. Cost €0.0005 per call, charged to the API key in Authorization: Bearer. Parameters — value: number; source: unit name, e.g. 'celsius' or 'km/h'; to: unit name.

NameRequiredDescriptionDefault
toNo
valueNo
sourceNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does well: it discloses the per-call price (€0.0005), the auth mechanism (API key in Authorization: Bearer), the failure mode (422 on dimension mismatch), and an important semantic caveat (temperature offsets handled correctly). It does not explicitly state that the operation is side-effect-free/pure, which is the one behavioral trait left implicit.

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

Conciseness5/5

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

Two dense sentences plus a parameter gloss, front-loaded with purpose, then validity/errors, then cost and auth, then parameters. Nothing is padded and the ordering matches how an agent needs the 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?

An output schema exists, so return values need no explanation, and cost, auth, and error semantics are all covered for a simple 3-parameter conversion tool. The remaining gaps are the number-versus-string conflict for value and the unstated fact that the schema marks every parameter optional.

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

Parameters4/5

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

Schema coverage is 0% and the schema properties are bare anyOf string/null, so the description must supply meaning — and it does, naming all three parameters plus concrete unit examples ('celsius', 'km/h'). The one flaw is a type mismatch: it calls value a number while the schema declares string-or-null, and it never mentions that all three parameters are optional-by-schema though practically required.

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 a value between physical units') and enumerates domains (length, mass, speed, temperature) with the notable 'correct offset handling' qualifier. This implicitly separates it from neighbours like tz_convert or fx, though it never names an alternative explicitly.

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

Usage Guidelines3/5

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

Tells the agent what inputs are valid ('any pint-recognized unit name or symbol') and what happens on failure ('incompatible dimensions return 422'), which is useful invocation guidance. It gives no when-to-use versus when-not guidance relative to siblings such as tz_convert (time zones) or math_eval, leaving that routing to inference.

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

uptimeAInspect

HTTP status, latency, redirects, server header, TLS certificate issuer and days to expiry. One probe per call; schedule them from your side. Cost €0.0005 per check, charged to the API key in Authorization: Bearer. Parameters — url: site url or host.

NameRequiredDescriptionDefault
urlNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/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 full burden and does meaningful work: it discloses the per-check price (€0.0005), that billing is tied to the Bearer API key, and that no server-side scheduling occurs. It leaves out failure/timeout behavior and any rate limits, 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?

Four short sentences, front-loaded with output content, then operational constraints, then the parameter. Every sentence contributes distinct information and nothing is repeated from structured fields.

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

Completeness4/5

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

An output schema exists, so return values need not be re-explained, yet the description still summarizes them usefully alongside cost, auth and invocation cadence. For a single-parameter probe the only real gap is error/timeout behavior.

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

Parameters4/5

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

Schema coverage is 0% and the schema only offers an untyped string/null, so the description's "url: site url or host" adds genuine meaning by permitting a bare hostname rather than a full URL. It does not clarify what happens if the optional url is omitted (default null), which keeps it below a 5.

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

Purpose4/5

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

The description names a specific resource-and-output set: HTTP status, latency, redirects, server header, TLS issuer and days to expiry, so an agent knows exactly what a call yields. It does not distinguish the tool from the nearest sibling, domain_health, which prevents a top score.

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?

"One probe per call; schedule them from your side" tells the agent this is a single-shot primitive rather than a monitor, which is real usage guidance. However, it never states when to prefer this over domain_health or link_preview, nor any prerequisites or exclusions.

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

url_safetyAInspect

Phishing and scam risk of a link from its own signals, without a paid threat feed: lookalike and typosquatted brand domains, mixed-alphabet (homograph) hosts, brand names on foreign domains, IP hosts, shorteners, redirect chain, domain age, TLS, password or seed-phrase forms on the page. Returns score 0–1, verdict low | medium | high and every signal with evidence. Under 15 s. Cost €0.002 per url, charged to the API key in Authorization: Bearer. Parameters — url: link to check; deep: true (default): follow redirects, WHOIS age, TLS and page; false: address only, under 50 ms.

NameRequiredDescriptionDefault
urlNo
deepNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations supplied, the description carries the full burden and does so: it discloses cost (€0.002 per URL), the billing/auth mechanism (API key in Authorization: Bearer), latency bounds (under 15 s deep, under 50 ms shallow), and the return shape (0–1 score, low/medium/high verdict, per-signal evidence). It also discloses the divergence between deep and shallow inspection, which is the main behavioral risk of misuse.

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

Conciseness4/5

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

Front-loaded with purpose, then return values, then cost/latency, then a clearly delimited 'Parameters —' section. The signal enumeration is dense but every item adds discriminating information; the only minor waste is restating return values that the output schema already covers.

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

Completeness4/5

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

An output schema exists and return details are still summarized, and cost/auth/latency are covered, which is sufficient for a two-parameter read-only scoring tool. Remaining gaps are error behavior for malformed or unreachable URLs and any rate limiting, though neither is critical to correct invocation.

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

Parameters4/5

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

Schema description coverage is 0% and the schema types are uninformative (both fields anyOf string/null with null defaults), so the description must compensate and largely does: it explains `url` as the link to check and defines `deep` as true=redirects+WHOIS+TLS+page, false=address only. It does not address the schema/description mismatch (deep typed as string, default null) or that `url` is technically optional.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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: phishing and scam risk scoring of a link from its own signals, explicitly 'without a paid threat feed'. It enumerates the exact signal families checked (typosquatting, homographs, IP hosts, shorteners, redirect chains, domain age, TLS, credential-harvest forms), which clearly separates it from sibling tools like link_preview, domain_health, and url_to_markdown.

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

Usage Guidelines4/5

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

The description gives concrete selection criteria for the `deep` mode (follow redirects/WHOIS/TLS/page vs address-only under 50 ms) and makes the paid-per-call tradeoff explicit, which is real usage guidance. It never names a sibling tool or states an explicit exclusion, so the agent must infer that link_preview or url_to_markdown are for non-security fetches.

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

url_to_markdownAInspect

Main content of a page as clean Markdown for LLM context: title, author, date, text with links and tables; navigation, ads and cookie banners stripped. JS-rendered pages supported. Cost €0.0015 per page, charged to the API key in Authorization: Bearer. Parameters — url: string (http/https page url); js: bool — render with Chromium (default true); false = plain fetch, faster; links: bool — keep links (default true); images: bool — keep images (default true); main_only: bool — main article only (default true); wait: ms to wait after load, 0–8000.

NameRequiredDescriptionDefault
jsNo
urlNo
waitNo
linksNo
imagesNo
main_onlyNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does well: it discloses that JS-rendered pages are supported, what is stripped from output, that billing is €0.0015 per page charged to the API key in Authorization: Bearer, and the default for every flag. It omits failure behavior, rate limits, and any page-size or truncation limits, which matter for a paid network fetch.

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

Conciseness4/5

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

Purpose and output shape are front-loaded in the first two sentences, followed by a compact parameters block, so an agent can stop reading early if it only needs the gist. The parameter run-on is dense but each clause earns its place; minor waste in restating defaults that could be inferred.

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

Completeness4/5

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

An output schema exists, so return-value explanation is rightly omitted, and the description covers auth, cost, defaults, and content filtering. For a paid external fetch with six params it is close to complete, lacking only error/limit behavior and any note that url is the de facto required input despite required=[] in the schema.

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

Parameters5/5

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

Schema description coverage is 0% and the schema is actively unhelpful — all six properties are typed as string-or-null with no descriptions. The description rescues this by declaring the real types (bool for js/links/images/main_only), defaults, and the meaning of each, plus the 0–8000 range for wait. This is meaning genuinely added beyond the schema.

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

Purpose4/5

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

The opening clause names a concrete transformation — page content to clean Markdown with title, author, date, text, links and tables, with navigation/ads/cookie banners stripped. That is a specific verb+resource an agent can match to a need. It never names a sibling (html_pdf, md_convert, pdf_text, browser, screenshot) to route away from, so it stops short of full differentiation.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use statement, and no alternative tool is mentioned. The only guidance is parameter-level (js=true default, false = plain fetch, faster), which helps configure a call but not choose the tool. The 'for LLM context' phrase hints at intent but leaves selection to inference.

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

uuidAInspect

kind=v4 random, v7 time-ordered (RFC 9562, monotonic within a batch), ulid (Crockford base32, also monotonic). Up to 100 per call. Cost €0.0005 per call, charged to the API key in Authorization: Bearer. Parameters — kind: v4 (default) | v7 | ulid; count: 1–100.

NameRequiredDescriptionDefault
kindNo
countNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations supplied, the description carries the burden and does disclose important operational details: maximum batch size, cost per call, and that billing is tied to the API key in the Authorization header. It does not explicitly describe side effects or idempotency, but for a value-generation tool those gaps are less critical.

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

Conciseness5/5

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

The description is compact and front-loads the kind options, then batch size, cost/authentication, and parameter definitions. Every clause contributes useful information, with no repetition or filler.

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

Completeness5/5

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

For a simple two-parameter generation tool with an output schema already present, the description covers the key behavioral and parameter details an agent needs: variants, defaults, limits, cost, and authentication context. Return-value documentation is correctly left to the output schema.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does: it defines kind as v4 (default), v7, or ulid, and explains count as a range from 1 to 100. The schema only exposes bare string/null fields, so the description adds substantial meaning beyond the input schema.

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

Purpose4/5

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

The description makes clear that this tool generates UUID/ULID values and names the supported kinds (v4, v7, ulid) with brief characteristics. It is specific about the resource but does not use an explicit verb like 'generate' and does not distinguish itself from utility siblings such as hash.

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 provides useful selection context for the kind parameter: v4 is random, v7 is time-ordered and monotonic within a batch, and ulid is also monotonic. It also states the default and batch limit, though it does not explain when one variant is preferable over another.

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

vat_checkAInspect

Validity of an EU VAT number via VIES (27 EU states + XI), with registered company name and address when the member state returns them. Cost €0.004 per lookup, charged to the API key in Authorization: Bearer. Parameters — vat: number with or without country prefix, e.g. DE123456789; country: ISO-2 if not in the number.

NameRequiredDescriptionDefault
vatNo
countryNo

Output Schema

NameRequiredDescription
resultYes

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 per-lookup pricing (€0.004), that billing goes against the Bearer API key, and that name/address are only returned when the member state supplies them. It does not cover failure behavior (malformed vs. unregistered number) or rate limiting, which keeps it below a 5.

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

Conciseness4/5

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

The capability, cost, and auth model are front-loaded in the first sentences, with parameter notes trailing in a compact clause. Dense but free of filler; the only mild cost is that the parameter guidance is packed into one long dash-introduced sentence rather than being separately scannable.

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-optional-parameter lookup with an output schema present, the description covers what the tool does, its coverage limits, its cost model, and the shape of the returned enrichment, which is enough to call it correctly. The remaining gap is error/edge-case behavior, a minor omission given the output schema carries the return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 0% and both parameters are nullable with no required fields, so the description must compensate. It does clarify that vat accepts an optional country prefix and that country is the ISO-2 fallback, but it never states the precedence when the prefix and country disagree, nor whether both may be null.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 operation: validity of an EU VAT number via VIES, scoped to 27 EU states plus XI. The inclusion of 'registered company name and address' further distinguishes it from siblings like iban_validate or company_verify, so an agent can identify it without opening the schema.

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

Usage Guidelines3/5

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

Usage is implied by the VIES/EU VAT framing, and the cost line gives a reason to avoid redundant calls, but there is no explicit when-to-use/when-not-to-use guidance or named alternative (e.g. company_verify) for non-EU or non-VAT checks. The agent must infer the boundary conditions.

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

video_clipAInspect

Trim by start/end, centre-crop to 9:16, 1:1, 4:5, 16:9, resize, mute; output MP4, WebM, an animated GIF or WebP (clip up to 15 s), a JPG frame or MP3 audio. Input up to 25 MB / 20 min. Cost €0.008 per minute, charged to the API key in Authorization: Bearer. Parameters — url: video url; start: seconds; end: seconds; aspect: 9:16 | 1:1 | 4:5 | 16:9 | 4:3; width: output width px; format: mp4 (default) | webm | gif | webp | jpg | mp3; fps: gif/webp frames per second (default 12); quality: 1–100 for webp (default 75); at: frame time for jpg; mute: bool; crf: 18–35 quality for mp4 (default 23).

NameRequiredDescriptionDefault
atNo
crfNo
endNo
fpsNo
urlNo
muteNo
startNo
widthNo
aspectNo
formatNo
qualityNo

Output Schema

NameRequiredDescription
resultYes

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 so well: it discloses hard input limits (25 MB / 20 min), duration cap for GIF/WebP (15 s), cost (€0.008 per minute), and the auth mechanism (API key in Authorization: Bearer). It does not describe failure modes, processing latency, or sync/async behavior, which keeps it from a 5.

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

Conciseness4/5

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

Capabilities, limits and pricing are front-loaded before the parameter list, and every clause carries information with no filler. It is dense and somewhat run-on as a single paragraph, but appropriate in size for an 11-parameter tool.

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

Completeness4/5

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

For a complex 11-parameter media tool, the description covers cost, size/duration limits, auth, formats and all parameter meanings, and an output schema exists so return values need not be explained. Only edge behavior such as error handling or processing time is absent.

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

Parameters5/5

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

Schema description coverage is 0% and every parameter is a nullable string with no titles or meaning, so the description does the heavy lifting: it names all 11 parameters with units (start/end in seconds, width in px), enum values for aspect and format, defaults (mp4, fps 12, quality 75, crf 23), and valid ranges (1–100, 18–35). This fully compensates for the undocumented 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 specific verbs and resource up front: trim by start/end, centre-crop to named aspect ratios, resize, mute, and lists concrete outputs (MP4, WebM, GIF/WebP, JPG frame, MP3). An agent can tell immediately this is a video clipping/transcoding tool and distinguish it from siblings like compress or subtitles.

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

Usage Guidelines3/5

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

Usage is implied through capabilities and limits ('clip up to 15 s', 'input up to 25 MB / 20 min'), so an agent can infer applicability, but there is no explicit when-to-use/when-not guidance or routing to alternatives such as compress or extract-audio tools elsewhere 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.

vin_decodeAInspect

Decodes a 17-character VIN into make, model, year, body, engine, transmission and assembly plant. Most complete for the US market. A mismatched check digit is returned as a warning (checksum_valid:false), not a 422. Cost €0.002 per lookup, charged to the API key in Authorization: Bearer. Parameters — vin: 17-character VIN (letters I, O, Q are not valid VIN characters).

NameRequiredDescriptionDefault
vinNo

Output Schema

NameRequiredDescription
resultYes

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 real weight and delivers: an invalid check digit yields a warning (checksum_valid:false) rather than a 422, cost is €0.002 per lookup, and billing requires an API key in the Authorization: Bearer header. It omits rate limits and what happens with a non-17-character or malformed VIN, which is the remaining gap for an unannotated tool.

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

Conciseness4/5

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

Front-loaded with the core behavior, then market scope, error semantics, cost, and finally the parameter note – a sensible order with little waste. The trailing 'Parameters —' clause reads as an appended afterthought rather than integrated prose.

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

Completeness4/5

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

An output schema exists, so return fields need not be enumerated, yet the description still names the key warning field. Cost and auth are covered, making this nearly self-sufficient; only malformed-input handling and the optional/nullable parameter are unaddressed.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate, and it does by defining the 17-character length and the invalid characters (I, O, Q). It does not mention that the parameter is technically optional with a null default in the schema, which leaves a small inconsistency an agent could trip over.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('Decodes a 17-character VIN') and enumerates exactly what comes back: make, model, year, body, engine, transmission and assembly plant. No sibling tool overlaps with VIN decoding, so the agent can route unambiguously.

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

Usage Guidelines4/5

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

The note 'Most complete for the US market' tells the agent when this tool is the strong fit and implies weaker coverage for non-US VINs. There are no alternative VIN tools among the siblings to name, so the absence of explicit alternatives is understandable, but non-US guidance stays implicit rather than stated.

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

watermarkAInspect

Text or logo watermark: corner, center or tiled, with opacity. Output JPEG, PNG or WebP. Cost €0.001 per image, charged to the API key in Authorization: Bearer. Parameters — url: image url; text: watermark text (or logo_url); logo_url: PNG/SVG-rendered logo url; position: bottom-right (default) | bottom-left | top-right | top-left | center | tile; opacity: 5–100 (default 35); format: jpeg | png | webp.

NameRequiredDescriptionDefault
urlNo
textNo
formatNo
opacityNo
logo_urlNo
positionNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does meaningful work: it discloses a per-image price of €0.001, that billing hits the API key in the Authorization header, and the default position and opacity. It does not clarify whether url is mandatory or whether text/logo_url are mutually exclusive, and says nothing about failure modes, 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.

Conciseness4/5

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

Front-loads the capability and output formats, then a single compact 'Parameters —' run gives each field in name: meaning form. It is dense rather than padded, though the trailing parameter clause reads as one long run-on that could be broken for faster scanning.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and the description fully covers inputs, cost, and auth. The remaining gap is input composition: all six params are optional in the schema and the description never states that url plus at least one of text/logo_url is required, which 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.

Parameters5/5

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

Schema description coverage is 0% and every property is an undescribed nullable string, so the description is the only source of meaning. It documents all six parameters, and crucially supplies enumerations the schema lacks entirely: position values with default bottom-right, opacity range 5–100 with default 35, and format jpeg|png|webp.

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

Purpose5/5

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

Opens with a specific verb+resource ('Text or logo watermark') and enumerates the modalities (corner, center, tiled, opacity) plus output formats. No sibling in the list does watermarking, and the definition makes that scope unmistakable without needing to open 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?

Provides concrete operative context (cost per image, required Bearer auth, supported formats) so an agent knows the conditions of calling it. It stops short of explicit when-to-use/when-not guidance or naming alternatives such as compress or remove_background, so it does not reach 5.

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

weatherAInspect

Current conditions, hourly forecast and daily min/max temperature and precipitation from MET Norway. Coordinates only, no city geocoding. Attribution is required by the CC BY 4.0 license and included in every response. Cost €0.001 per call, charged to the API key in Authorization: Bearer. Parameters — lat: latitude, -90..90; lon: longitude, -180..180; hours: hours ahead, 1-72 (default 24).

NameRequiredDescriptionDefault
latNo
lonNo
hoursNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations at all, the description carries the full behavioral burden and does well: billed cost per call, the required Authorization: Bearer key, mandatory CC BY 4.0 attribution embedded in every response, and data latency implied by forecast source. The gap is that it never says what happens if lat/lon are omitted, even though the schema marks all three parameters optional with null defaults.

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

Conciseness4/5

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

Front-loaded with the capability and source, then constraints, then a compact parameter list — no filler sentences. It is dense but every clause carries operational value; the parameter rundown is slightly compressed into a single trailing sentence.

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

Completeness4/5

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

An output schema exists, so return-shape explanation is not needed, and cost, auth, attribution, and source are all covered. What is missing is unit convention (Celsius vs Fahrenheit, mm vs inches) and the null-coordinate fallback, both minor for a straightforward retrieval tool.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate and it does fully: lat valid range -90..90, lon range -180..180, hours 1-72 with a stated default of 24. This is more meaning than the bare string-typed schema conveys on its own.

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

Purpose5/5

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

The description names the exact resource and granularity: current conditions, hourly forecast, and daily min/max temperature and precipitation, plus the upstream source (MET Norway). The clause 'Coordinates only, no city geocoding' cleanly separates it from geocoding/ip_geo style 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 Guidelines3/5

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

It states a real usage constraint ('coordinates only') and a cost/auth precondition, which implicitly tells the agent it must already hold lat/lon. However, no alternative tool is named (e.g. ip_geo to derive coordinates) and there is no explicit when-not guidance beyond the geocoding exclusion.

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

web_answerAInspect

Answers a question grounded in live web search: searches, reads the top pages and replies with numbered citations, or says the answer wasn't found instead of guessing. Cost €0.008 per question, charged to the API key in Authorization: Bearer. Parameters — question: question to answer; region: ddgs region, e.g. de-de, us-en (default wt-wt).

NameRequiredDescriptionDefault
regionNo
questionNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose valuable behavior: per-question cost of €0.008 billed to the Bearer API key, reading of top pages, numbered citations, and refusal instead of guessing. It omits latency, rate limits, and what happens when question is null despite both parameters being optional.

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?

Everything is packed into one front-loaded paragraph with no filler; purpose comes first, then pricing/auth, then parameters. It is slightly dense as a single run-on block but nothing is wasted.

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

Completeness4/5

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

An output schema exists, so return structure need not be described, and the description still outlines the answer format (numbered citations). Cost, auth, fallback behavior, and both parameters are covered; only failure modes beyond 'not found' are missing.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate, and it does: 'question' is defined as the question to answer and 'region' is explained as a ddgs region with concrete examples (de-de, us-en) and the default wt-wt, none of which appears in the schema.

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

Purpose4/5

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

States a specific verb and resource: 'Answers a question grounded in live web search', and adds the mechanism (searches, reads top pages, numbered citations). This implicitly separates it from web_search (raw results vs. synthesized answer), but never names that sibling explicitly.

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

Usage Guidelines3/5

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

The 'grounded in live web search' framing implies when to use it (factual questions needing live sources), and the no-guess fallback sets expectations. There is no explicit when-not guidance and no named alternative such as web_search for raw result lists.

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

webhook_relayAInspect

Get an inbound URL that accepts webhooks for you and forwards them to your target with HMAC signature and 5 retries over 7 hours; or call a URL on a schedule (every 5–1440 min). Event log and replay. Cost €0.0005 per event, charged to the API key in Authorization: Bearer. Parameters — op: create (default) | schedule | list | events | replay | delete; target: your https endpoint; name: label; every_minutes: 5–1440 for schedule; method: GET | POST for schedule; body: JSON body for scheduled POST; id: hook id; event_id: event to replay.

NameRequiredDescriptionDefault
idNo
opNo
bodyNo
nameNo
methodNo
targetNo
event_idNo
every_minutesNo

Output Schema

NameRequiredDescription
resultYes

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 does well: it discloses HMAC signing, 5 retries over 7 hours, an event log with replay, a per-event price of €0.0005, and that billing is charged to the key in the Authorization: Bearer header. It stops short of stating whether delete is irreversible or whether the event log is retained after deletion.

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?

Capability, behavior, cost, and auth are front-loaded in one dense sentence before the parameter list, so the most important context appears first. The trailing 'Parameters —' block is a compressed run-on that packs eight definitions into one line, which is efficient but harder to scan.

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 eight-parameter, multi-operation tool with no annotations, the description covers the mode selector, the safety/behavior profile (signing, retries, log, replay), cost, and authentication. Since an output schema exists, it need not explain return values, leaving nothing essential for correct invocation 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 description coverage is 0%, so the description must define all eight parameters, and it does: op values, target, name, every_minutes range, method values, body, id, and event_id. The compensation is solid though slightly terse where 'id: hook id' and 'event_id: event to replay' could be confused, and every_minutes is described as a range while the schema types it as a string.

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

Purpose5/5

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

The first sentence states a concrete verb and resource: it issues an inbound URL that accepts webhooks and forwards them to a target, or schedules a call to a URL. It also names distinct mechanisms (HMAC signing, retries, event log, replay) that no sibling tool offers, so an agent can tell it apart from change_monitor or cron_explain 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?

The 'op' enumeration effectively tells the agent which mode to pick for each job: create for relay, schedule for periodic calls, list/events/replay/delete for management. It does not state when NOT to use this tool or what happens if op is omitted beyond '(default)', but the operation menu supplies clear routing.

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. 8 tool updates
    • Addedchapters_gen
    • Addedclip_cut_caption
    • Addedhighlight_clip_finder
    • Addedmulti_lang_episode
    • Addednewsletter_draft_gen
    • Addedquote_card_gen
    • Addedshownotes_gen
    • Addedsocial_post_gen
  2. 91 tool updates
    • First observedaccount
    • First observedbank_statement_parse
    • First observedbarcode
    • First observedbase64
    • First observedbrowser
    • First observedcaption
    • First observedchange_monitor
    • First observedchart_render
    • First observedclassify
    • First observedcolor_palette
    • First observedcompany_verify
    • First observedcompress
    • First observedcontract_clause_extract
    • First observedcron_explain
    • First observedcsv_convert
    • First observeddenoise
    • First observeddetect_lang
    • First observeddiagram_render
    • First observeddoc_convert
    • First observeddoc_redact
    • First observeddocx_gen
    • First observeddomain_health
    • First observede_invoice
    • First observedemail_verify
    • First observedembed
    • First observedentity_extract
    • First observedexif_strip
    • First observedextract_json
    • First observedfile_type_detect
    • First observedfx
    • First observedhash
    • First observedholidays
    • First observedhtml_pdf
    • First observediban_validate
    • First observedimage_moderate
    • First observedinvoice_3way_match
    • First observedinvoice_parse
    • First observedip_geo
    • First observedjwt_tools
    • First observedlib_docs
    • First observedlink_preview
    • First observedllms_txt
    • First observedmath_eval
    • First observedmcp_host
    • First observedmd_convert
    • First observedmemory
    • First observednews_brief
    • First observedocr
    • First observedog_image
    • First observedpaper_search
    • First observedpdf_sign
    • First observedpdf_text
    • First observedpdf_tools
    • First observedphone_validate
    • First observedprofanity_filter
    • First observedprompt_guard
    • First observedpurchase_order_extract
    • First observedqr
    • First observedreadability_score
    • First observedregex_test
    • First observedremove_background
    • First observedresume_parse
    • First observedrewrite
    • First observedsanctions_screen
    • First observedscreenshot
    • First observedsemantic_search
    • First observedseo_audit
    • First observedseo_meta
    • First observedservices
    • First observedspeech_to_text
    • First observedsql_lint
    • First observedsubtitles
    • First observedsummarize
    • First observedtable_extract
    • First observedtext_diff
    • First observedtext_to_speech
    • First observedtranslate
    • First observedtz_convert
    • First observedunit_convert
    • First observeduptime
    • First observedurl_safety
    • First observedurl_to_markdown
    • First observeduuid
    • First observedvat_check
    • First observedvideo_clip
    • First observedvin_decode
    • First observedwatermark
    • First observedweather
    • First observedweb_answer
    • First observedweb_search
    • First observedwebhook_relay

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    20 pay-per-call utility tools for AI agents via x402 USDC micropayments on Base. Screenshots, OCR, PDF, web scraping, weather, forex rates, crypto/stock prices, DNS, geocoding, translation, and more. $0.001–$0.008 per call. No API keys, no signup.
    127
    1
    MIT
  • F
    license
    Not graded
    quality
    F
    maintenance
    Provides 63 production-ready API tools for AI agents, including web scraping, AI generation, crypto data, OCR, image generation, audio transcription, text-to-speech, email, and domain lookup.
    3
    -
  • A
    license
    A
    quality
    C
    maintenance
    Healthcare billing AI for agents — 12 tools for ICD-10/CPT/HCPCS code lookup (80K+ codes), prior auth prediction, medical NER, claims validation, HIPAA compliance auditing, and provider/drug enrichment. Pay-per-call via credits or USDC.
    32
    557 npm
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources