AgentRXI
Server Details
232 pay-per-call agent tools: LLMs, search, browser, OCR, media, vision, email. x402 USDC.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Score is being calculated.
Available Tools
365 toolsabi_decodeabi decodeARead-onlyInspect
Decode EVM calldata or an event log: the function (or event) name and typed arguments. Uses your ABI or human-readable signature, or looks the selector up in the public signature databases (openchain, 4byte). Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| abi | No | Optional JSON ABI or signatures like transfer(address,uint256) | |
| data | Yes | 0x calldata, or event data | |
| topics | No | Event topics (JSON array or | separated) to decode a log |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and network reach are covered. The description adds genuinely useful behavioral context beyond that: the external selector databases it may consult and the per-call cost ($0.002 USDC via x402), which materially affects invocation decisions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences: the first defines what is decoded and returned, the second covers input resolution and cost. No filler, and the highest-value information leads.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter read-only tool with no output schema, the description already states the return shape (name and typed arguments) and the cost/lookup mechanisms. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema, including the JSON-ABI-or-signature forms and the topics format. The description adds no format or syntax detail beyond that, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (decode) with two concrete resources (EVM calldata, event log) and names the output shape (function/event name plus typed arguments). This clearly separates it from the sibling abi_encode without needing to open either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the input pathways — supply your own ABI, a human-readable signature, or let it look the selector up in openchain/4byte — which tells the agent when this tool will succeed. It stops short of explicitly naming abi_encode as the inverse operation or stating when not to use it, so it is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
abi_encodeabi encodeARead-onlyInspect
Build EVM calldata from a function signature and arguments (e.g. transfer(address,uint256) + [to, amount]): returns the 0x data and selector, ready for a transaction or /v1/tx/simulate. Tuples and arrays supported via JSON args. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | JSON array, or | separated | |
| signature | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true is consistent with a pure encoding computation; openWorldHint=true). The description adds genuinely non-structured information: the exact return shape ('0x data and selector'), tuple/array support via JSON args, and the per-call cost of $0.002 USDC (x402).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core verb and purpose, followed by the example, output shape, capability notes, and cost. It is a single dense sentence plus two short clauses with essentially no waste, though the cost sentence sits last where it is easy to skim past.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description appropriately covers the return value ('0x data and selector'). Cost, supported types, and downstream usage are all addressed for a 2-parameter tool with high sibling density; only the missing 'when to choose this over abi_decode' guidance keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% — the required 'signature' parameter has no schema description at all. The description compensates by showing the signature format via example and clarifying that args accepts JSON (tuples/arrays), adding real meaning beyond the schema's terse 'JSON array, or | separated' note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource — 'Build EVM calldata from a function signature and arguments' — and the concrete example ('transfer(address,uint256) + [to, amount]') makes the operation unmistakable. It is cleanly the inverse of the sibling abi_decode, so an agent can distinguish them 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the description notes the output is 'ready for a transaction or /v1/tx/simulate', which hints at the downstream context. It never states when to prefer this over abi_decode or what prerequisites the input must satisfy; the agent must infer the use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
address_validateaddress validateARead-onlyInspect
Check a crypto address before sending money: EVM (EIP-55 checksum, catches typos), Bitcoin legacy / P2SH / SegWit / Taproot (base58check and bech32/bech32m checksums), Solana, Tron and other bech32 chains. Also flags private keys and transaction hashes pasted by mistake. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful behavior beyond that: a concrete cost ($0.002 USDC per call via x402) and an extra detection scope (flags private keys and tx hashes pasted by mistake). It stops short of describing the return shape or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose and the pre-send-money intent, then a dense but useful chain enumeration, then cost. No filler sentences. The chain list is long but each entry conveys real supported coverage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should ideally sketch what a result looks like (valid/invalid, checksum error, flagged-as-private-key). It says the tool 'checks' and 'flags' but never describes the return, leaving a gap for an agent that must interpret the result. Cost and safety are otherwise covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'address' parameter, so the description must carry the meaning. It partially compensates by enumerating the accepted formats and chains, telling the agent what kind of string to pass, but it does not state that the value is a single raw address string and gives no format constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Check a crypto address') and enumerates the exact address families supported (EVM EIP-55, Bitcoin base58check/bech32, Solana, Tron), which lets an agent scope the tool precisely. It does not, however, differentiate itself from the sibling 'address_verify' or 'btc_address', so the agent cannot tell from the text which validate-vs-verify 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'before sending money' gives a clear implied usage moment for the tool. But there is no explicit when-not guidance and no mention of the obvious alternative 'address_verify', leaving the agent to guess between the two siblings on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
address_verifyaddress verifyRead-onlyInspect
Address verification and standardization worldwide: parsed components (house number, street, city, state, postcode, country), confidence to building, street or city level, a plain verdict, coordinates, timezone and alternatives. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | ||
| country | No | 2-letter code to restrict |
agent_inspectagent inspectARead-onlyInspect
Inspect another agent or MCP server before using it: connects to a remote MCP endpoint (initialize, tools, resources, prompts, auth required?), reads the A2A agent card (skills, auth) and llms.txt. Vet tools and partners automatically. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | MCP endpoint (https://host/mcp) or a site |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely useful context beyond that: the operation performs a live connection sequence (initialize, tools, resources, prompts, auth check) and costs $0.004 USDC per call via x402 — a real behavioral/pricing constraint an agent should know before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The action statement is front-loaded before the colon-list of internals, and every clause carries information (targets, handshake contents, vetting purpose, cost). It is dense but not padded; only the enumeration could be trimmed slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only, open-world tool with no output schema, the description covers what is contacted, what is retrieved (skills, auth, llms.txt), and the per-call cost. It leaves the exact return shape unspecified, which is acceptable given there is no output schema, but the deliverable of an 'inspect' call could be framed more concretely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter and 100% schema description coverage, the schema already documents that 'url' accepts an MCP endpoint or a site. The description's mention of 'remote MCP endpoint' adds no format or syntax detail beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Inspect) and resource (another agent or MCP server), then enumerates exactly what gets inspected: MCP endpoint handshake, A2A agent card, and llms.txt. This clearly distinguishes it from siblings like http_inspect, openapi_inspect, and site_agent_ready.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before using it' gives a clear trigger condition (vetting a counterparty prior to interaction), and 'Vet tools and partners automatically' reinforces the use case. However, it never names alternatives such as http_inspect or openapi_inspect for non-agent endpoints, nor states when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airqualityairqualityRead-onlyInspect
Air quality near any place from nearby monitoring stations (OpenAQ): PM2.5, PM10, ozone, NO2 and more, with a US AQI and health category. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lon | No | ||
| near | No | ||
| radius_m | No |
airquality_compareairquality compareRead-onlyInspect
Compare current air quality across 2-8 cities: US AQI, category, PM2.5, PM10, ozone and NO2 from the nearest active monitors, ranked cleanest to most polluted. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| places | Yes | 2-8 places separated by | |
airquality_historyairquality historyRead-onlyInspect
Air pollution history for any place: daily average, min and max of PM2.5 (or PM10, ozone, NO2, SO2, CO) from the nearest active monitor for up to 365 days, with daily US AQI, worst day, days over the WHO guideline and an improving/worsening trend. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lon | No | ||
| days | No | 1-365, default 30 | |
| near | No | Place name | |
| parameter | No | pm25 (default), pm10, o3, no2, so2, co |
airquality_stationsairquality stationsRead-onlyInspect
Find air quality monitoring stations that are reporting now, near a place or across a country: name, operator, reference-grade flag, coordinates, distance, pollutants measured and last reading time. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lon | No | ||
| near | No | Place name | |
| limit | No | ||
| country | No | 2-letter ISO code instead of near | |
| parameter | No | Only stations measuring this, e.g. pm25 |
answeranswerRead-onlyInspect
Cited answers: ask a question, get a concise answer written from live web pages with numbered [n] citations and the source list. Searches the web, reads the top pages and writes only from what they say (gpt-oss-120b). Costs $0.02 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | The question | |
| sources | No | Pages to read, 2 to 6 (default 4) |
answer_cachedanswer cachedRead-onlyInspect
Shared answer cache: a recent cited answer to a question similar to yours (from /v1/answer) for a quarter of the price. Not charged when nothing close enough is cached. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| max_age_days | No | Default 7 | |
| min_similarity | No | 0.7-0.99, default 0.88 |
askaskRead-onlyInspect
Ask a document: give a web page, PDF, Word, Excel or CSV URL (or raw text) and a question; get an answer backed by exact quotes from the document. Long documents are searched with embeddings first. Costs $0.02 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Document or page URL | |
| text | No | Raw text instead of url | |
| question | Yes |
audio_speechaudio speechRead-onlyInspect
OpenAI-compatible text to speech (MeloTTS): same request shape as OpenAI /v1/audio/speech (input, voice, model); returns a WAV file. Languages en, es, fr, zh, jp, kr via language. Up to 2000 characters, flat price, no API key. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | ||
| model | No | Ignored | |
| voice | No | Ignored | |
| language | No | en (default) | es | fr | zh | jp | kr |
audio_transcriptionsaudio transcriptionsRead-onlyInspect
OpenAI-compatible speech to text (Whisper large v3 turbo): multipart file upload exactly like OpenAI /v1/audio/transcriptions, with response_format json, text, srt, vtt or verbose_json. Also accepts a public audio url. Up to 20 MB, flat price, no API key. Priced by length: $0.002 + $0.0015 per minute; pass ?max_minutes= (default 6, up to 30). Costs $0.047 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | Audio file (multipart upload) | |
| model | No | Ignored; always whisper-large-v3-turbo | |
| language | No | Optional 2-letter language code | |
| response_format | No | json | text | srt | vtt | verbose_json |
aviationaviationRead-onlyInspect
Aviation weather for airports: latest METAR decoded (flight category VFR/IFR, wind, gusts, visibility, ceiling, clouds, temperature, altimeter) plus the TAF forecast, for up to 10 ICAO airport codes. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | ||
| airport | Yes | ICAO codes, comma separated, e.g. KJFK,EGLL |
barcodebarcodeRead-onlyInspect
Product barcode lookup (Open Food Facts): name, brand, ingredients, allergens and traces, Nutri-Score, NOVA processing group, eco-score and nutrition per 100 g for packaged food from its EAN/UPC barcode. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | EAN or UPC digits |
barcode_readbarcode readRead-onlyInspect
Read every barcode and QR code in an image: QR, EAN-13/8, UPC-A/E, Code 128/39/93, Codabar, ITF, DataBar and PDF417, with the symbology and decoded text. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | https URL of the file (max 20 MB) | |
| filename | No | Name with extension, helps detect the type | |
| file_base64 | No | Or the file as base64 / data URI |
booksbooksARead-onlyInspect
Book search and ISBN lookup (Open Library): title, authors, first publication year, editions, pages, subjects, ratings, languages and cover image. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| isbn | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds genuinely useful non-schema behavior: the endpoint is an external (Open Library) source and it costs $0.002 USDC per call via x402, which is important for an agent budgeting calls. It omits pagination/limit behavior and error semantics, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence names the capability, source, and returned fields, with the pricing constraint appended cleanly. No filler, and the most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates return fields, and it discloses cost. However, for a 3-parameter tool with zero schema coverage and no output schema, it leaves pagination, parameter interaction (q vs isbn), and result-shape limits unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It hints that 'isbn' is an ISBN and that search is by book/title/author, but says nothing about 'limit' or about the relationship between q and isbn. The field list describes outputs, not input semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource combo ('Book search and ISBN lookup') and names the data source (Open Library), plus enumerates the fields returned. An agent immediately knows what it gets. It does not explicitly differentiate from potentially overlapping siblings like papers, libdocs, or research, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Naming two modes ('search' and 'ISBN lookup') implies that one uses a query and the other an ISBN, but there is no explicit when-to-use, no statement about whether the two can be combined, and no routing to alternatives. Usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bridge_quotebridge quoteARead-onlyInspect
Move tokens between chains: a fast-bridge quote (Relay) for Ethereum, Base, Arbitrum, Optimism and Polygon, and LI.FI routes for BSC, Avalanche and Solana: expected and minimum received, fees in USD, time, and the unsigned transactions (approve + deposit) to sign. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| order | No | CHEAPEST (default) or FASTEST | |
| amount | Yes | ||
| to_chain | Yes | ||
| to_token | No | ||
| from_chain | No | ||
| from_token | No | Symbol or address, default USDC | |
| to_address | No | ||
| from_address | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint/openWorldHint already declared, the description adds genuinely new behavioural context: the call costs $0.005 USDC via x402, and it returns unsigned approve + deposit transactions for the caller to sign rather than executing anything. It does not mention rate limits or failure/unsupported-route behaviour.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the action and resource, with the cost caveat placed last. Every clause carries information, though the provider/chains parenthetical makes it long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully describes the return payload (expected and minimum received, USD fees, time, unsigned transactions), and it discloses pricing, which is the main non-obvious call prerequisite. Remaining gaps are the undocumented non-required parameters, e.g. amount units and to_address/to_token expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25%, so the description must compensate, and it does so partially by enumerating the supported chains per provider (Ethereum/Base/Arbitrum/Optimism/Polygon vs BSC/Avalanche/Solana), which informs to_chain/from_chain. However, it adds nothing for amount format, to_token/to_address/from_address semantics, and omits slippage-related context for 'minimum received'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ('bridge quote' / move tokens between chains) and scopes it with the exact providers and chains covered, so an agent can tell it produces cross-chain route quotes. It does not explicitly contrast itself with the neighbouring swap_quote/swap_build/route tools, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the description makes clear this is for moving tokens between chains, and that provider selection depends on the chain pair (Relay vs LI.FI). There is no explicit when-not or pointer to a sibling such as swap_quote for same-chain swaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_actbrowser actRead-onlyInspect
Act in your rented browser session: up to 10 steps per call (goto, click by selector, visible text or x/y, type, press a key, scroll, select, wait, back, close). Returns what happened, a fresh screenshot, the page text and the clickable controls. Costs $0.008 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | ||
| actions | Yes | e.g. [{"action":"click","selector":"text=Sign in"},{"action":"type","selector":"#q","text":"hello"},{"action":"press","key":"Enter"}] | |
| session | Yes | ||
| screenshot | No | false to skip the screenshot |
browser_startbrowser startRead-onlyInspect
Rent a real Chrome browser for up to 60 minutes: opens a live session (optionally at a URL) and returns a session id, a screenshot, the page text and the clickable controls. Drive it step by step with /v1/browser/act (click, type, press, scroll, select, go back). The session stays open 2 minutes after each action. Costs $0.03 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Page to open | |
| width | No | ||
| height | No |
btc_addressbtc addressBRead-onlyInspect
Bitcoin address lookup: confirmed and pending balance in BTC and USD, totals received and sent, transaction count and the latest transactions with the net change for this address. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| address | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, openWorldHint), and the description adds genuinely useful context beyond them: a per-call charge of $0.003 USDC via the x402 payment scheme. It still omits pagination behavior, address-format support, and any rate limits, so it is not fully complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose and the return payload, followed by the cost constraint. Every clause carries information; nothing is restated from the name or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of describing return values well, which is the main completeness burden here. The remaining gaps are the undocumented `limit` parameter and the absence of any alternative-routing guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description compensates only for `address` (implicitly, by naming it as the lookup subject). The `limit` parameter is never explained, so an agent cannot tell that it caps how many transactions are returned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource ("Bitcoin address lookup") and then enumerates exactly what is returned: balances in BTC and USD, totals received/sent, tx count, latest transactions. An agent can distinguish this from btc_tx or btc_fees from the description alone, though siblings are 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no routing against alternatives such as btc_tx (single transaction lookup) or wallet. The only contextual remark is pricing, which tells the agent nothing about when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_feesbtc feesARead-onlyInspect
What to pay to send Bitcoin now: sat/vB for the next block, 30 minutes, 1 hour and economy, with the cost of a typical payment in BTC and USD, mempool size and the next difficulty adjustment. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds genuinely new behavioral context that annotations cannot express: the metered cost of $0.002 USDC per call via x402, which an agent needs to budget. It does not mention freshness/caching or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the core answer type before the detail list. Every clause adds returned-field information, though the enumeration makes it run long without structural breaks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry the return-value burden, and it does so thoroughly, naming each fee tier and ancillary signal (mempool size, difficulty adjustment). It omits any note on data freshness or response structure, which is a minor gap for a zero-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case per the rubric. The description appropriately spends no words on arguments and instead documents the return shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (Bitcoin fee rates) and enumerates exactly what is returned: sat/vB for next block, 30 minutes, 1 hour, economy, plus payment cost in BTC/USD. This clearly separates it from siblings like gas, solana_priority_fee, and defi_fees.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The framing 'what to pay to send Bitcoin now' implies the usage context, but there is no explicit when-to-use guidance, no mention of alternatives (e.g., gas for EVM chains), and no stated prerequisite for the x402 payment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_txbtc txBRead-onlyInspect
Bitcoin transaction status: confirmed or in the mempool, confirmations, fee in BTC and USD, fee rate (sat/vB), inputs and outputs, and whether it signals replace-by-fee. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds two genuinely useful behavioral facts beyond the annotations: the tool is a paid call costing $0.002 USDC via x402, and it discloses the returned data surface (mempool vs confirmed, fee fields, RBF flag), which matters heavily since there is no output schema. It stops short of five because nothing is said about behavior for unknown/unconfirmed txids or caching.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One densely packed sentence front-loads the core payload fields, then closes with the cost note. No filler, though the comma-separated return-field list reads more like a schema dump than a structured description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully carries the return-value burden by enumerating every field an agent will get back, and it discloses the payment model. Gaps remain on input format and on how sibling tools should be chosen, but for a single-parameter read tool this is close to sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter txid carries no schema-level detail, so the description must compensate — yet it never mentions txid at all. It gives no format (64-char hex hash), no note about ambiguity between chains or testnet, which is especially costly for a metered $0.002 call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly establishes this as a Bitcoin transaction lookup tool by enumerating exactly what it returns: confirmation status, confirmations, fee in BTC and USD, fee rate, inputs/outputs, and RBF signaling. The verb is only implicit (it is a data-retrieval tool), and it never distinguishes itself from sibling transaction tools like tx_explain or tx_simulate, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the adjacent tx_explain, tx_simulate, or btc_fees tools, despite those siblings clearly overlapping in scope. The only contextual note is the per-call price, which is a cost fact rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
business_countsbusiness countsRead-onlyInspect
How many businesses of a kind are in a US county, state or ZIP: establishments, employees, annual payroll and average pay by industry (keyword or NAICS code), plus businesses per 10,000 residents for market sizing and competition checks. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| zip | No | 5-digit ZIP instead | |
| near | No | US city, county or address | |
| level | No | state for statewide | |
| limit | No | ||
| industry | No | Keyword or NAICS code, e.g. dentists or 722511 |
calccalcRead-onlyInspect
Exact calculator for agents: math expressions (functions, powers, factorials), unit conversion (length, mass, volume, area, time, speed, data, energy, pressure, power, temperature) and date arithmetic (add, diff with business days, weekday). Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Unit | |
| date | No | ||
| days | No | ||
| expr | No | Math expression | |
| from | No | Unit | |
| date2 | No | ||
| value | No | ||
| years | No | ||
| months | No | ||
| date_op | No | add | diff | weekday |
calendar_icscalendar icsARead-onlyInspect
Make calendar invites: events (times, all-day, location, description, attendees, recurrence, reminders) as a standard .ics file that opens in Google, Outlook and Apple Calendar, with a download link and one-click Google / Outlook add links. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| start | No | ||
| title | No | ||
| events | No | ||
| location | No | ||
| calendar_name | No | ||
| duration_minutes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations give readOnlyHint/openWorldHint, and the description adds real behavioral context beyond them: it produces a downloadable file plus click-through links rather than sending invites, and it discloses a per-call cost of $0.002 USDC via x402. Missing only failure/auth behavior details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that leads with the action and packs output formats and cost without filler; only slight bloat from the parenthetical field list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output is adequately explained despite no output schema (download link + add links), but with 6 undocumented parameters and no required-param guidance, an agent still lacks enough to construct a call confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for 6 parameters, so the description must carry the weight, and it only loosely does. It names fields (times, all-day, location, description, attendees, recurrence, reminders) without saying whether they are top-level params or nested inside 'events', and never addresses title, start, calendar_name, or duration_minutes mappings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — generating calendar invites as a .ics file — and names the concrete output artifacts (download link, Google/Outlook add links) that distinguish it from siblings like schedule or meeting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description (make invites when you want an .ics file), but no explicit when-to-use/when-not guidance and no alternative named against siblings such as events, schedule, or meeting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
certscertsARead-onlyInspect
Subdomains and TLS certificates of a domain from Certificate Transparency logs: every name seen on an unexpired certificate, wildcards, first seen and valid-until dates, issuers, and certificates expiring within 14 days. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds material context beyond them: the call is paid ($0.004 USDC via x402) and the result is derived from passive CT logs rather than active probing. It does not explain what the x402 payment flow requires of the caller, which is the main remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with a colon-delimited field list; the scope (CT logs, unexpired certificates) comes first and the cost is placed last, which is the right ordering. The field enumeration is dense but each item is decision-relevant, so there is little waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of describing returns (names, wildcards, first-seen, valid-until, issuers, near-expiry certs), which is exactly what an agent needs to pick this over a generic domain lookup. The gaps are the undocumented `limit` parameter and the missing note on what x402 payment setup the caller must have.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are two parameters, so the description carries the full burden. It covers the `domain` parameter implicitly ('of a domain') but says nothing at all about `limit` – no meaning, no default, no bound – leaving half the schema undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (subdomains and TLS certificates of a domain) and pins the data source to Certificate Transparency logs, which inherently separates it from live-DNS siblings like `dns` or audit-oriented tools like `domain_audit`. It is a noun phrase with no explicit verb, and it never names a sibling to contrast against, so it stops short of a clean 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the enumeration of CT-log fields ('wildcards', 'certificates expiring within 14 days') signals when the tool is relevant, and the x402 price is a real selection factor. There is no explicit when-to-use statement, no when-not-to-use, and no routing to `dns`, `domain`, or `domain_audit` for the overlapping questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chains_statuschains statusARead-onlyInspect
Live health of Ethereum, Base, Arbitrum, Optimism and Polygon: latest block, seconds since it, average block time, gas price and base fee, block utilisation and a healthy flag. Check before sending transactions. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chains | No | Comma separated, default all five |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations supply readOnlyHint and openWorldHint, and the description adds genuinely non-redundant behaviour: the data is live, and each call costs $0.002 USDC via x402, which is critical for an agent deciding whether to invoke it. It does not cover things like rate limits or cache staleness, so it falls short of 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with what the tool returns, then the usage trigger, then the cost. No filler; every sentence carries information the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so by listing the delivered metrics. Payment requirement, live-ness and the healthy flag are all disclosed, so an agent has everything needed to call and interpret it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single 'chains' parameter is already documented as comma-separated with a default of all five. The description enumerates the five chain names, which slightly reinforces the default set, but adds no new syntax or filtering semantics. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the exact resource (live health of five named chains) and enumerates the specific fields returned: latest block, seconds since it, average block time, gas price, base fee, utilisation and a healthy flag. This is plainly distinguishable from siblings like 'gas', 'rpc' or 'btc_fees' without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Check before sending transactions" gives an explicit, actionable when-to-use. It stops short of naming an alternative or a when-not-to-use condition, so it is clear context rather than full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chartchartRead-onlyInspect
Chart images: bar, line, pie or scatter charts as PNG or SVG from your numbers, with title, labels, several series and legend. Ready to drop into a report or message. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | bar | line | pie | scatter | |
| title | No | ||
| width | No | ||
| format | No | png | svg | |
| height | No | ||
| labels | No | | separated | |
| series | No | JSON [{name, values}] | |
| values | No | | separated numbers |
chat_completionschat completionsRead-onlyInspect
OpenAI-compatible chat completions on Meta Llama 3.1 8B, fast general chat. Set your OpenAI SDK base URL to https://agentrxi.com/v1 and pay per token with x402 instead of an API key: $0.135 per million input and $1.152 per million output tokens, minimum $0.002 a call, at most $0.0053. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (streaming supported), up to 2048 output tokens. Pass model to use any model listed at /v1/models (priced per that model). Costs $0.0053 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Optional: llama-3.1-8b-instruct (default), qwen3-30b-a3b, gemma-4-26b, glm-4.7-flash, gpt-oss-20b or mistral-small-3.1-24b | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
chunkchunkRead-onlyInspect
Ready-to-search chunks: turns a URL (page, PDF, Office file) or text into clean overlapping chunks with character offsets and bge-m3 embeddings (1024 dims) in one call, ready for any vector store. Up to 300 chunks. Costs $0.015 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| text | No | ||
| embed | No | Include embeddings (default true) | |
| overlap | No | Default 150 | |
| chunk_size | No | Characters per chunk, 200 to 4000 (default 1000) |
citeciteRead-onlyInspect
Citation formatter: a ready reference in APA, MLA, Chicago, Harvard, IEEE, Vancouver or BibTeX from a DOI, an ISBN or any web page URL. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| doi | No | ||
| url | No | ||
| isbn | No | ||
| style | No | apa | mla | chicago | harvard | ieee | vancouver | bibtex |
citecheckcitecheckRead-onlyInspect
Citation checker: for each claim and the URL cited for it, reads the source and says whether it really supports the claim (supported, partial, not supported, contradicted) with the deciding quote. Priced $0.005 + $0.006 per citation (up to 6). Costs $0.041 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| claim | No | ||
| citations | No | JSON [{claim, url}] up to 6 |
classifyclassifyARead-onlyInspect
Zero-shot classification into your own labels: up to 50 texts in one call, single or multi-label, with confidence and label counts. Route tickets, tag leads, sort reviews. $0.003 for the first 4,000 characters, +$0.001 per further 4,000 (max 40,000). Costs $0.012 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| items | No | ||
| labels | Yes | ||
| multi_label | No | ||
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds substantial operational context beyond them — the 50-item batch cap, a 40,000-character ceiling, and a metered x402 charge ($0.012 USDC per call) that is a prerequisite for invocation. It does not cover failure modes (e.g., what happens past the char limit), which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with capability and use cases before cost details; each sentence carries load (limits and pricing matter for a paid tool). The pricing clause is dense but information-bearing rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and five parameters with no schema documentation, yet the description only gestures at the return ('confidence and label counts') without describing the per-item shape or how text and items interact. Adequate to attempt a call, but an agent must guess at result structure and per-parameter usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must carry all parameter meaning, and it only partially does: it maps labels, multi_label, and the batched text input ('up to 50 texts'), but never explains the distinction between `text` and `items` or what `instructions` controls. The mapping is inferable but not spelled out.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: zero-shot classification of texts into user-supplied labels, with the batch ceiling (up to 50 texts), label mode (single or multi-label), and return content (confidence, label counts) all named. 'Your own labels' clearly separates it from siblings like sentiment or image_classify that use fixed taxonomies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Concrete application contexts are given ('Route tickets, tag leads, sort reviews'), so an agent knows what class of problem this solves. It stops short of explicit routing guidance such as when to prefer sentiment, moderations, or embed, so it lacks exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clusterclusterRead-onlyInspect
Cluster and label: groups up to 500 texts (reviews, tickets, survey answers, search results) into topics with an AI-written label, size, share and examples for each group. Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | Number of groups (auto) | |
| texts | Yes | | separated or an array |
coder_chat_completionscoder chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Qwen 2.5 Coder 32B for code generation, review and fixes. Set your OpenAI SDK base URL to https://agentrxi.com/v1/coder and pay per token with x402 instead of an API key: $1.98 per million input and $3 per million output tokens, minimum $0.002 a call, at most $0.0173. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (streaming supported), up to 2048 output tokens. Costs $0.0173 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always qwen2.5-coder-32b | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
code_reviewcode reviewARead-onlyInspect
Senior-engineer code review of one file (up to 40,000 characters, or a GitHub file URL): bugs, security holes, performance and maintainability issues with line numbers, severity and concrete fixes, a 0-100 score and what is done well. Costs $0.025 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| code | No | ||
| focus | No | ||
| language | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuinely new behavioral context: the call costs $0.025 USDC via x402, meaning an agent must consider payment before invoking — exactly the kind of auth/cost disclosure annotations cannot express. It also discloses the 40,000-character input limit and the shape of the output. Lacks any note on latency or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense but well-ordered sentence: what it does, input limits, what it returns, then cost. Every clause earns its place and nothing is repeated from the schema or annotations. Front-loaded with the capability, with the payment caveat at the end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With readOnlyHint covering safety and no output schema, the description does the necessary work by enumerating the return contents (line numbers, severity, concrete fixes, 0-100 score, positives) and the cost. The gap is input completeness: with four undocumented parameters, no required flags, and no explanation of focus/language, the agent cannot fully reason about a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for all four parameters, so the description carries the full burden. It only obliquely gestures at `code` and `url` ('up to 40,000 characters, or a GitHub file URL') and never even hints at `focus` or `language`. With zero required parameters it is also unclear which of url/code the agent must supply, leaving half the surface undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource and a precise scope: a senior-engineer review of exactly one file, capped at 40,000 characters, accepting a GitHub URL. This cleanly separates it from sibling tools like code_run (execution), report_repo (repo-level analysis) and errorfix (fixing), without the agent needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The input constraints (one file, 40k character limit, GitHub file URL accepted) imply when the tool fits, but no alternatives are named and there is no explicit when-not guidance. An agent must infer on its own whether to use this versus code_run, second_opinion or vulns for a security-focused pass.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
code_runcode runRead-onlyInspect
Run Python 3.13 (numpy, pandas), JavaScript (Node 24) or bash in a fresh isolated container with no Internet access, and get stdout, stderr and the exit code. For calculations, data wrangling, parsing and testing snippets. $0.005 for a 10 s limit, $0.01 up to 30 s, $0.02 up to 60 s. Costs $0.02 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Program source | |
| stdin | No | Optional input piped to the program | |
| language | No | python (default), javascript or bash | |
| timeout_s | No | 1-60, default 10 |
collegecollegeRead-onlyInspect
US college facts from the Department of Education College Scorecard: admission rate, tuition, average net price, graduation and retention rates, median earnings 10 years after entry and median debt. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| limit | No | ||
| state | No | 2-letter state |
companycompanyRead-onlyInspect
Company profile from a domain: reads the website and returns name, tagline, description, industry, products, audience, headquarters, founding year and business model, plus contact emails, phone numbers and social profiles (LinkedIn, X, GitHub...). Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | e.g. cloudflare.com |
company_registrycompany registryRead-onlyInspect
Official legal-entity registry lookup (GLEIF Global LEI Index, 200+ jurisdictions): legal name, LEI, active/inactive status, legal form, jurisdiction, company registration number and authority, legal and headquarters address, creation date and direct parent. Search by name (optionally country) or by LEI. For KYB, compliance and due diligence. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| lei | No | 20-character LEI instead of name | |
| name | No | Company name | |
| limit | No | ||
| country | No | Optional ISO 2-letter country filter |
congresscongressRead-onlyInspect
US Congress bills: search bill text by keywords (GovInfo), or pass a bill id such as hr1-119 for its title, sponsor, cosponsors, policy area, latest action and recent actions (Congress.gov). Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Keywords | |
| bill | No | e.g. hr1-119 or s50-119 | |
| limit | No |
contextcontextRead-onlyInspect
Context packer: from long texts or URLs, picks the passages most relevant to your question and packs them into your token budget, with source markers. Fit more useful context into a prompt for less. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| urls | No | | separated | |
| texts | No | | separated or an array | |
| question | Yes | ||
| token_budget | No | Default 2000 |
contract_inspectcontract inspectARead-onlyInspect
What is this address? Wallet or contract, ERC-20 / 721 / 1155, upgradeable proxy (EIP-1967, beacon, minimal clone, EIP-7702) with implementation and admin, owner, Sourcify verification and compiler, the full function list and owner-style risky functions (mint, pause, blacklist, setFee, upgradeTo...). Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base (default), ethereum, arbitrum, optimism, polygon | |
| address | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered by structured data. The description adds genuinely non-derivable behavioral context: this call is metered at $0.004 USDC via x402, which materially affects invocation decisions. It stops short of describing failure modes or rate/latency behavior, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose question is front-loaded and the rest is dense, information-bearing enumeration with no filler sentences. It reads as one over-packed run-on list and the pricing note is tacked on at the end, which slightly weakens structure, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so thoroughly (standards, proxy types, owner, verification, risky function list). Combined with the payment disclosure, an agent knows what it gets and what it costs; only address formatting and any pagination/truncation of the function list are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% — 'chain' is documented with its allowed values in the schema, but 'address' has no description at all. The description never mentions either parameter, neither the expected address format (checksummed? hex length?) nor the chain default, so it fails to compensate for the uncovered required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific inspection target ('What is this address? Wallet or contract') and then enumerates the exact analysis surface: token standard detection, proxy patterns (EIP-1967, beacon, minimal clone, EIP-7702), owner, Sourcify verification, and the function list. This enumeration clearly differentiates it from siblings like address_validate, address_verify, contracts, or token_scan 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use / when-not-to-use guidance and no alternative tool is named, despite many plausible siblings (address_validate, address_verify, abi_decode, token_scan, report_contract_audit). The only contextual signal is the price, which implies deliberate/paid use but does not tell an agent when to prefer this tool over another.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contractscontractsRead-onlyInspect
US federal contract awards (FPDS): who won government contracts for a keyword, vendor or agency, with amounts, agency, NAICS code, dates and descriptions. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keywords, vendor or agency | |
| limit | No |
convertconvertRead-onlyInspect
Data conversion and checking: convert between CSV, TSV, JSON, XML and YAML (typed CSV values), and optionally validate the data against a JSON Schema with a list of every error. Up to 1 MB. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| data | Yes | ||
| from | Yes | csv | tsv | json | xml | yaml | |
| schema | No | Optional JSON Schema |
countrycountryARead-onlyInspect
Country profile by name or ISO code: capital, region, income level, coordinates, calling code and flag, plus the latest World Bank indicators: population, GDP, GDP per capita, GDP growth, inflation, unemployment, internet use and life expectancy. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds genuinely new behavioral context the annotations do not carry: a per-call cost of $0.002 USDC and the x402 payment mechanism, which materially affects whether an agent should invoke it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core data payload and closing with the cost. The indicator list is long but each item is a distinct return field, so it earns its space; a tighter grouping could have saved a few words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the full burden of describing returns, and it does so comprehensively by enumerating every profile field and indicator. Pricing and input form are also covered, leaving little an agent would need before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'q' parameter is undocumented in the schema, so the burden falls on the description. It does compensate by stating the accepted forms ('name or ISO code'), the one thing an agent needs to pass correctly, though it gives no format examples for ambiguous cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (country profile) with a clear input form (name or ISO code) and enumerates the exact payload (capital, region, World Bank indicators), which is far more concrete than the sibling 'demographics' or 'economy' entries. It does not explicitly differentiate itself from those overlapping siblings, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many overlapping siblings (demographics, demographics_area, economy, macro_us, labor). The phrase 'by name or ISO code' implies the input form only; no alternatives or exclusions are offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crawlcrawlRead-onlyInspect
Crawl a website into clean Markdown: follows same-site links from a start page (optionally under a path prefix), up to 100 pages, respecting robots.txt. Returns each page's URL, title and text. $0.005 + $0.001 per page. Add store=true (+$0.001) to get a 7-day share link instead of the data inline. Costs $0.025 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Start page | |
| store | No | Return a 7-day share link (+$0.001) | |
| max_pages | No | 1-100, default 20 | |
| path_prefix | No | Only follow links under this path, e.g. /docs/ |
crawl_permissioncrawl permissionARead-onlyInspect
May my agent fetch, index, train on or use this page? Reads robots.txt for your user agent (longest-match rules, crawl-delay), Content-Signal (search / ai-input / ai-train), X-Robots-Tag and meta robots (noai, noindex), TDM reservation and ai.txt, and lists which AI crawlers the site allows. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| user_agent | No | e.g. GPTBot, ClaudeBot, MyAgent/1.0 (default *) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is partly covered. The description adds genuinely new operational context: the exact upstream sources consulted, the longest-match crawl-delay semantics, and critically the $0.002 USDC per-call x402 cost, which an agent cannot infer from any structured field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the decisive question, followed by one dense but well-organized sentence grouping sources, semantics and cost. The enumeration is long but each item is informative; only minor tightening is possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must imply the return shape, and it does so partially by describing the sources checked and noting it 'lists which AI crawlers the site allows.' It does not state whether the verdict is returned as booleans per purpose, raw rule text, or a summary, which is the one remaining ambiguity for a permission-adjudication tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: user_agent carries its own description with examples, while url is undocumented. The description reinforces that user_agent drives which robots rules apply ('for your user agent (longest-match rules, crawl-delay)'), adding real meaning, but it never clarifies url's expected form (full URL vs. domain, http/https, path sensitivity), so the coverage gap is only partially compensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening question frames a precise resource check — 'May my agent fetch, index, train on or use this page?' — and the enumeration of robots.txt, Content-Signal, X-Robots-Tag, meta robots, TDM and ai.txt pins down exactly what is inspected. This is clearly distinguishable from siblings like crawl, sitemap or domain_audit, which fetch rather than adjudicate permission.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The question format implies the tool is used before fetching or training on a page, and referencing 'your user agent' hints that UA selection matters. However, it never states when to call this versus crawl, x402_check or url_metadata, nor any exclusion or prerequisite. Usage is implied, not specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cron_explaincron explainARead-onlyInspect
Explain a cron expression in plain English and list its next run times in any timezone (DST-correct). Supports ranges, steps, lists, month and weekday names, @daily-style macros and 6-field (seconds) crons; catches invalid fields. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| timezone | No | ||
| expression | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, and the description adds genuinely useful context beyond them: DST-correct timezone handling, invalid-field detection (error behavior), and a per-call price of $0.002 USDC via x402. It does not state pagination or output shape, but pricing and validation behavior are real disclosures.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the primary capability and followed by supported syntax and cost. Every clause adds information; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with no output schema, the description conveys the return content (plain-English explanation plus upcoming run times), syntax support, DST behavior, validation, and cost. The main gap is the unexplained 'count' parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameters, and it only partly does: it clarifies timezone semantics (any timezone, DST-correct) but never explains the 'count' parameter controlling how many run times are returned, nor the accepted expression format beyond examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (explain) and resource (cron expression) plus the secondary output (next run times). No sibling tool covers cron parsing, so no differentiation is required, and the scope (timezone-aware, DST-correct) is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the phrasing — use it to understand a cron expression or project its future runs — but there is no explicit when-to-use guidance, no exclusions, and no named alternative (e.g. schedule or timestamp) for adjacent scheduling questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_candlescrypto candlesARead-onlyInspect
OHLCV candles for any Coinbase pair (BTC-USD, ETH-USDC, SOL-USD...): 1m, 5m, 15m, 1h, 6h or 1d, up to 300 bars, with change, high and low for the period. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | ||
| limit | No | ||
| interval | No | 1m, 5m, 15m, 1h (default), 6h, 1d |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnlyHint and openWorldHint, so the description's disclosure that each call costs $0.002 USDC via x402 is genuinely additive and important for an agent deciding whether to call it. It also adds the 300-bar cap and the fact that change/high/low come back per period, but says nothing about rate limits or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with no filler; the resource is front-loaded and the cost caveat closes it. It is long but every clause (pairs, intervals, bar cap, return fields, price) carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still conveys the shape of the return (OHLCV plus change, high, low for the period) and the critical cost/payment model. For a 3-parameter read-only market-data tool, an agent has enough to call it correctly; only pagination/default specifics are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only interval is described in-schema), so the description must compensate and largely does: it defines pair as a Coinbase pair with format examples, bounds limit at 'up to 300 bars', and restates the interval enumerations. Only the default for pair/limit and whether limit is required remain unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource (OHLCV candles), scopes it to Coinbase pairs with concrete examples (BTC-USD, ETH-USDC, SOL-USD), and enumerates the supported intervals and 300-bar cap. It is unambiguous against generic siblings like crypto_price or chart, though it never explicitly names the alternative to use instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (historical bars for a pair) but never states when to pick this over crypto_price, token_chart, crypto_indicators or crypto_orderbook. No exclusions, prerequisites, or routing guidance are offered despite many overlapping crypto siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_indicatorscrypto indicatorsBRead-onlyInspect
Technical indicators computed on 300 candles: RSI 14, MACD and signal, SMA 20/50/200, EMA 12/26, Bollinger bands, ATR, a bullish / bearish / neutral bias and plain-English signals (overbought, MACD cross, golden cross...). Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | ||
| interval | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations covering the read-only/open-world safety profile, the description adds genuinely new operational context: the 300-candle window and, importantly, a per-call cost of $0.003 USDC via x402, which is a real constraint the annotations do not express. It omits rate limits or auth mechanics beyond the payment hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then the indicator list, then the cost. Every clause carries information and the pricing note is correctly placed last. The enumeration is long but each item is a distinct return field, so it earns its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because there is no output schema, the description usefully enumerates the returned indicators, covering the response side well. However, for a tool with two undocumented inputs and a payment requirement, the missing pair/interval semantics and payment-flow detail leave the definition only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the two parameters (pair, interval) are completely undocumented. The description mentions the 300-candle window but never defines the pair or interval formats (e.g., 'BTCUSDT', '1h'), so it fails to compensate for the schema gap where compensation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('technical indicators computed on 300 candles') and then enumerates the exact outputs (RSI 14, MACD, SMA/EMA, Bollinger, ATR, bias). An agent can immediately tell this apart from raw-data siblings like crypto_candles or crypto_price. It stops short of naming a sibling, so it falls just under a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives (crypto_candles, crypto_price, report_trading_signal) despite many adjacent siblings. The description only says what it returns, leaving selection to the agent. Implied usage at best, not explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_moverscrypto moversARead-onlyInspect
Today's crypto movers on Coinbase: top gainers, top losers and most traded pairs over 24 hours, with price, change and USD volume, filtered by minimum volume. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| quote | No | ||
| min_volume_usd | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, and the description adds genuinely new behavioral context beyond them: the x402 payment cost of $0.002 USDC per call and the Coinbase data source with a fixed 24-hour window. It does not mention rate limits or pagination, but for a read-only snapshot tool the cost disclosure is the high-value addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence that front-loads what the tool returns (gainers, losers, most traded) before the qualifiers (24h, fields, volume filter) and closes with the cost. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does name the returned fields (price, change, USD volume) and the pricing model, which is enough for an agent to invoke it. The only real gap is the undocumented quote parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the parameters. It explains min_volume_usd ('filtered by minimum volume') and implies limit ('top'), but the quote parameter is never mentioned, leaving its meaning (which quote currency, e.g. USD/USDC) undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb and resource: 'top gainers, top losers and most traded pairs over 24 hours' on Coinbase with price, change and USD volume. This clearly separates it from siblings like crypto_price, crypto_candles, crypto_orderbook 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'filtered by minimum volume' clause and the 24-hour window imply when this screener is appropriate, but the description never states when to prefer it over crypto_price or crypto_indicators, nor any exclusions or prerequisites (e.g., whether quote/limit are needed).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_orderbookcrypto orderbookARead-onlyInspect
Live Coinbase order book for a pair: best bid and ask, spread in basis points, USD depth within 1%, bid/ask imbalance, and the slippage you would pay to buy $10k, $100k and $1M right now. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | ||
| depth | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only and open-world profile, so the bar is lower. The description adds meaningful behavioral context beyond them: the per-call x402 cost of $0.002 USDC and the fact that quotes are 'live...right now' (freshness). It does not mention rate limits or failure modes, but the cost disclosure is real added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the core identity before drilling into returned metrics and cost. 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description appropriately enumerates the return contents, so return values are covered. But for a 2-parameter tool with 0% schema coverage, the total absence of any guidance on 'pair' format and the entirely unmentioned 'depth' parameter leaves a real gap an agent must guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not compensate. It implies a 'pair' parameter exists but never states the expected format (e.g., BTC-USD), and 'depth' — the second parameter — is never referenced at all, leaving its units or meaning unexplained in both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Live Coinbase order book for a pair') and then enumerates exactly what the response contains (best bid/ask, spread in bps, USD depth within 1%, imbalance, slippage tiers). This clearly distinguishes it from siblings like crypto_price or crypto_candles 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the content (real-time depth/slippage analysis) and the cost note ('$0.002 USDC per call') gives a practical reason to weigh it against free alternatives. However, there is no explicit when-to-use guidance and no named alternative (e.g., crypto_price, swap_quote) for an agent deciding between market-data siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_pricecrypto priceRead-onlyInspect
Live crypto prices with 24h change and market cap. Pass symbols (btc,eth,sol) or CoinGecko ids, up to 50 coins, in up to 10 currencies (usd,cad,eur...). Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| vs | No | Comma list of currencies, default usd | |
| coins | Yes | Comma list, e.g. btc,eth,sol |
cvecveARead-onlyInspect
CVE details from the US National Vulnerability Database: description, CVSS score and severity, whether it is in CISA's known-exploited list (with the deadline), weaknesses (CWE), affected products and versions, and references. Or search CVEs by keyword. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| id | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely useful behavioral context beyond the annotations: the paid nature of the call ($0.003 USDC per call, x402). It does not say what happens on an unknown/missing CVE id or whether the metered cost applies to failed calls, which keeps it out of 5 territory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the payload contents, then the alternate mode, then the pricing. No filler sentences, though the first sentence is a long comma-list that could be tightened. Every clause contributes information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description does the work of explaining return fields, and it does that thoroughly (CVSS, KEV deadline, CWE, affected versions, references). With only three loosely documented parameters and no pagination/error detail, it is near-complete but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It implicitly maps 'id' to the details mode and 'q' to the keyword search mode, which is real added value, but 'limit' is never mentioned and no format/range hints are given for any of the three parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (CVE records from the US NVD) and enumerates exactly what is returned: description, CVSS score/severity, CISA KEV status, CWE weaknesses, affected products/versions, references. It also covers the second mode (keyword search). It does not distinguish itself from the sibling 'vulns' tool, which appears to overlap in domain, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Or search CVEs by keyword' implies the lookup-vs-search split, which is useful, but the mapping to the id/q parameters is left implicit and there is no when-not-to-use guidance or mention of the 'vulns' sibling. 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.
data_rundata runRead-onlyInspect
Charts and data science: run Python with pandas, NumPy, matplotlib, seaborn, SciPy and scikit-learn on your files (CSV, Excel, JSON) and get back stdout plus every chart, table or file the code saves. No Internet. $0.01 up to 30 s, $0.03 up to 120 s. Costs $0.03 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ||
| files | No | [{name, url|base64}] placed in the working directory | |
| store | No | 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| format | No | binary = raw file bytes | |
| timeout_s | No |
dates_business_daysdates business daysBRead-onlyInspect
Business-day maths for 100+ countries: add or subtract working days skipping weekends and public holidays (due dates, settlement, SLAs), or count working days between two dates. Handles Friday-Saturday weekends. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| add | No | ||
| end | No | ||
| start | No | ||
| country | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this is a read-only, open-world operation, so the bar is lower. The description adds genuinely new behavioral context: coverage breadth (100+ countries), non-standard Friday-Saturday weekend handling, and a per-call cost of $0.002 USDC via x402, which is material for an agent deciding whether to invoke it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the core capability before the pricing note, with zero filler. The parenthetical use-case list is compact and informative rather than wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter tool with 0% schema coverage and no output schema, the description leaves too much unspecified: which parameter combinations are valid, what the return value looks like (a date vs an integer count), and required vs optional inputs. The mode/parameter mapping gap is the most serious omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and none of the four parameters (add, end, start, country) are documented anywhere. The description implies a mode split (add-offset vs start/end range) but never maps parameters to modes, nor specifies date format, whether `country` is required, or whether country accepts ISO codes or names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names specific operations (add/subtract working days, count working days between two dates) on a concrete resource (business days across 100+ countries), so the agent knows exactly what the tool computes. It does not explicitly differentiate itself from siblings like `holidays`, `business_counts`, or `time`, leaving that inference to the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives example use cases (due dates, settlement, SLAs) which implies when the tool is useful, but never states when to prefer it over `holidays` (holiday lookup) or `time`/`timestamp`. No prerequisites or exclusions are given, so usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dbdbRead-onlyInspect
Your own private SQLite database that persists between calls, keyed to the paying wallet: create tables, insert, update and query with up to 20 SQL statements per call (parameters supported). Up to 200 MB per wallet. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| sql | No | ||
| params | No | ||
| statements | No | [{sql, params}] |
decidedecideRead-onlyInspect
Calibrated decisions with Cloudflare Clef: send a state (text, JSON, up to 4 images; audio and video with model=omni) and up to 64 typed questions (yes/no, choice, or score) and get a probability for every answer. Built for routing, triage, approvals and rubric scoring. From $0.003 (flash), $0.005 (clef), $0.008 (omni); larger states, images, audio and video are priced by size. Costs $0.06 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| audio | No | ||
| model | No | flash (default), clef, omni | |
| state | Yes | Text or JSON to judge | |
| images | No | ||
| videos | No | ||
| questions | Yes | {id: {type: noul|choice|score, instructions, criteria}} |
dedupededupeARead-onlyInspect
Remove duplicates and near-duplicates from a list of up to 500 strings: exact matches after normalising case, accents and punctuation, plus meaning-level matches with multilingual embeddings (cosine threshold). Returns the unique list and each duplicate group. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| semantic | No | ||
| threshold | No | 0.5-0.999, default 0.85 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint, openWorldHint), and the description adds behaviors they cannot express: the hard 500-item limit, that normalization covers case/accents/punctuation, that semantic matching uses multilingual embeddings with a cosine threshold, and the $0.004 USDC per-call x402 cost. Cost and cap disclosure is genuinely useful; it stops short of saying how over-limit input or embedding failures are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: the operation and its two matching modes first, the return contract second, the price last. Every sentence carries information, though the middle clause packs embeddings, cosine threshold and multilingual scope into one dense phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description usefully states the return shape (unique list plus duplicate groups), and it discloses the cost and item cap an agent needs before calling. Gaps remain around over-limit behavior and the semantic/threshold interaction, but nothing essential is omitted for a three-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only threshold is documented in the schema), so the description must compensate. It does clarify that items is the string list to deduplicate and that semantic toggles meaning-level matching, but it never states the boolean's default explicitly nor reconciles the threshold range with semantic=false, leaving some inference required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (remove duplicates/near-duplicates) and the exact resource (a list of up to 500 strings), then distinguishes itself from generic text utilities by specifying both exact normalization and embedding-based semantic matching. An agent can tell what this does and that it is not text_diff or json_repair.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Use is implied clearly enough (deduplicating a string list), but there is no explicit when-to-use/when-not guidance, no note on what happens above the 500-item cap, and no pointer to an alternative sibling. For a tool with no close sibling, implied usage is acceptable but the boundaries are left for the caller to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deepseek_chat_completionsdeepseek chat completionsRead-onlyInspect
OpenAI-compatible chat completions on DeepSeek V4 Flash, fast and inexpensive frontier model with tool calling and a 1M-token context. Set your OpenAI SDK base URL to https://agentrxi.com/v1/deepseek and pay per token with x402 instead of an API key: $0.88 per million input and $2.64 per million output tokens, minimum $0.002 a call, at most $0.0740. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, reasoning, streaming supported), up to 8192 output tokens. Costs $0.0740 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always deepseek-v4-flash | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
deepseek_pro_chat_completionsdeepseek pro chat completionsRead-onlyInspect
OpenAI-compatible chat completions on DeepSeek V4 Pro, a top open frontier model with reasoning, tool calling and a 1M-token context. Set your OpenAI SDK base URL to https://agentrxi.com/v1/deepseek-pro and pay per token with x402 instead of an API key: $2.64 per million input and $7.92 per million output tokens, minimum $0.002 a call, at most $0.2178. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, reasoning, streaming supported), up to 8192 output tokens. Costs $0.2178 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always deepseek-v4-pro | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
defi_dexsdefi dexsARead-onlyInspect
DEX trading volume: 24h and 7d volume with change for every DEX, overall or on one chain, or the history of one protocol (uniswap, aerodrome, raydium...). Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | ||
| limit | No | ||
| protocol | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds the material behavioral fact that each call costs $0.003 USDC via x402, which an agent must know before invoking. It stays silent on rate limits, pagination, and how the limit truncates results, so it is not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core capability front-loaded and the cost caveat last; every clause earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter read tool with no output schema, the description covers the query modes and the payment requirement, which is most of what an agent needs. The unexplained 'limit' parameter and absent output-shape hint leave a small but real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden: it explains that 'chain' scopes to one chain and 'protocol' retrieves that protocol's history, adding real meaning for two of three parameters. The third parameter, 'limit', is never mentioned or given units/semantics, so compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (DEX trading volume) with concrete metrics (24h/7d volume with change) and enumerates the query modes, which cleanly separates it from siblings like defi_tvl, defi_fees and defi_yields. An agent can tell what this returns without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The three modes (overall, per-chain, single-protocol history) map onto the chain/protocol parameters, effectively telling the agent when to use each form, and example protocols (uniswap, aerodrome, raydium) are given. It never names alternative sibling tools or states exclusions, so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_feesdefi feesARead-onlyInspect
What crypto protocols earn: daily fees or revenue (type=revenue) for every protocol and chain, ranked, or one protocol's 24h / 7d / 30d / all-time totals. Fundamental data for valuing tokens. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | fees (default) or revenue | |
| chain | No | ||
| limit | No | ||
| protocol | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=true, openWorldHint=true), so the description's job is to add beyond that, and it does: it discloses a concrete per-call cost of $0.003 USDC via x402, a real behavioral constraint an agent must account for. It does not mention rate limits, pagination, or the response envelope, keeping 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences plus a short cost line, with the core purpose front-loaded and no filler. The time-window enumeration (24h / 7d / 30d / all-time) is slightly list-heavy but informative rather than wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so reasonably: it describes what is returned (fees or revenue, ranked, or per-protocol totals over four windows). Missing pagination/limit behavior and any mention of response format, so not fully complete for a 4-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only 'type' is documented), so the description must compensate. It clarifies type=revenue and maps the two query modes onto the protocol/chain/limit parameters implicitly, but limit and chain are never explained and no format or default details are added beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (protocol fees/revenue) and the two query modes (ranked list across protocols/chains vs. a single protocol's time-window totals), which clearly distinguishes it from data siblings like defi_tvl, defi_dexs, and defi_yields. It does not name any sibling explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The two modes are implied by the wording ('for every protocol and chain, ranked, or one protocol's totals'), which hints at when each parameter shape applies, and 'fundamental data for valuing tokens' gives a use context. But there is no explicit when-to-use vs. alternative guidance or statement of prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_tvldefi tvlRead-onlyInspect
Total value locked for a DeFi protocol (aave, uniswap, aerodrome, lido...) and/or a chain (Base, Ethereum, Solana...), with the chain's TVL rank. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | e.g. base | |
| protocol | No | DefiLlama slug, e.g. aave |
defi_yieldsdefi yieldsRead-onlyInspect
Best DeFi yields across 16,000+ pools: filter by chain, protocol, token symbol, stablecoin-only and minimum TVL; sort by APY or TVL. Returns APY (base + reward), 30-day mean APY, TVL, IL risk and a link. Costs $0.0028 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | apy (default) | tvl | |
| chain | No | e.g. Base, Ethereum, Arbitrum | |
| limit | No | 1 to 100, default 20 | |
| symbol | No | e.g. USDC, ETH | |
| min_tvl | No | Default 1000000 | |
| project | No | e.g. aave-v3, morpho, aerodrome | |
| stablecoin | No |
demographicsdemographicsRead-onlyInspect
US demographics by ZIP code (Census ACS 5-year): population, median household income, median age, home value, rent, education, unemployment and poverty. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| zip | Yes | 5-digit ZIP |
demographics_areademographics areaRead-onlyInspect
Demographics for any US address or place at neighborhood (census tract), city, county, state and national level in one call: population, median age, households, median household and per-capita income, home value, rent, homeownership, college degree share, poverty and unemployment. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lon | No | ||
| level | No | tract, city, county, state or united_states (default all) | |
| address | No | US street address or place |
devtoolsdevtoolsRead-onlyInspect
Developer toolbox in one call: sha256/sha1/sha512 hashes, base64/url/hex encode and decode, JWT decode, JSON format/validate, UUIDs, secure random numbers and passwords, regex test, slugify, word count and timestamp conversion. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| op | Yes | sha256 | sha1 | sha512 | base64_encode | base64_decode | url_encode | url_decode | hex_encode | hex_decode | jwt_decode | json_format | json_validate | uuid | random | password | regex_test | slugify | word_count | timestamp | |
| max | No | ||
| min | No | ||
| count | No | uuid/random only | |
| input | No | ||
| length | No | password only | |
| pattern | No | regex_test only |
dnsdnsARead-onlyInspect
DNS lookup across Cloudflare, Google and NextDNS at once: any record type (A, AAAA, MX, TXT, NS, CNAME, SOA, CAA, SRV, DS, HTTPS, PTR...), whether the resolvers agree (propagation), DNSSEC status, SPF and the mail provider. Give an IPv4 for reverse DNS. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| type | No | Comma separated, default A,AAAA,MX,TXT,NS | |
| compare | No | Ask 3 resolvers (default true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds genuinely new behavioral context: a per-call cost of $0.002 USDC via x402 and the fact that three independent resolvers are consulted and compared. It does not mention rate limits or response shape, but the payment disclosure is the important non-obvious trait here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core capability, followed by the reverse-DNS hint and cost. Dense but nearly every clause carries information; the record-type enumeration is slightly long but defensible as it defines scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the return-value burden, and it does so reasonably by naming propagation agreement, DNSSEC status, SPF and mail provider. Payment and reverse-DNS behavior are covered; only output structure and error behavior are unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: type and compare are documented in the schema, but the required `name` parameter has no description. The description partially compensates by implying `name` accepts a hostname or an IPv4 for reverse lookups, and it lists valid record types that overlap the `type` default. Baseline 3 is appropriate given the partial gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (lookup) and resource (DNS records) with explicit scope: three named resolvers queried at once. It enumerates the record types and the extra analyses (propagation agreement, DNSSEC, SPF, mail provider), which clearly separates it from siblings like domain, domain_audit, ip, or report_domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Give an IPv4 for reverse DNS" is a concrete usage instruction for one mode, but there is no when-to-use/when-not guidance and no routing to or from siblings such as domain or domain_audit. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
doc_convertdoc convertRead-onlyInspect
Universal document converter (Pandoc): Markdown, HTML, Word, OpenDocument, EPUB, LaTeX, reStructuredText, Org, MediaWiki, Jupyter, Typst and more, in any direction (also to PowerPoint and plain text). Send text or a file; text formats come back inline. Costs $0.006 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| toc | No | ||
| url | No | https URL of the file | |
| from | No | ||
| text | No | ||
| store | No | 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| title | No | ||
| format | No | binary = raw file bytes | |
| file_base64 | No | Or the file as base64 |
docs_askdocs askRead-onlyInspect
Ask any website or documentation a question: the site is crawled (up to 50 pages), indexed for 7 days and searched; the answer cites the pages it used. Later questions about the same site reuse the index. $0.03, or $0.05 above 25 pages. Costs $0.05 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Docs or site start URL | |
| refresh | No | true to re-crawl | |
| question | Yes | ||
| max_pages | No | 1-50, default 25 |
documentdocumentRead-onlyInspect
Document to text: convert PDF, Word (docx), Excel (xlsx/xls), ODS/ODT, CSV, HTML, XML or images to clean Markdown. Send a public file URL or base64 file plus filename (max 25 MB). Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public URL of the document | |
| filename | No | Required with file_base64, e.g. report.pdf | |
| file_base64 | No | Alternative to url |
domaindomainRead-onlyInspect
Domain lookup: availability, registrar, created and expiry dates (RDAP/WHOIS), nameservers, A/AAAA/MX/NS/TXT records, and whether the site answers over HTTPS. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | e.g. example.com |
domain_auditdomain auditRead-onlyInspect
Domain and email security audit: SPF, DMARC, DKIM, MX, DNSSEC, CAA, HTTPS, HSTS, security headers and HTTP-to-HTTPS redirect, with a grade and the fixes to make. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
domain_suggestdomain suggestARead-onlyInspect
Brandable domain ideas for a business idea, checked live: up to 15 short names across .com, .io, .ai, .co, .app and .dev (or your TLDs), each marked taken or likely available. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| idea | Yes | ||
| tlds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint, so the description carries real weight here and delivers: results are checked live, capped at 15 names, each marked taken/likely available, TLDs customizable, and critically it discloses a $0.005 USDC per-call charge via x402 — a cost signal an agent must know before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence that front-loads the value proposition, then the TLD scope, then the price. Every clause carries information; it is slightly long but no clause is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-param, no-output-schema tool with thin annotations, the description covers output shape (15 availability-marked names), TLD configurability, and the payment model. The main remaining gap is payment mechanics (wallet/credential prerequisites for x402) and the tlds input format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with two params, so the description must compensate. It maps 'idea' (business idea) and 'tlds' (or your TLDs), but gives no format guidance for the tlds string (comma-separated? dot-prefixed? count limits), leaving invocation detail to guesswork.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('Brandable domain ideas') with a clear scope: up to 15 short names across named TLDs, availability-checked. Distinguishable from sibling domain tools (domain, domain_audit, report_domain) which do lookups/audits rather than ideation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (you have a business idea and want name candidates) and states the output intent, but never states when to prefer this over sibling tools like domain, domain_audit or report_domain, nor any prerequisites beyond the idea input.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drugdrugRead-onlyInspect
Drug information from openFDA: label (indications, boxed warning, warnings, interactions, dosage), the most reported side effects and recent recalls for a brand or generic drug name. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Brand or generic name |
economyeconomyRead-onlyInspect
Macroeconomic indicators for any country: GDP growth, inflation, unemployment, GDP, GDP per capita, government debt, budget balance, current account and population (IMF World Economic Outlook, including forecasts), plus World Bank interest rates, exports, FDI and more; ECB policy rate for euro countries. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No | ||
| country | Yes | ISO code, e.g. US, CA, DE, JPN | |
| indicators | No | Comma list: gdp_growth, inflation, unemployment, gdp_usd_billions, gdp_per_capita_usd, government_debt_pct_gdp, budget_balance_pct_gdp, current_account_pct_gdp, population_millions, lending_rate, real_interest_rate, exports_pct_gdp, fdi_inflows_usd, internet_users_pct, life_expectancy |
email_analyzeemail analyzeARead-onlyInspect
Analyse a raw email (.eml source or just headers): SPF, DKIM and DMARC results, Reply-To and Return-Path mismatches, the relay path and origin IP, attachments, links (shorteners, plain http) and phishing wording, with a spoofing-risk level. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| raw | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint=true, openWorldHint=true), so the bar is lower; the description adds the critical non-obvious trait that each call costs $0.003 USDC via x402, which an agent must know before invoking. It does not mention size limits, partial-header failure behavior, or latency, but the paid-call disclosure is substantial value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence that front-loads the input form and then the analysis outputs, plus a short cost sentence. Every clause maps to a real capability, though the enumeration is long enough to read more like a feature list than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by listing what is returned (auth results, mismatches, relay path, origin IP, attachments, links, spoofing-risk level). The paid-call note covers the transactional aspect. Missing only edge-case behavior such as handling of malformed or header-only input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'raw' parameter is an undescribed string, so the description carries the burden. It specifies that the value is a raw email and may be a full .eml source or just headers, which meaningfully constrains what to pass; it stops short of stating encoding or whether partial headers degrade results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (analyse a raw email / .eml source or headers) and enumerates the analysis surface: SPF, DKIM, DMARC, header mismatches, relay path, origin IP, attachments, links, phishing wording, spoofing-risk level. That scope is unmistakably distinct from siblings like email_verify (deliverability of an address) or email_inbox (mailbox access), so an agent can pick it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when it applies by specifying accepted inputs (.eml source, or headers alone), which is useful narrowing. However, it never names an alternative (email_verify, email_inbox, http_inspect) or states an exclusion, so routing is inferred rather than guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
email_inboxemail inboxRead-onlyInspect
Real email inboxes for agents: get an address like agent-x7k2@in.agentrxi.com that receives mail (sign-up confirmations, replies, receipts, attachments) and read it through the API. $0.01 per inbox-week (1-12 weeks); list/read/delete $0.003. Up to 500 messages, 5 MB each. Costs $0.12 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | Address prefix | |
| since | No | ||
| token | No | ||
| weeks | No | ||
| action | No | create (default), list, read, delete, extend | |
| address | No |
email_sendemail sendRead-onlyInspect
Send one plain-text email to one recipient from agent@mail.agentrxi.com, with your display name and an optional reply-to. Every message carries a footer naming the AI sender with one-click unsubscribe. Anti-abuse: 20 emails per wallet per day (5 for new wallets), 2 per recipient per wallet, no phishing, credential requests, link shorteners or brand names; wallets that draw complaints are blocked. Costs $0.009 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | One recipient | |
| text | Yes | Plain text, max 10,000 characters, max 5 links | |
| subject | Yes | Max 150 characters | |
| reply_to | No | Where replies should go | |
| from_name | No | Display name, e.g. 'Acme scheduling assistant' |
email_verifyemail verifyRead-onlyInspect
Verify an email address: syntax check, domain MX lookup, disposable-domain and role-account flags. Use before sending or storing an address. Costs $0.0035 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| Yes |
embedembedRead-onlyInspect
Text embeddings for semantic search and RAG (BGE-M3, multilingual, 1024 dimensions). Up to 100 texts per call, one flat price. Priced by size: $0.003 + 3x the model token cost. Costs $0.012 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| texts | No | Up to 100 texts |
embeddingsembeddingsRead-onlyInspect
OpenAI-compatible embeddings endpoint (bge-m3, 1024 dimensions, 100+ languages): same request and response shape as OpenAI /v1/embeddings, including encoding_format base64. Up to 100 inputs per call, flat price, no API key: point any OpenAI SDK at https://agentrxi.com/v1 and pay per request with x402. Priced by size and model: $0.003 + 3x the model token cost (bge-m3 is cheapest). Costs $0.143 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Text to embed (POST also accepts an array of up to 100 strings) | |
| model | No | Ignored; always bge-m3 | |
| encoding_format | No | float (default) | base64 |
encodeencodeARead-onlyInspect
Hash and encode text: SHA-256, SHA-1, SHA-512, MD5, HMAC-SHA256 (with key), Base64 / Base64url encode and decode, hex encode and decode, URL encode and decode, or a UUID. op=all returns every hash and encoding at once. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| op | No | ||
| key | No | For hmac-sha256 | |
| text | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only supply readOnlyHint and openWorldHint; the description adds material context beyond them, notably the $0.002 USDC per-call cost via x402 and the op=all batching behavior. It stops short of describing error handling, input size limits, or output format, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the capability list, then the batching behavior, then the price — a sensible order with no filler. The first sentence is dense but every clause (each algorithm and encoding) does informational work.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should indicate the return shape (raw hex string vs. a JSON object of multiple digests), which it does not. What it does cover — supported ops, batching, and pricing — is adequate for invocation but leaves an agent guessing at the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only `key` is annotated as 'For hmac-sha256'). The description partially compensates by listing the algorithm/encoding domain that the undocumented `op` parameter selects from, but it never gives the literal op values or explains `text` beyond the obvious.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ('Hash and encode text') and enumerates the exact algorithms and encodings covered (SHA-256/1/512, MD5, HMAC-SHA256, Base64/Base64url, hex, URL, UUID). This clearly separates it from neighbors like abi_encode, jwt_decode, sign_verify, and password_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the enumeration of supported operations and the note that op=all returns every hash and encoding at once, which is a genuine selection hint. However, there is no explicit when-to-use/when-not guidance and no routing to or away from any sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energyenergyRead-onlyInspect
US energy prices from the EIA: retail gasoline and diesel, WTI crude, Henry Hub natural gas, crude oil inventories and residential electricity prices by state, with the latest value and change. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | 2-letter state for electricity | |
| points | No | ||
| indicator | No | gasoline | diesel | wti | natural_gas | crude_stocks | electricity |
energy_electricity_pricesenergy electricity pricesRead-onlyInspect
Electricity prices for every US state for the latest month (residential, commercial, industrial or all sectors) in cents per kWh, ranked cheapest first with 12-month change and the US average. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Highlight one state | |
| sector | No | residential (default), commercial, industrial, all |
energy_forecastenergy forecastRead-onlyInspect
Official US energy price forecast (EIA Short-Term Energy Outlook): monthly gasoline, diesel, WTI and Brent crude, Henry Hub natural gas and residential electricity prices for the next 12-24 months, with the latest actual and the 12-month change. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| indicators | No | Comma list: gasoline, diesel, wti, brent, natural_gas, electricity | |
| history_months | No |
energy_gas_pricesenergy gas pricesRead-onlyInspect
This week's gasoline or diesel prices across the US: national average, PADD regions, 9 states and 10 metro areas (Los Angeles, San Francisco, Seattle, New York, Chicago, Houston, Miami...), ranked with weekly change. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| grade | No | regular (default), midgrade, premium, diesel |
energy_mixenergy mixRead-onlyInspect
Electricity generation mix for any US state or the whole US: gigawatt-hours and share by fuel (natural gas, coal, nuclear, wind, solar, hydro and more), renewable and carbon-free share, compared with five years earlier. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | State name or code; omit for the US |
ensensRead-onlyInspect
Crypto name lookup: resolve ENS and Basenames (vitalik.eth, jesse.base.eth) to a wallet address with avatar, url, twitter and description records, or reverse-resolve a 0x address to its primary name. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Name (vitalik.eth) or 0x address |
entitiesentitiesARead-onlyInspect
Named-entity extraction from text or a URL: people with roles, organisations by type, places, dates (ISO), money amounts, products, events and main topics, plus every email, URL and hashtag. First 20,000 characters. Costs $0.008 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| text | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint, openWorldHint), and the description adds genuinely useful behavior beyond them: a 20,000-character truncation limit and a per-call cost of $0.008 USDC via x402. It omits what happens when both url and text are supplied, or when neither is, which matters given zero required parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the capability and output categories, followed by the two hard operational facts (truncation, price). No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates well by enumerating the entity types returned. The remaining gap is the input-selection rule for url vs text, which an agent calling with zero required params would need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry both parameters. 'from text or a URL' conveys that url and text are alternative inputs, but it does not state precedence or mutual exclusivity, leaving the two-parameter contract partly ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (named-entity extraction) and enumerates the exact output categories (people with roles, orgs by type, places, ISO dates, money, products, events, topics, emails/URLs/hashtags), which is unusually informative. It does not, however, differentiate itself from adjacent siblings such as extract, structure, or pii_redact, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no named alternative, despite several plausible siblings (extract, structure, summarize, pii_redact). The only routing signal is the implicit input constraint (text or URL), which the agent must infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
errorfixerrorfixRead-onlyInspect
Error fixer for coding agents: paste an error message or stack trace (plus optional code) and get the likely cause and a concrete fix with code, researched from live sources (Stack Overflow, GitHub issues, docs) with citations. Costs $0.02 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| async | No | Return a job id instead of waiting | |
| error | Yes | ||
| context | No | Optional code | |
| language | No | ||
| framework | No |
evchargingevchargingRead-onlyInspect
EV charging stations (and other alternative fuel stations) near a place in the US and Canada: network, Level 2 and DC fast port counts, connector types, access hours, pricing, address and distance, from the US DOE station locator. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lon | No | ||
| fuel | No | ELEC (default), CNG, LPG, E85, HY, BD | |
| near | No | Place or address | |
| limit | No | ||
| network | No | e.g. Tesla, ChargePoint Network | |
| connector | No | J1772, J1772COMBO, CHADEMO, TESLA | |
| radius_miles | No | Default 5 |
eventseventsRead-onlyInspect
Event logs with SQL for agents: append up to 5,000 JSON events per call to your own log, then query them with SQL (json_extract on any field), get stats, or purge old data. Private to your wallet. $0.004 per append up to 1,000 events (+$0.003 per extra 1,000); $0.003 per query. Costs $0.016 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| log | No | ||
| sql | No | ||
| action | No | append (default), query, stats, purge | |
| before | No | ||
| events | No | ||
| params | No |
extractextractRead-onlyInspect
Extract structured JSON from any web page. Give a URL plus a JSON schema or a plain-English prompt describing the fields you want; a headless browser renders the page and an LLM fills the schema. Costs $0.009 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| prompt | No | Alternative to schema: describe what to extract | |
| schema | No | JSON schema of the fields to extract |
factsfactsRead-onlyInspect
Fact lookup for grounding: best-matching Wikipedia article summary plus structured Wikidata facts (website, founding date, birth/death dates, population, coordinates) and the source link. Any language edition. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Topic, person, place or thing | |
| lang | No | Wikipedia language code, default en |
fecfecRead-onlyInspect
US campaign finance from the FEC: candidates and committees matching a name with party, office, state, status and their latest totals (money raised, spent, cash on hand, individual contributions), with links. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Candidate or committee name | |
| cycle | No | Election year, e.g. 2026 |
filesfilesRead-onlyInspect
File hosting: upload a file (text, base64 or copy from a URL) and get a public link that lasts up to 7 days. Images, PDF, text, Markdown, CSV, JSON and audio up to 1 MB. Served safely sandboxed. Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Copy a public file | |
| days | No | 1 to 7 (default 7) | |
| name | Yes | File name with extension, e.g. report.pdf | |
| text | No | ||
| content_base64 | No |
filingsfilingsRead-onlyInspect
US public company filings and fundamentals from SEC EDGAR: latest annual revenue, net income, EPS, assets, liabilities, cash, shares, plus recent 10-K/10-Q/8-K filings with links. Query by ticker or CIK. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| forms | No | Optional filter, e.g. 10-K,10-Q,8-K | |
| limit | No | 1 to 50, default 10 | |
| company | Yes | Ticker (AAPL) or SEC CIK |
firewallfirewallRead-onlyInspect
Agent Firewall: check untrusted text, HTML or a URL for prompt injection before your model reads it. Finds hidden text, invisible Unicode and ASCII smuggling, role spoofing, instructions aimed at AI, secret or data exfiltration, payment hijacks and tool-call injection; returns a risk score, findings and a sanitized copy. $0.004 per text check, $0.006 per URL. Costs $0.006 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Fetch and check this page | |
| deep | No | Also ask a model to judge intent (default true) | |
| html | No | Untrusted HTML (hidden elements are inspected) | |
| mode | No | strip (default) removes flagged sentences from the sanitized copy; flag only reports | |
| text | No | Untrusted text or tool output |
fred_searchfred searchRead-onlyInspect
Search 800,000+ FRED economic series by keywords, most popular first: id, title, frequency, units, seasonal adjustment, date range and whether the series can be served (copyrighted series are flagged). Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keywords | |
| limit | No |
fred_seriesfred seriesRead-onlyInspect
Any public-domain FRED economic time series by id (UNRATE, CPIAUCSL, GDP, DGS10, thousands more): observations with optional transforms (change, % change, % change from a year ago), frequency aggregation and date range, plus title, units and notes. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | FRED series id | |
| end | No | YYYY-MM-DD | |
| limit | No | ||
| start | No | YYYY-MM-DD | |
| units | No | lin, chg, ch1, pch, pc1, pca, log | |
| frequency | No | d, w, m, q, a |
funfunRead-onlyInspect
Something fun on demand: a joke, a true fun fact, a riddle with answer, a famous quote, a trivia question or a piece of life advice. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | joke (default) | fact | riddle | quote | trivia | advice |
fxfxRead-onlyInspect
Live foreign-exchange rates (ECB reference, 30+ currencies) and conversion. Query base, symbols and an optional amount. Costs $0.0035 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | ISO code, default USD | |
| amount | No | ||
| symbols | No | Comma list, e.g. EUR,CAD |
fx_historyfx historyARead-onlyInspect
Historical exchange rates (European Central Bank reference rates since 1999) for any date range: daily series plus first, last, change, min, max, mean and annualised volatility per currency. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ||
| base | No | ||
| start | No | ||
| symbols | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, openWorldHint), and the description adds genuinely non-redundant behavior: the data provenance (ECB reference rates, coverage since 1999) and the paid-call cost ($0.003 USDC via x402). The payment requirement in particular is critical context an agent cannot get from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core capability, then output shape, then cost. No filler; every clause adds information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description helpfully enumerates the returned series and statistics, and discloses the payment model, which is sufficient for an agent to invoke it correctly. The remaining gap is the undocumented parameter contract at 0% schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across all four parameters (start, end, base, symbols), so the description carries the full burden. It only vaguely gestures at 'date range' and 'per currency' without naming the parameters or specifying accepted date formats and symbols syntax (e.g. comma-separated ISOs), leaving most of the parameter contract undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: historical ECB reference rates since 1999 over a date range, with an explicit enumeration of computed outputs (change, min, max, mean, volatility). The 'Historical' qualifier implicitly separates it from the sibling 'fx' tool, but it never names the alternative, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'for any date range' and 'per currency', so an agent can infer the call shape. However, there is no explicit when-to-use statement, no exclusion, and no reference to the sibling 'fx' for spot/current rates, leaving the routing decision to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gasgasRead-onlyInspect
Live gas prices on Ethereum, Base, Arbitrum, Optimism and Polygon: gas price, next base fee, slow/normal/fast priority tips, and USD cost of a simple transfer. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chains | No | Comma list; default all five |
gemma_chat_completionsgemma chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Google Gemma 4 26B, reasoning and tool calling. Set your OpenAI SDK base URL to https://agentrxi.com/v1/gemma and pay per token with x402 instead of an API key: $0.3 per million input and $0.9 per million output tokens, minimum $0.002 a call, at most $0.0078. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, reasoning, streaming supported), up to 4096 output tokens. Costs $0.0078 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always gemma-4-26b | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
geocodegeocodeRead-onlyInspect
Geocode a place, landmark or street address to latitude/longitude with city, region, country, postcode, timezone and population where known. Cities via GeoNames, addresses and points of interest via OpenStreetMap. Costs $0.0025 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Place, landmark or address | |
| limit | No | 1 to 10, default 5 |
githubgithubRead-onlyInspect
GitHub repository report: stars, forks, issues, license, language, activity, latest releases, recent commits and security advisories for any public repo. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | owner/name |
github_codegithub codeRead-onlyInspect
Search code across all public GitHub repositories: find real usage examples of a function, API or config key, with file paths, links and the matching code fragments. Filter by language, repo, org or filename. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Code to find | |
| org | No | ||
| repo | No | owner/name | |
| limit | No | ||
| filename | No | ||
| language | No |
github_issuesgithub issuesRead-onlyInspect
Has anyone hit this error? Searches GitHub issues for an error message (exact phrase first, then keywords): title, repo, open or closed, comments, labels, link and an excerpt, most-discussed first. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Error message or problem | |
| repo | No | Limit to owner/name | |
| sort | No | comments (default) or recent | |
| limit | No | ||
| state | No | open or closed |
github_searchgithub searchRead-onlyInspect
Find the best GitHub repositories for anything: keyword search with language, topic, minimum stars, created or pushed after filters, sorted by stars or recent activity; returns stars, forks, license, topics and last push. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Keywords | |
| sort | No | stars (default), updated, forks | |
| limit | No | ||
| topic | No | ||
| language | No | ||
| min_stars | No | ||
| pushed_after | No | YYYY-MM-DD | |
| created_after | No | YYYY-MM-DD |
glm52_chat_completionsglm52 chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Zhipu GLM-5.2, frontier reasoning with tool calling and a 262K-token context. Set your OpenAI SDK base URL to https://agentrxi.com/v1/glm52 and pay per token with x402 instead of an API key: $2.8 per million input and $8.8 per million output tokens, minimum $0.002 a call, at most $0.2342. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, reasoning, streaming supported), up to 8192 output tokens. Costs $0.2342 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always glm-5.2 | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
glm5_chat_completionsglm5 chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Zhipu GLM-5.3, frontier reasoning with tool calling and a 1M-token context. Set your OpenAI SDK base URL to https://agentrxi.com/v1/glm5 and pay per token with x402 instead of an API key: $2.8 per million input and $8.8 per million output tokens, minimum $0.002 a call, at most $0.2342. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, reasoning, streaming supported), up to 8192 output tokens. Costs $0.2342 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always glm-5.3 | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
glm5_flash_chat_completionsglm5 flash chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Zhipu GLM-5.3 Flash, inexpensive reasoning with tool calling and a 1M-token context. Set your OpenAI SDK base URL to https://agentrxi.com/v1/glm5-flash and pay per token with x402 instead of an API key: $0.45 per million input and $1.5 per million output tokens, minimum $0.002 a call, at most $0.0401. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, reasoning, streaming supported), up to 8192 output tokens. Costs $0.0401 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always glm-5.3-flash | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
glm_chat_completionsglm chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Zhipu GLM 4.7 Flash, reasoning and tool calling. Set your OpenAI SDK base URL to https://agentrxi.com/v1/glm and pay per token with x402 instead of an API key: $0.18 per million input and $1.2 per million output tokens, minimum $0.002 a call, at most $0.0082. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, reasoning, streaming supported), up to 4096 output tokens. Costs $0.0082 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always glm-4.7-flash | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
gpt_oss_20b_chat_completionsgpt oss 20b chat completionsRead-onlyInspect
OpenAI-compatible chat completions on OpenAI gpt-oss-20b open-weight reasoning model with tool calling. Set your OpenAI SDK base URL to https://agentrxi.com/v1/gpt-oss-20b and pay per token with x402 instead of an API key: $0.6 per million input and $0.9 per million output tokens, minimum $0.002 a call, at most $0.0099. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, reasoning, streaming supported), up to 4096 output tokens. Costs $0.0099 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always gpt-oss-20b | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
gpt_oss_chat_completionsgpt oss chat completionsRead-onlyInspect
OpenAI-compatible chat completions on OpenAI gpt-oss-120b, the strongest open-weight OpenAI model, reasoning with tool calling. Set your OpenAI SDK base URL to https://agentrxi.com/v1/gpt-oss and pay per token with x402 instead of an API key: $1.05 per million input and $2.25 per million output tokens, minimum $0.002 a call, at most $0.0185. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, reasoning, streaming supported), up to 4096 output tokens. Costs $0.0185 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always gpt-oss-120b | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
gradegradeRead-onlyInspect
Answer grader: scores a draft answer 0-10 against the question, a rubric and/or source URLs, lists factual errors and unsupported claims with fixes, and returns an improved answer. A self-check before an agent ships. Costs $0.02 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| answer | Yes | ||
| rubric | No | ||
| sources | No | | separated URLs | |
| question | No |
granite_chat_completionsgranite chat completionsRead-onlyInspect
OpenAI-compatible chat completions on IBM Granite 4.0 Micro, the lowest-cost chat here, with tool calling (131K context). Set your OpenAI SDK base URL to https://agentrxi.com/v1/granite and pay per token with x402 instead of an API key: $0.051 per million input and $0.336 per million output tokens, minimum $0.002 a call, at most $0.0049. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, streaming supported), up to 4096 output tokens. Costs $0.0049 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always granite-4.0-micro | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
grantsgrantsARead-onlyInspect
US federal grant opportunities from Grants.gov: open and forecasted grants matching your keywords, with agency, number, open and close dates and the link to apply. Filter by agency or eligibility. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| limit | No | ||
| agency | No | ||
| status | No | forecasted|posted (default), closed, archived |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, but the description adds a genuinely non-obvious trait: it is a paid x402 endpoint costing $0.004 USDC per call. That is exactly the kind of cost/call-budget information an agent needs before invoking, though rate limits or failure behavior are unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with resource and country scope, then filters, then cost. Dense and largely waste-free, though the 'eligibility' clause is dead weight since no such parameter exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates returned fields (agency, number, open/close dates, apply link) and discloses the per-call cost. Gaps remain around what limit does and what status values change, but the core contract is covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only 'status' documented), so the description must carry more weight. It loosely covers q ('matching your keywords') and agency ('Filter by agency'), but never explains limit or status behavior, and mentions an 'eligibility' filter that has no parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource and scope: US federal grant opportunities from Grants.gov, open and forecasted, keyword-matched. No sibling tool covers grants, and the 'open and forecasted' qualifier 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It indicates how to narrow results ('matching your keywords', 'Filter by agency or eligibility'), which is usable context, but gives no when-to-use/when-not guidance or alternatives. It also references an 'eligibility' filter that does not exist as a parameter, which muddies the guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hazardshazardsRead-onlyInspect
Hazard alerts near a place: recent earthquakes (USGS), active US National Weather Service alerts and global disasters (cyclones, floods, wildfires, volcanoes, droughts from GDACS) with distances. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lon | No | ||
| days | No | Earthquake window, default 7 | |
| near | No | Place | |
| radius_km | No | Default 300 |
holidaysholidaysRead-onlyInspect
Public holidays for 100+ countries (optional state/province), plus business-day math: count business days between two dates, add N business days to a date, or check if a date is a business day. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | YYYY-MM-DD, counts business days from..to | |
| from | No | YYYY-MM-DD | |
| year | No | ||
| region | No | Optional state/province code, e.g. ON | |
| country | Yes | ISO 2-letter code, e.g. US, CA, GB | |
| add_business_days | No | Adds N business days to from |
html_tableshtml tablesBRead-onlyInspect
Extract every data table from a web page as clean JSON rows (column names from the header row) and optional CSV: Wikipedia lists, price tables, sports stats, reports. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| csv | No | ||
| url | No | ||
| html | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered; the description adds genuinely non-derivable context about the cost ($0.003 USDC per call) and the x402 payment mechanism, which materially affects invocation decisions. It still omits behavior for JS-rendered pages, size caps, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tightly packed sentence with the core action front-loaded, followed by target examples and then pricing. No filler, though the cost sentence could be separated for scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the output shape and payment model well, which matters given there is no output schema, but with four 0%-documented parameters (including zero required parameters, an unusual and potentially confusing configuration) the description leaves an agent guessing about valid invocation combinations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for all four parameters, so the description carries the full burden — but it only explains the optional CSV output. It says nothing about url vs html as input sources, what limit truncates, or which of the four parameters is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('Extract every data table from a web page as clean JSON rows') with a clear output shape (column names from the header row) and concrete examples of target pages. It does not, however, distinguish itself from the many sibling scraping tools (scrape, crawl, extract, data_run), so an agent must infer which to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The examples (Wikipedia lists, price tables, sports stats, reports) imply when the tool is appropriate, but there is no explicit when-to-use/when-not guidance and no named alternative such as scrape for non-tabular content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
http_inspecthttp inspectARead-onlyInspect
Inspect a URL like a browser dev panel: every redirect hop with status and timing, final status, size, server and CDN, caching headers, cookies and their flags, and a security-header grade (HSTS, CSP, X-Frame-Options...) with what is missing. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| method | No | GET (default) or HEAD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely non-obvious behavioral context: a per-call cost of $0.003 USDC via x402, which an agent must know before invoking. It does not discuss auth needs, rate limits, or timeout behavior, so it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with a colon-delimited enumeration; every listed item is a distinct returned signal and the pricing caveat is placed last. No filler or restatement of the name/title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing return values and does so thoroughly, plus discloses cost. It leaves minor gaps around redirect policy, timeouts, and error behavior, but nothing that would cause a mis-invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (method is documented as GET/HEAD; url is bare), and the description adds no parameter-level detail such as redirect-following control or whether HEAD changes the returned fields. The listed inspection outputs partially imply GET behavior, but this is not enough to compensate fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (inspect) and resource (URL) and enumerates exactly what is returned: redirect hops with status/timing, final status, size, server/CDN, caching headers, cookies, and a security-header grade. An agent can distinguish this from siblings like url_metadata or url_unshorten without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'like a browser dev panel' framing implies the debugging/diagnostic use case, but there is no explicit when-to-use or when-not-to-use guidance, and no sibling alternatives (url_metadata, certs, domain_audit, seo) are named or ruled out. 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.
image_classifyimage classifyRead-onlyInspect
Label an image with ResNet-50 (1,000 ImageNet classes): top-5 labels with confidence. Fast, cheap tagging for photos of animals, objects, food and scenes. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | 1-5 | |
| image_url | No | ||
| image_base64 | No |
image_convertimage convertRead-onlyInspect
Convert and resize images with ImageMagick: HEIC/AVIF/PNG/JPEG/WebP/GIF/TIFF/BMP in; PNG, JPEG, WebP, GIF, TIFF, BMP, ICO or AVIF out. Resize (contain, cover or fill), rotate, grayscale, quality, strip metadata; auto-orients phone photos. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | png, jpg, webp, gif, tiff, bmp, ico, avif | |
| fit | No | contain (default), cover, fill | |
| url | No | https URL of the file (max 20 MB) | |
| store | No | Return 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| width | No | ||
| format | No | binary = raw file bytes (single output) | |
| height | No | ||
| rotate | No | 90, 180, 270 | |
| quality | No | ||
| filename | No | Name with extension, helps detect the type | |
| grayscale | No | ||
| file_base64 | No | Or the file as base64 / data URI |
image_describeimage describeRead-onlyInspect
Describe an image and read every piece of visible text in it (vision LLM). Send a public image URL or base64 image; optional custom question. Works for receipts, screenshots, signs and charts. Costs $0.009 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public image URL (jpeg, png, webp, gif; max 8 MB) | |
| prompt | No | Optional question about the image | |
| image_base64 | No | Alternative to url |
image_diffimage diffRead-onlyInspect
Compare two images pixel by pixel (visual regression testing for screenshots): count and percent of differing pixels with a fuzz tolerance, plus a diff image with the changes highlighted in red. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| fuzz | No | Colour tolerance percent, default 3 | |
| store | No | Return 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| url_a | No | ||
| url_b | No | ||
| format | No | binary = raw file bytes (single output) | |
| a_base64 | No | ||
| b_base64 | No | ||
| no_image | No |
image_editimage editRead-onlyInspect
Image tools: resize (fit inside a box), crop, rotate, grayscale and convert or compress PNG and JPEG images from a URL or base64. Up to 16 megapixels. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| crop | No | x,y,width,height | |
| width | No | ||
| format | No | png | jpeg | |
| height | No | ||
| rotate | No | 90 | 180 | 270 | |
| quality | No | JPEG quality 10-100 | |
| grayscale | No | ||
| image_url | No | ||
| image_base64 | No |
image_exifimage exifARead-onlyInspect
Read photo metadata: camera, lens, settings, date taken, editing software, size and GPS location (with a map link), plus a privacy warning when the photo reveals where it was taken. Useful for verification and before publishing photos. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | No | ||
| image_base64 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, but the description adds real behavioral context the annotations can't: the tool emits a privacy warning when GPS is present, GPS comes with a map link, and each call costs $0.002 USDC via x402. The pay-per-call cost is especially valuable for an agent. No output schema exists, yet return contents are still summarized.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The field list and purpose lead, the practical use case follows, and the cost caveat is placed last. Every clause adds information; there is no filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only extraction tool with no output schema, the description covers what is returned, what the privacy-relevant output looks like, and the pricing model. The one meaningful gap is the input contract: it never says how to pass the image (URL vs base64) or that at least one input is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about how the image is supplied. The two parameter names (image_url, image_base64) are largely self-explanatory, so the practical risk is limited, but the description never clarifies whether one is preferred, whether both are mutually exclusive, or why required count is 0 — details the schema leaves entirely blank.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (read photo metadata) and enumerates the returned fields — camera, lens, settings, date taken, editing software, size, GPS — which implicitly separates it from content-oriented siblings like image_describe and image_classify. It never names a sibling or explicitly contrasts its scope, so it falls short of the top mark.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Useful for verification and before publishing photos" implies the context of use but gives no explicit when-to-use rule, prerequisites, or alternatives (e.g. use image_describe for content, this for embedded metadata). Usage is inferable, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_fastimage fastRead-onlyInspect
Fast, cheap text-to-image with SDXL Lightning: a 1024x1024 image in about 4 seconds for $0.003. Width and height 256-1024, seed, negative prompt. Add store=true (+$0.001) for a share link. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| store | No | Return 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| width | No | ||
| format | No | binary = raw file bytes (single output) | |
| height | No | ||
| prompt | Yes | ||
| negative_prompt | No |
image_generateimage generateRead-onlyInspect
Generate an image from a text prompt (FLUX.1 schnell). Returns JPEG bytes. Good for thumbnails, social posts, mockups and illustrations. Costs $0.009 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| steps | No | 1 to 8, default 4 | |
| prompt | Yes |
image_inpaintimage inpaintRead-onlyInspect
Edit part of an image: send the image and a mask (white = area to repaint) with a prompt, and get the edited image back. Remove objects, replace backgrounds or add items. Add store=true (+$0.001) to get a 7-day share link instead of the data inline. Costs $0.011 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| store | No | Return a 7-day share link (+$0.001) | |
| prompt | Yes | What to paint in the masked area | |
| mask_url | No | ||
| strength | No | 0-1 | |
| image_url | No | ||
| mask_base64 | No | ||
| image_base64 | No |
image_paletteimage paletteBRead-onlyInspect
Dominant colours of an image (k-means): up to 12 colours with hex, RGB, share and luminance, whether the image is mostly dark, and a readable text colour to put on top. JPEG and PNG. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| colors | No | ||
| image_url | No | ||
| image_base64 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely non-structured context: the k-means method, the 12-colour cap, supported formats (JPEG/PNG), and the per-call cost of $0.003 USDC via x402, which matters for an agent deciding whether to spend. Remaining gaps (image size limits, failure modes) are minor against that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero waste, with the resource and output shape front-loaded and the cost constraint trailing. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully spells out the return payload, which is a real strength. However, for a tool taking two mutually exclusive image inputs with zero declared required parameters, the omission of which input to supply and in what priority leaves an agent with a real invocation ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with three parameters, so the description carries the full burden – and it explains none of them. It never clarifies the roles of image_url vs image_base64, or whether one is required given 0 required params, and 'up to 12 colours' only loosely gestures at the colors parameter's range. Formats are the sole parameter-relevant detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and operation – dominant colours of an image via k-means – and enumerates the exact outputs (hex, RGB, share, luminance, dark flag, readable text colour). That is easily separable from visual siblings like image_describe, image_classify, or image_exif. It never states a leading verb (e.g. 'extract'), so it is clear but not maximally crisp.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Nothing tells the agent when to pick this over image_describe or image_classify, nor when a palette is the wrong tool. The only usage-adjacent statement is the price and supported formats. The agent must infer the use case entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_proimage proRead-onlyInspect
Premium image generation: FLUX.2 dev (highest quality), FLUX.2 klein 9B or 4B (fast), Leonardo Lucid Origin (photoreal, good text in images) or Leonardo Phoenix. Up to 1536 px per side. Priced per image by model, size and steps (about $0.006 to $0.08). Add store=true (+$0.001) to get a 7-day share link instead of the data inline. Costs $0.08 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| model | No | flux-2-dev, flux-2-klein-9b (default), flux-2-klein-4b, lucid-origin, phoenix | |
| steps | No | ||
| store | No | Return a 7-day share link (+$0.001) | |
| width | No | ||
| height | No | ||
| prompt | Yes | ||
| negative_prompt | No | phoenix only |
images_generationsimages generationsRead-onlyInspect
OpenAI-compatible image generation (FLUX.1 schnell): same shape as OpenAI /v1/images/generations, returns b64_json (or a data URL with response_format=url). One 1024px JPEG per call, flat price, no API key. Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | Must be 1 | |
| prompt | Yes | ||
| response_format | No | b64_json (default) | url (data URL) |
inboxinboxRead-onlyInspect
Webhook inbox: create an inbox and get a public URL any service can POST to (free to send), then read the received messages with your token. Keeps 200 messages, 64 KB each, for 7 days. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| since | No | Only messages after this number | |
| token | No | ||
| action | Yes | create | read |
inflation_breakdowninflation breakdownRead-onlyInspect
What is driving US inflation: 12-month and 1-month CPI change for 20 categories (groceries, restaurants, gasoline, electricity, rent, shelter, used cars, car insurance, airline fares, medical care and more), ranked fastest rising. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
inflation_calculatorinflation calculatorRead-onlyInspect
US inflation calculator from official CPI-U: what an amount of dollars in one year (or month) is worth in another, from 1913 to now, with cumulative and average annual inflation. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Year or YYYY-MM, default this year | |
| from | Yes | Year (1913+) or YYYY-MM | |
| amount | No |
insiderinsiderARead-onlyInspect
Insider trades at any US public company from SEC Form 4 filings: who (officer, director, 10% owner), buy or sell, shares, price, value and holdings after, with a net buying / selling summary and 10b5-1 plan flags. Costs $0.006 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Form 4 filings to read, 1-30 | |
| ticker | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and open-world behavior, but the description adds genuinely non-structured information: a per-call cost of $0.006 USDC via x402. That pricing disclosure is material for tool selection. It stops short of 5 because it says nothing about rate limits, error behavior, or how many filings are returned by default.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the resource and its payload before the pricing note. The first sentence is long and list-like but every element earns its place by describing the return payload. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only one of two params documented, the description carries real burden and does well: it enumerates the returned fields including derived ones (net buying/selling summary, 10b5-1 plan flags) and discloses cost. It lacks coverage of history depth, pagination, and ticker formatting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'limit' is documented in the schema as 1-30, but 'ticker' has no description at all. The phrase 'any US public company' implicitly signals a ticker symbol, which partially compensates, but the description adds no format guidance (exchange suffix, case, symbols vs names). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and source: insider trades at US public companies from SEC Form 4 filings, listing the exact fields returned (who, buy/sell, shares, price, value, holdings after, 10b5-1 flags). A sibling like 'filings' could plausibly overlap, and the description never clarifies the boundary, so it falls short of the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the data described (you call it when you want insider transaction activity for a ticker), but there is no explicit when-to-use, no when-not-to-use, and no named alternative such as 'filings' or 'sec_events'. The agent must infer the routing decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoice_createinvoice createARead-onlyInspect
Create a professional PDF invoice from JSON: seller and buyer, line items with quantities and tax rates, discount, shipping, totals computed for you, due date, payment instructions (bank, IBAN, link or a crypto address) and notes. Returns the totals and a download link (kept 30 days). Costs $0.006 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| buyer | No | ||
| items | Yes | ||
| notes | No | ||
| number | No | ||
| seller | Yes | ||
| payment | No | ||
| currency | No | ||
| due_days | No | ||
| tax_rate_percent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does add real behavioral value beyond the annotations: it states what is returned (totals + download link), the link's 30-day lifetime, and the $0.006 USDC (x402) per-call cost. However, it explicitly claims a creation action and a persisted 30-day artifact while readOnlyHint=true declares the tool does not modify its environment — a direct conflict that the agent cannot resolve from the metadata alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb and resource, then the content inventory, then return/cost facts — every clause carries information the schema (0% documented) and annotations do not. Dense but efficient; only the long parenthetical enumeration risks becoming a run-on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter, nested-object tool with no output schema, the description does the important things: it summarizes return values and the link retention window, and it discloses cost. It still omits requiredness (seller and items are the only required params but this isn't said), date/number/currency semantics, and item-object structure, leaving real gaps an agent must guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with 10 parameters (several nested objects), so the description carries nearly the whole burden and does so well: it names seller, buyer, items with quantities and tax rates, discount, shipping, due date (due_days), payment (bank, IBAN, link, crypto address), notes and tax_rate_percent. It leaves date, number, currency and the internal item-object fields uninterpreted, so it is a strong but not complete compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb + resource + output format: 'Create a professional PDF invoice from JSON', followed by an enumeration of exactly what the invoice contains (seller/buyer, line items with tax rates, discount, shipping, due date, payment instructions). No sibling in the catalog does anything similar, so differentiation is unambiguous without consulting any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied (you have invoice JSON and want a PDF), and the per-call price gives the agent a cost signal for deciding whether to call it. But there is no explicit when-to-use/when-not statement, no note on whether the input JSON must match a particular shape, and no alternatives are named because none exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ipipRead-onlyInspect
IP address and ASN lookup from the internet registries (RDAP): network name and range, owning organization, country, origin ASN, abuse contact email, registration dates and reverse DNS. Pass ip= (IPv4/IPv6) or asn=. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| ip | No | IPv4 or IPv6 address | |
| asn | No | Autonomous system number instead of ip, e.g. 13335 |
ip_asnip asnARead-onlyInspect
Internet routing lookup: for an IP, the announced prefix, owning network (ASN and holder) and location; for an AS number, the holder, number of IPv4 / IPv6 prefixes and its upstream providers. Identify hosting providers, clouds and ISPs. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | IP address or AS number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds genuinely useful context beyond them: the per-call price of $0.002 USDC via x402, which materially affects an agent's decision to call it, plus the dual-mode behavior. It still omits any mention of rate limits or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense but well-ordered sentence front-loads the operation, then branches cleanly by input type, then gives the classification use case, then the cost. Every clause earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only lookup with no output schema and annotation coverage already in place, the description tells the agent both input modes, the returned fields, the use case, and the price. Only edge behavior (invalid input, empty results, rate limits) is unaddressed, which is a minor gap at this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single `q` param is documented as "IP address or AS number". The description does clarify what each accepted input form yields downstream, which is useful, but it adds no syntax, format, or validation detail beyond what the schema states. Baseline 3 applies when the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (routing lookup) and resource (IP/ASN) and enumerates the exact fields returned for each of the two input modes, so an agent knows precisely what it gets. It stops short of a 5 because it never distinguishes itself from the adjacent sibling `ip`, which an agent could plausibly confuse it with for IP lookups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Identify hosting providers, clouds and ISPs" implies the intended use case, and the dual IP/AS-number framing hints at when each mode applies. But there is no explicit when-to-use, no when-not, and no named alternative (e.g. `ip` for pure geolocation), leaving the routing between siblings to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
isochroneisochroneRead-onlyInspect
Reachable area from a place within N minutes (or km) by car, truck, bike, walking or transit, up to 3 ranges at once: GeoJSON polygons with area in km². For delivery zones, catchment areas and commute searches. Costs $0.006 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| km | No | For type=distance | |
| lat | No | ||
| lon | No | ||
| mode | No | drive (default), walk, bicycle, transit, ... | |
| near | No | ||
| type | No | time (default) or distance | |
| minutes | No | 1-60, up to 3 separated by | |
jobboardjobboardRead-onlyInspect
Job postings: every open role at a company (from its Greenhouse, Lever or Ashby board), or remote jobs matching keywords, with titles, locations and links. Useful for sales signals and recruiting. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Title keywords | |
| limit | No | ||
| company | No | ||
| location | No |
jobsjobsRead-onlyInspect
Background jobs: result of a slow tool run with async=true (answer, research, ask, errorfix, libdocs, since, second-opinion, bulk read). Results are also POSTed to your webhook_url for free. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| token | Yes |
json_repairjson repairARead-onlyInspect
Fix broken JSON from model output: strips code fences and chatter, single quotes, unquoted keys, trailing or missing commas, comments, Python True/None, and closes truncated strings and brackets; falls back to AI repair for the rest. Returns the parsed JSON and what was fixed. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| use_ai | No | Default true (texts up to 6,000 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only safety profile, but the description adds substantial non-annotation context: the deterministic-then-AI-fallback strategy, the return shape ('parsed JSON and what was fixed'), and the paid x402 cost per call. This goes well beyond what readOnlyHint/openWorldHint convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose, then layers the enumerated fixes, return shape, and cost in a compact three-sentence block. Dense but every clause carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by stating what is returned, and it discloses the fallback path and cost. Only the text parameter's semantics and any size limits are left implicit, a minor gap for a 2-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%; the use_ai param has its own description and default, while text is undocumented. The description's mention of 'falls back to AI repair' loosely gestures at use_ai but adds no syntax or size guidance beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Fix broken JSON from model output') and enumerates exact repair classes (fences, quotes, commas, comments, Python literals, truncation). An agent can easily distinguish this from the sibling json_validate, which validates rather than repairs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage from the phrase 'broken JSON from model output', but never states when to use this versus json_validate, nor any exclusions or prerequisites. Usage is inferable but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
json_validatejson validateARead-onlyInspect
Validate JSON against a JSON Schema (draft 2020-12, 2019-09, 7 or 4): valid or not, with every error's path, keyword and message. Check model output or API payloads before you use them. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| schema | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered, but the description adds genuinely non-obvious behavior: the per-call cost ($0.002 USDC, x402 payment), supported schema drafts, and the granularity of error reporting. It does not explain what happens when the schema itself is invalid or how payment/auth is negotiated, keeping 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core operation and followed by the use case and the cost disclosure. Every sentence carries information; only slight density of the draft-version enumeration keeps it from being maximally clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly compensates by summarizing the return (validity plus per-error path, keyword, message). Combined with cost and draft support, an agent has enough to call it correctly; only failure modes (invalid schema, malformed data) are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden for both required parameters. It conceptually names them ('JSON' for data, 'JSON Schema' for schema) but adds no format, default, or shape details beyond what the parameter names already imply, and does not address the nested schema object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb+resource (validate JSON against a JSON Schema), names the supported draft versions, and describes the output shape ('valid or not, with every error's path, keyword and message'). It does not explicitly name the adjacent sibling json_repair or clarify validate-vs-repair, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Check model output or API payloads before you use them' gives a concrete when-to-use context that an agent can act on. There is no when-not guidance and no alternative tool is named (e.g. json_repair for malformed input), 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.
jwt_decodejwt decodeARead-onlyInspect
Decode and check a JWT: header, claims, issued / expiry / not-before times with seconds left, audience and issuer checks, alg=none detection, and signature verification with an HS256/384/512 secret or a JWKS URL (RS, PS, ES algorithms). Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | ||
| issuer | No | ||
| secret | No | ||
| audience | No | ||
| jwks_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true and openWorldHint=true; the description adds genuinely new behavior: alg=none detection, HMAC vs RS/PS/ES algorithm coverage, that issuer/audience are actively checked, and a per-call cost of $0.002 USDC via x402. That pricing/auth-model disclosure is exactly the kind of context structured fields do not carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence that front-loads the core action (decode and check) then layers the checks and verification modes, closing with the cost. Every clause adds information, though the list is long enough that it reads more like an enumeration than crisp prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, no output schema, and no schema descriptions, the description covers what an agent needs: what gets decoded, what gets verified, which algorithms each credential type enables, and the price. Return contents are summarized since there is no output schema, though exact response shape remains unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden, and it largely does: it maps secret to HS256/384/512 verification, jwks_url to RS/PS/ES verification, and issuer/audience to validation checks. It does not specify token format expectations or the exact semantics of issuer/audience matching (string vs list), leaving a small gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource (decode and check a JWT) and enumerates exactly what is computed: header, claims, time claims with seconds left, audience/issuer checks, alg=none detection, and signature verification. It is clearly distinguishable from siblings like abi_decode, tx_decode_raw, and sign_verify 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (you need to inspect/validate a JWT and optionally verify its signature), but it never states when to prefer this over alternatives such as sign_verify, tx_decode_raw, or rpc, nor any exclusion conditions. The cost note gives practical 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.
kbkbRead-onlyInspect
Persistent knowledge bases (RAG): create one, add documents, text or web pages/PDFs by URL (we chunk and embed them), then ask questions and get answers with numbered citations. Kept between calls and private to your wallet. create $0.005, add from $0.003, query with an answer $0.01 (sources only $0.003). Costs $0.353 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| text | No | ||
| urls | No | ||
| kb_id | No | ||
| top_k | No | ||
| action | No | create, add, query (default), info, list, delete | |
| question | No | ||
| documents | No | [{title, text, source}] |
keywords_extractkeywords extractARead-onlyInspect
SEO keywords from text or a URL: primary keywords with relevance, long-tail search phrases, entities, topics, search intent, and a suggested title and meta description. Costs $0.006 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| text | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnlyHint and openWorldHint; the description adds material behavioral facts the annotations do not: the paid x402 model and exact cost ($0.006 USDC per call), which an agent must know before invoking. It also enumerates the return contents, useful since there is no output schema. Missing rate limits/latency, but the added context is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, output scope front-loaded and pricing last. The long enumeration of returned fields is dense but each item earns place since no output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description steps up by listing the return contents, and it discloses the payment requirement. The main gap is the unresolved url/text parameter contract (mutual exclusivity, requiredness), which matters because both params are optional and undescribed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the two parameters, and the description's 'from text or a URL' is the only hint that these map to the text and url inputs. It never says whether both are accepted together, whether one is required, or what formats are valid, so it only partially compensates for the undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (extract) plus resource (SEO keywords) and enumerates the returned artifacts: primary keywords with relevance, long-tail phrases, entities, topics, search intent, title and meta description. It does not differentiate itself from nearby siblings such as seo, serp, entities, or extract, so it is clear but not sibling-distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description scopes the input ('from text or a URL') but gives no when-to-use guidance, no conditions for choosing this over seo/serp/entities, and no note on whether url and text are alternatives or can be combined. An agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kimi_chat_completionskimi chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Moonshot Kimi K2.6, an agentic model built for long tool-calling workflows (262K context). Set your OpenAI SDK base URL to https://agentrxi.com/v1/kimi and pay per token with x402 instead of an API key: $1.9 per million input and $8 per million output tokens, minimum $0.002 a call, at most $0.1762. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, reasoning, streaming supported), up to 8192 output tokens. Costs $0.1762 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always kimi-k2.6 | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
kimi_code_chat_completionskimi code chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Moonshot Kimi K2.7 Code, a coding and software-agent model with tool calling (262K context). Set your OpenAI SDK base URL to https://agentrxi.com/v1/kimi-code and pay per token with x402 instead of an API key: $1.9 per million input and $8 per million output tokens, minimum $0.002 a call, at most $0.1762. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, reasoning, streaming supported), up to 8192 output tokens. Costs $0.1762 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always kimi-k2.7-code | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
kyakyaRead-onlyInspect
Know Your Agent: trust check on an agent's wallet before you transact with it. x402 payment history matched against every seller in Coinbase's x402 directory (payments, USDC spent, sellers, last payment), wallet age, smart wallet or key, balances, OFAC sanctions screen, listed seller status, and a risk score with a plain verdict. Costs $0.009 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | Agent wallet address (Base) |
laborlaborRead-onlyInspect
US labor and price statistics from the Bureau of Labor Statistics: CPI and core CPI, unemployment, payrolls, average hourly earnings, PPI, participation and job openings (or any BLS series id), with 12-month change. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| points | No | ||
| series | No | BLS series ids | |
| indicators | No | Comma list: cpi, core_cpi, unemployment, payrolls, avg_hourly_earnings, ppi, labor_participation, job_openings | |
| start_year | No |
labor_statelabor stateRead-onlyInspect
US unemployment by state: one state's rate, labor force, employed and unemployed with 13 months of history, or all 50 states plus DC ranked lowest to highest. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | State name or 2-letter code; omit for the ranking |
language_detectlanguage detectARead-onlyInspect
Detect the language of text (180+ languages, ISO 639-1 and 639-3 codes, name and script) for one text or up to 100 at once, with a reliability flag. Route content to the right translator or support team. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, and the description adds meaningful context beyond them: per-call cost of $0.002 USDC via x402, a batch ceiling of 100 items, and the presence of a reliability flag. It does not cover payment/auth mechanics or error behavior for mixed-language batches, which keeps it out of 5 territory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core capability, followed by the use case and then the operational constraint (cost). No filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description enumerates the return fields (language codes, name, script, reliability flag), and it covers batching limits and cost. For a two-parameter read-only utility, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two undocumented parameters, so the description carries the burden and largely does: 'for one text or up to 100 at once' maps the single-string and array inputs and discloses the batch limit. It never names the parameters or states whether text and items may be combined, leaving a small ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Detect the language of text') and immediately scopes the capability: 180+ languages, ISO 639-1/639-3 codes, name and script outputs, single or batched input, reliability flag. This is enough to distinguish it from siblings like translate, classify, or sentiment 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear operative context ('Route content to the right translator or support team'), which tells the agent when this tool is the right pre-step. It stops short of naming alternative tools or stating when not to use it (e.g., versus classify or translate), so it does not reach the explicit-alternatives bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
large_chat_completionslarge chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Meta Llama 3.3 70B, strong general chat with tool calling. Set your OpenAI SDK base URL to https://agentrxi.com/v1/large and pay per token with x402 instead of an API key: $0.879 per million input and $6.759 per million output tokens, minimum $0.002 a call, at most $0.0219. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, streaming supported), up to 2048 output tokens. Costs $0.0219 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always llama-3.3-70b | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
latexlatexRead-onlyInspect
Compile LaTeX to PDF (pdflatex or xelatex, TeX Live with common packages; no shell escape). Send the full source plus any image or .bib files; get the PDF, or the error lines if it fails. Costs $0.008 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | [{name, url|base64}] | |
| store | No | 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| engine | No | pdflatex (default) or xelatex | |
| format | No | binary = raw file bytes | |
| source | Yes | Full LaTeX document |
legallegalRead-onlyInspect
US court cases and federal regulations: searches court opinions (CourtListener) and Federal Register rules, proposed rules and notices, with case names, courts, dates, citations, agencies and links. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| type | No | all (default) | cases | regulations | |
| limit | No |
libdocslibdocsRead-onlyInspect
Current library docs for agents with stale training: the latest version of an npm or PyPI package, how to use it now, and the breaking changes since the version you know, from its README and changelog. Costs $0.02 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| async | No | ||
| package | Yes | ||
| question | No | ||
| ecosystem | No | npm | pypi | |
| from_version | No | Version you know |
linklinkRead-onlyInspect
Link safety check: is this URL malware or phishing? Checks Cloudflare's security DNS blocklist, domain age, look-alike and brand-impersonation tricks, shorteners and the redirect chain, then gives a verdict and risk score. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
links_checklinks checkARead-onlyInspect
Broken-link checker: finds every link, image, script and stylesheet on a page and checks up to 200 of them (status, redirects, speed), listing broken and slow ones. Site QA in one call. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| all | No | ||
| url | Yes | ||
| max_links | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint and openWorldHint, so the safety profile is covered; the description adds value beyond them by disclosing the 200-link ceiling, the exact facets inspected (status, redirects, speed), and a paid-call cost of $0.005 USDC via x402. It does not state timeout/rate behavior or what happens when a page exceeds 200 links (truncation vs. sampling), which keeps it out of 5 territory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences that front-load the capability before the cost note. The middle clause is dense with parenthetical lists, but nothing is filler and the pricing disclosure earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only three parameters, the description covers what the tool returns (broken and slow links with status/redirects/speed), the scope limit, and the cost — enough for an agent to decide and call it. The remaining gap is per-parameter meaning, which is a schema-level deficiency rather than a description one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full parameter burden. 'Checks up to 200 of them' implicitly maps to max_links and 'every link, image, script and stylesheet' hints at the `all` scope flag, but neither parameter is named or explained and `url` semantics (single page vs. domain) are never stated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Broken-link checker: finds every link, image, script and stylesheet on a page and checks... them') and bounds the scope with the 200-link cap and the reported fields (status, redirects, speed). It is clearly distinguishable from nearby siblings like url_metadata, scrape, site_agent_ready and seo, which do not perform link-health checking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tagline 'Site QA in one call' implies the use case but never states when to reach for this instead of a crawler, screenshot, or seo tool, and gives no prerequisites or exclusions. Usage is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
link_shortlink shortBRead-onlyInspect
Create a short link (agentrxi.com/r/...) for 1-365 days with free click counting (add + to the link). Targets are checked against malware and phishing lists first. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| days | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the tool 'Create[s]' a link, i.e. produces a new resource and charges $0.003 USDC, while the annotations declare readOnlyHint=true (no environment modification). A paid resource-creating call marked read-only is a direct contradiction that could lead an agent to invoke it as a free, side-effect-free read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb and resource first, followed by duration, click-tracking, safety screening, and cost. Every clause carries information an agent needs; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with no output schema, the description covers cost, safety checks, duration bounds, click counting, and the result URL shape. It stops short of stating URL format requirements, failure behavior, or payment/x402 prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It supplies real meaning for 'days' (1-365 range) and tells the agent what 'url' is checked against, but never specifies the required URL format (scheme, length) or what happens when 'days' is omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a short link'), gives the output shape (agentrxi.com/r/...), the validity window, and the safety pre-check. An agent can immediately tell this apart from siblings like url_unshorten or links_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use/when-not guidance and no named alternative (e.g., url_unshorten for the reverse direction). However, it does state prerequisites and constraints (1-365 days, malware/phishing screening, per-call cost) that implicitly frame when the tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
llama1b_chat_completionsllama1b chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Meta Llama 3.2 1B, the smallest and cheapest model here, for routing, tagging and quick rewrites (60K context). Set your OpenAI SDK base URL to https://agentrxi.com/v1/llama1b and pay per token with x402 instead of an API key: $0.081 per million input and $0.603 per million output tokens, minimum $0.002 a call, at most $0.0059. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (streaming supported), up to 4096 output tokens. Costs $0.0059 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always llama-3.2-1b-instruct | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
llama3b_chat_completionsllama3b chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Meta Llama 3.2 3B, a tiny, very cheap model for classification, extraction and simple chat (80K context). Set your OpenAI SDK base URL to https://agentrxi.com/v1/llama3b and pay per token with x402 instead of an API key: $0.153 per million input and $1.005 per million output tokens, minimum $0.002 a call, at most $0.0088. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (streaming supported), up to 4096 output tokens. Costs $0.0088 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always llama-3.2-3b-instruct | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
llama4_chat_completionsllama4 chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Meta Llama 4 Scout, multimodal (image input) with tool calling. Set your OpenAI SDK base URL to https://agentrxi.com/v1/llama4 and pay per token with x402 instead of an API key: $0.81 per million input and $2.55 per million output tokens, minimum $0.002 a call, at most $0.0145. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, image input, streaming supported), up to 2048 output tokens. Costs $0.0145 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always llama-4-scout-17b | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
llmllmRead-onlyInspect
Pay-per-call LLM chat completion (Llama 3.1 8B, fast), no API key. Send OpenAI-style messages, get the assistant reply. Flat price per request, up to 2k output tokens. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
llm_largellm largeRead-onlyInspect
Pay-per-call LLM chat completion on Llama 3.3 70B for harder reasoning, no API key. Same OpenAI-style messages body as /v1/llm. Flat price per request, up to 2k output tokens. Costs $0.02 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
lockslocksARead-onlyInspect
Distributed locks for agents: acquire a named lock with a TTL (atomic, one holder at a time), extend, release or check it. Stops two agents from doing the same job, paying the same invoice or editing the same file. Private to your wallet, or shared through a space string. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| space | No | Optional shared namespace (any secret string): agents using the same space share it. Default: your paying wallet. | |
| token | No | From acquire, for release / extend | |
| action | No | acquire (default), release, extend, status | |
| holder | No | ||
| ttl_seconds | No | 1-86400, default 60 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description promises state-changing operations ('acquire a named lock', 'extend, release') that are atomic and mutually exclusive, while the annotation declares readOnlyHint=true, i.e. the tool does not modify its environment. That is a direct conflict: an agent trusting readOnlyHint could assume acquire/release have no side effects. (Absent the contradiction, the cost disclosure and TTL/atomicity detail would have scored well.)
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the core purpose, each carrying distinct information: operations, use case, privacy scope, and price. No filler and no repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, no-output-schema tool, the description covers behavior, scope, and cost but omits what an agent most needs operationally: what acquire returns (a token, only hinted at in the schema), what happens on contention, and what 'status' reports. Combined with the contradictory readOnlyHint, the definition is workable but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, and the description adds real meaning for the two semantically loaded fields: TTL on the lock and the wallet-vs-shared 'space string' scope. It does not explain 'token' or 'holder' beyond what the schema already says, and it never clarifies what acquire returns, so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (distributed locks) and enumerates the exact operations: acquire, extend, release, check. It is instantly distinguishable from nearby siblings like queue, tasks, schedule, or memory, and the lead phrase 'Distributed locks for agents' sets scope in five words.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a concrete motivating context ('Stops two agents from doing the same job, paying the same invoice or editing the same file'), which tells an agent when coordination is warranted. However, it never names an alternative (e.g., queue, tasks, cron) or states when not to use it, so the routing guidance stops short of explicit when/when-not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logologoARead-onlyInspect
A company's logo or best icon from its domain (apple-touch-icon, SVG icon, largest favicon), with size, type, brand colour and site name; base64=true returns the image bytes too. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| base64 | No | ||
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds real value beyond that: it discloses the paid cost ($0.002 USDC per call via x402) and the conditional behavior of base64=true, which the annotations do not carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single information-dense sentence with zero filler, front-loading the what (logo/icon from domain) and appending the flags, return fields, and cost. Well structured, though the long parenthetical and clause chain make it slightly heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return burden and does so by naming the returned fields (size, type, brand colour, site name) and the base64 option. It omits fallback/error behavior when no icon exists, which would matter for a best-effort scraper.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clearly explains base64=true ('returns the image bytes too'), but the required 'domain' parameter's format (bare domain? full URL?) is never specified, leaving half the semantics to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (a company's logo / best icon from its domain) and enumerates the candidate sources (apple-touch-icon, SVG icon, largest favicon), so an agent knows exactly what it returns. It does not explicitly name a sibling (e.g., domain, url_metadata, screenshot) to differentiate against, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer 'use this when you need a brand logo for a domain', but there is no explicit when-to-use, when-not-to-use, or alternative routing among the many sibling tools. This is minimum-viable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_usmacro usRead-onlyInspect
US economy snapshot in one call: real GDP growth, CPI and core PCE inflation, unemployment, payroll change, retail sales, industrial production, housing starts, M2, fed funds, 10-year yield, WTI oil and the euro exchange rate, each with the previous value. Costs $0.008 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
mailboxmailboxRead-onlyInspect
Agent mailbox: send a message to any AI agent by its wallet address and read your own inbox. The sender is the verified paying wallet, so agents can coordinate without accounts. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Recipient 0x wallet | |
| body | No | ||
| since | No | ||
| action | Yes | send | read | delete | |
| subject | No |
map_staticmap staticRead-onlyInspect
Static map image (JPEG) of a place or up to 15 numbered markers, in 7 styles and any size up to 1600 px, returned as base64 and a data URL ready for reports, emails and chat. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| zoom | No | ||
| style | No | osm-bright, osm-carto, positron, dark-matter, toner, klokantech-basic | |
| width | No | ||
| center | No | Place to center on | |
| height | No | ||
| markers | No | | separated places or lat,lon |
markdownmarkdownRead-onlyInspect
Fetch any public web page with a real headless browser (JavaScript rendered) and return clean Markdown. Use to read articles, docs, product pages or SPAs that a plain fetch cannot render. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Page URL |
media_convertmedia convertRead-onlyInspect
Convert audio or video between formats with ffmpeg: mp4, webm, mov, mkv, mp3, wav, ogg, opus, m4a, aac, flac. Optional width, fps, crf, audio_bitrate, sample_rate and channels. Up to 20 MB in, 150 s of processing. Costs $0.018 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | mp4, webm, mov, mkv, mp3, wav, ogg, opus, m4a, aac, flac | |
| crf | No | 15-45, lower = better quality | |
| fps | No | ||
| url | No | https URL of the file (max 20 MB) | |
| store | No | Return 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| width | No | ||
| format | No | binary = raw file bytes (single output) | |
| channels | No | ||
| filename | No | Name with extension, helps detect the type | |
| file_base64 | No | Or the file as base64 / data URI | |
| sample_rate | No | ||
| audio_bitrate | No | e.g. 128k |
media_extract_audiomedia extract audioRead-onlyInspect
Pull the audio track out of a video as mp3 (default), wav, m4a, aac, flac, ogg or opus, ready for transcription or editing. Costs $0.012 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | mp3 (default), wav, m4a, aac, flac, ogg, opus | |
| url | No | https URL of the file (max 20 MB) | |
| store | No | Return 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| format | No | binary = raw file bytes (single output) | |
| channels | No | ||
| filename | No | Name with extension, helps detect the type | |
| file_base64 | No | Or the file as base64 / data URI | |
| sample_rate | No | e.g. 16000 for speech models | |
| audio_bitrate | No |
media_gifmedia gifRead-onlyInspect
Turn a video clip into a palette-optimised animated GIF: start, duration (up to 15 s), fps (4-20) and width (100-800 px). Costs $0.014 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | Default 12 | |
| url | No | https URL of the file (max 20 MB) | |
| start | No | ||
| store | No | Return 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| width | No | Default 480 | |
| format | No | binary = raw file bytes (single output) | |
| duration | No | Seconds, default 5, max 15 | |
| filename | No | Name with extension, helps detect the type | |
| file_base64 | No | Or the file as base64 / data URI |
media_infomedia infoRead-onlyInspect
Inspect any audio or video file with ffprobe: container, duration, bit rate, and every stream's codec, resolution, frame rate, sample rate, channels and language. Up to 20 MB by URL or base64. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | https URL of the file (max 20 MB) | |
| filename | No | Name with extension, helps detect the type | |
| file_base64 | No | Or the file as base64 / data URI |
media_thumbnailmedia thumbnailRead-onlyInspect
Grab still frames from a video: one frame at a given time, or up to 10 evenly spaced frames for a storyboard. JPEG, PNG or WebP, width 64-1920 px. Costs $0.006 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| at | No | Time of the frame (seconds or hh:mm:ss), default 1 s | |
| url | No | https URL of the file (max 20 MB) | |
| count | No | 1-10 evenly spaced frames | |
| store | No | Return 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| width | No | Default 640 | |
| format | No | binary = raw file bytes (single output) | |
| filename | No | Name with extension, helps detect the type | |
| file_base64 | No | Or the file as base64 / data URI | |
| image_format | No | jpg (default), png, webp |
media_trimmedia trimRead-onlyInspect
Cut a clip out of an audio or video file: give start and end (seconds or hh:mm:ss) or duration. mode=precise re-encodes for frame-exact cuts (default); mode=fast copies streams instantly but cuts on keyframes. Costs $0.012 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ||
| url | No | https URL of the file (max 20 MB) | |
| mode | No | precise (default) or fast | |
| start | No | Seconds or hh:mm:ss, default 0 | |
| store | No | Return 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| format | No | binary = raw file bytes (single output) | |
| duration | No | Seconds (instead of end) | |
| filename | No | Name with extension, helps detect the type | |
| file_base64 | No | Or the file as base64 / data URI |
meetingmeetingRead-onlyInspect
Meeting planner: finds times that fall inside everyone's working hours across time zones over the next days, shows each person's local time, and returns a calendar invite (.ics) for the first slot. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| title | No | ||
| weekends | No | ||
| timezones | No | Comma list of IANA zones | |
| participants | No | JSON [{tz, start, end, name}] | |
| duration_minutes | No |
meeting_roommeeting roomRead-onlyInspect
Video meeting rooms (Cloudflare RealtimeKit): create a room for 1-10 participants and get a browser join link plus an SDK auth token for each person or agent. Priced $0.006 per participant-minute (minimum $0.03); the room closes when the paid time ends. Also status and end. Costs $7.2 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| names | No | ||
| title | No | ||
| action | No | create (default), status, end | |
| minutes | No | 5-120, default 30 | |
| meeting_id | No | ||
| participants | No | 1-10, default 2 |
memorymemoryRead-onlyInspect
Agent memory: save, get, search, list and delete notes that persist between sessions, private to the wallet that pays. Up to 2,000 keys per wallet, 16,000 characters per value. Pay with an EVM wallet. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | ||
| limit | No | ||
| query | No | Text to search for (search) | |
| value | No | ||
| action | Yes | save | get | search | list | delete |
metricsmetricsRead-onlyInspect
Metrics for agents: record numeric points (with tags) and query them back as time series - avg, sum, min, max, count or last per minute, hour or day, grouped by a tag - with an optional PNG line chart. Private to your wallet. $0.004 per call up to 1,000 points, +$0.003 per extra 1,000. Costs $0.016 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| agg | No | ||
| from | No | ||
| name | No | ||
| chart | No | ||
| action | No | record, query, names | |
| points | No | [{name, value, tags, ts}] | |
| group_by | No | ||
| interval | No | 1m, 5m, 15m, 1h, 6h, 1d, 7d |
mistral_chat_completionsmistral chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Mistral Small 3.1 24B, tool calling and image input. Set your OpenAI SDK base URL to https://agentrxi.com/v1/mistral and pay per token with x402 instead of an API key: $1.053 per million input and $1.665 per million output tokens, minimum $0.002 a call, at most $0.0124. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, image input, streaming supported), up to 2048 output tokens. Costs $0.0124 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always mistral-small-3.1-24b | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
moderatemoderateRead-onlyInspect
Safety check (Llama Guard 3): classify up to 10 texts as safe or unsafe with hazard categories (violence, weapons, hate, self-harm, sexual content, privacy, elections and more). Check user input or your own reply before posting. Priced by size: $0.003 + $0.0004 per text + $0.0004 per 1,000 characters. Costs $0.03 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | user (default) or assistant | |
| text | No | ||
| texts | No |
moderationsmoderationsRead-onlyInspect
OpenAI-compatible moderation (Llama Guard 3): same response shape as OpenAI /v1/moderations with flagged, categories and category_scores, plus the raw Llama Guard codes. Up to 10 inputs per call. Priced by size: $0.003 + $0.0004 per input + $0.0004 per 1,000 characters. Costs $0.03 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Text to check (POST also accepts an array of up to 10) | |
| model | No | Ignored |
nemotron_chat_completionsnemotron chat completionsRead-onlyInspect
OpenAI-compatible chat completions on NVIDIA Nemotron 3 120B, agentic reasoning with tool calling. Set your OpenAI SDK base URL to https://agentrxi.com/v1/nemotron and pay per token with x402 instead of an API key: $1.5 per million input and $4.5 per million output tokens, minimum $0.002 a call, at most $0.0274. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, reasoning, streaming supported), up to 4096 output tokens. Costs $0.0274 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always nemotron-3-120b | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
newsnewsRead-onlyInspect
Latest news headlines matching a query from 12 major outlets (BBC, NPR, Guardian, Al Jazeera, CBC, CNBC, NYT, TechCrunch, Verge, Ars Technica, CoinDesk, ESPN) plus Hacker News. Titles, links, source and time. Costs $0.006 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search terms; omit for top headlines | |
| limit | No | 1 to 50, default 20 |
nftnftRead-onlyInspect
NFT lookup on Ethereum, Base, Polygon, Arbitrum or Optimism: collection name, symbol, standard and supply; with token_id also the current owner and resolved metadata (name, description, image, attributes) from IPFS/Arweave/HTTP. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | ethereum (default) | base | polygon | arbitrum | optimism | |
| contract | Yes | ||
| token_id | No |
nft_floornft floorRead-onlyInspect
Floor price for any Ethereum NFT collection on OpenSea and LooksRare, with the collection name, supply, standard, description, image and social links. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| contract | Yes | NFT contract address |
nutritionnutritionRead-onlyInspect
Nutrition facts (USDA FoodData Central): calories, protein, fat, carbs, fiber, sugar, sodium and key minerals for foods and branded products. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Food | |
| limit | No |
nutrition_recipenutrition recipeRead-onlyInspect
Nutrition facts for a whole recipe: give ingredients with household amounts (cups, tbsp, grams, pieces) and servings; returns calories, protein, fat, saturated fat, carbs, fiber, sugar, sodium, cholesterol and potassium per serving and in total, macro split and the USDA match for each ingredient. Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| servings | No | ||
| ingredients | Yes | One per line or | separated, with amounts |
ocrocrRead-onlyInspect
Read the text in a scanned image or PDF with Tesseract (English, French, Spanish, German). PDFs with a text layer are read directly; scanned pages are OCR'd at 300 dpi. $0.008 for one page or image, +$0.002 per extra page (max_pages up to 30; default 5 for .pdf URLs). Costs $0.066 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | https URL of the file (max 20 MB) | |
| lang | No | eng (default), fra, spa, deu; combine with + | |
| filename | No | Name with extension, helps detect the type | |
| force_ocr | No | OCR even when the PDF has a text layer | |
| max_pages | No | PDF pages to read, 1-30 | |
| file_base64 | No | Or the file as base64 / data URI |
officeofficeRead-onlyInspect
Make office files: an Excel spreadsheet (or CSV) from JSON rows or CSV text, or a Word document from Markdown (headings, bullets, bold, tables). Returns the file as base64, ready to save or attach. Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | JSON array of objects or CSV text (xlsx/csv) | |
| sheet | No | Sheet name | |
| format | No | xlsx (default) | csv | docx | |
| filename | No | ||
| markdown | No | Document text (docx) |
office_convertoffice convertRead-onlyInspect
Convert office documents with LibreOffice: Word, Excel, PowerPoint, OpenDocument, RTF, HTML, CSV or text to PDF (default), or between formats (docx, odt, rtf, txt, html, xlsx, ods, csv, pptx, odp). Costs $0.012 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | pdf (default), docx, odt, rtf, txt, html, xlsx, ods, csv, pptx, odp | |
| url | No | https URL of the file (max 20 MB) | |
| store | No | Return 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| format | No | binary = raw file bytes (single output) | |
| filename | No | Name with extension, helps detect the type | |
| file_base64 | No | Or the file as base64 / data URI |
openapi_inspectopenapi inspectARead-onlyInspect
Understand any API from its OpenAPI / Swagger spec (JSON or YAML, or we look for it under the site): title, version, servers, auth schemes, every operation with parameters, body, auth and tags, and the schema names. The fastest way for an agent to learn a new API. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered; the description adds genuinely new behavior: it accepts JSON or YAML, it will attempt to discover the spec under a site, and it costs $0.004 USDC per call via x402. It omits what happens when no spec is found and how 'limit' truncates results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose, then the extracted fields, then the value proposition and price. Three sentences with no filler, though the long comma-separated field list could have been structured more scannably.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, enumerating the returned fields is the right move and is largely covered here, and the x402 cost is disclosed for a paid tool. Gaps remain around the 'limit' parameter, discovery/error behavior when no spec exists, and target-API auth requirements beyond merely reporting schemes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the burden. It does clarify the 'url' parameter somewhat (a spec in JSON/YAML, or a site under which the spec is searched), but adds nothing about the 'limit' parameter or its units/truncation behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('understand') and a specific resource (OpenAPI/Swagger spec) and then enumerates exactly what it extracts — title, version, servers, auth schemes, operations with parameters/body/auth/tags, schema names. This clearly separates it from raw-fetch siblings like http_inspect or contract_inspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States a clear use case: 'The fastest way for an agent to learn a new API.' It also notes the fallback behavior when no spec URL is known ('or we look for it under the site'). It names no explicit alternative sibling or exclusion condition, 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.
package_infopackage infoARead-onlyInspect
npm or PyPI package facts: latest version, license, repository, last publish, release cadence, weekly and monthly downloads, dependency count, TypeScript types, engines, deprecation and recent versions. Pick healthy dependencies. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| ecosystem | No | npm (default) or pypi |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint and openWorldHint, so the safety profile is handled. The description adds genuinely valuable behavioral context the annotations cannot: it is a paid call costing $0.003 USDC via x402, and it enumerates the returned facts. It does not state what happens for a nonexistent package or any rate limits, keeping it out of the top tier.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and its payload, followed by a short usage directive and the cost note. The field enumeration is dense but each item earns its place since there is no output schema to carry it. Slightly list-heavy but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates what is returned, and the cost disclosure covers the main behavioral unknown. It stops short of covering failure behavior (missing/deprecated packages) and the exact name format, which is the remaining gap for a 2-param lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'ecosystem' is documented ('npm (default) or pypi') while 'name' has no description. The description reinforces the ecosystem choice ('npm or PyPI') but adds nothing about the name's expected format (e.g., scoped packages like @scope/pkg, case sensitivity), so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('npm or PyPI package facts') and then enumerates the exact data points returned (latest version, license, repository, downloads, deprecation, etc.), so an agent knows precisely what this tool produces. Though no sibling covers identical ground, it is unambiguous against adjacent tools like techstack, libdocs, or github.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Pick healthy dependencies' hints at a use case (dependency vetting), but there is no explicit when-to-use/when-not guidance and no named alternative. The ecosystem selection (npm vs PyPI) is also left to inference rather than tied to a decision rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_actionspage actionsRead-onlyInspect
Page action map for browser automation: every form (fields, labels, required flags), button and link on a page with ready CSS selectors, so an agent can plan clicks and form fills before opening a browser. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| max_links | No |
paperspapersRead-onlyInspect
Academic paper search across 250M+ works (OpenAlex): title, authors, year, venue, DOI, open-access PDF link, citation count and abstract. Sort by relevance, most recent or most cited. Costs $0.006 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| sort | No | relevance (default) | recent | cited | |
| limit | No | 1 to 25, default 10 | |
| from_year | No |
password_checkpassword checkRead-onlyInspect
Breached password check: is this password in known data breaches, and how often? Send only the SHA-1 hash (never the password); just the first 5 characters reach Have I Been Pwned (k-anonymity). Up to 50 hashes per call. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| sha1 | Yes | SHA-1 hash(es), 40 hex each, comma separated |
pdfpdfRead-onlyInspect
Render a URL or raw HTML to a PDF file with a headless browser. Returns the PDF bytes. Use for invoices, reports, receipts, archiving pages. Costs $0.009 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| html | No | Raw HTML instead of url |
pdf_fillpdf fillRead-onlyInspect
PDF forms: list the fillable fields of any PDF, fill them (text, checkboxes, dropdowns) and optionally flatten, or merge up to 10 PDFs into one. Returns the finished PDF as base64. Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| urls | No | | separated (merge) | |
| action | No | list | fill | merge | |
| fields | No | JSON {field name: value} | |
| flatten | No | ||
| pdf_base64 | No |
pdf_to_imagespdf to imagesRead-onlyInspect
Render PDF pages to PNG or JPEG at 50-300 dpi (for vision models, previews or thumbnails). $0.008 + $0.001 per page (max_pages up to 50, default 10); continue with first_page. Costs $0.058 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| dpi | No | Default 150 | |
| url | No | https URL of the file (max 20 MB) | |
| store | No | Return 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| format | No | binary = raw file bytes (single output) | |
| filename | No | Name with extension, helps detect the type | |
| max_pages | No | 1-50, default 10 | |
| first_page | No | ||
| file_base64 | No | Or the file as base64 / data URI | |
| image_format | No | png (default) or jpg |
pdf_toolspdf toolsRead-onlyInspect
PDF toolkit (qpdf + Ghostscript): merge up to 30 PDFs, split into ranges or single pages, extract pages, rotate, compress (screen/ebook/printer), add a text watermark, add or remove a password, and read document info. Costs $0.0045 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | https URL of the file | |
| text | No | ||
| angle | No | ||
| files | No | For merge: PDF urls | |
| pages | No | ||
| store | No | 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| action | No | info (default), merge, split, extract, rotate, compress, watermark, encrypt, decrypt | |
| format | No | binary = raw file bytes | |
| ranges | No | ||
| quality | No | ||
| password | No | ||
| file_base64 | No | Or the file as base64 |
perpsperpsRead-onlyInspect
Perpetual futures market data from Hyperliquid: mark and oracle price, 24h change, hourly and annualized funding rate, open interest, 24h volume, premium and max leverage. Pick coins or get the top markets by volume. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| coins | No | Comma list, e.g. BTC,ETH,SOL; omit for top by volume | |
| limit | No | 1 to 200, default 20 |
perps_fundingperps fundingARead-onlyInspect
Perpetual funding rates on Hyperliquid: one coin's hourly history with average and annualised rate, or the whole market ranked by highest and lowest funding with open interest and volume. Spot crowded trades and carry opportunities. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| coin | No | e.g. BTC (leave out for all markets) | |
| days | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and openWorldHint, and the description adds material context beyond them: the metered cost ('$0.003 USDC per call (x402)') and the shape of returned data (hourly series with average and annualised rate; market ranking with open interest and volume). It stops short of noting pagination or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences plus a short cost note; the tool's purpose and its two modes are front-loaded before the payoff and pricing details. No filler, though the first sentence is dense enough to need a second read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of explaining return contents (funding series, averages, OI, volume, highest/lowest ranking). The main residual gap is the undefined days/limit parameters and lack of any pagination or result-cap guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%: coin carries a description, but days and limit are undocumented in both schema and description. The description implies a time-series window and a ranked result size but never defines what days or limit control, so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Perpetual funding rates on Hyperliquid') and enumerates both operating modes: single-coin hourly history versus whole-market ranking. An agent can distinguish this from siblings like perps and perps_positions 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete use case ('Spot crowded trades and carry opportunities') and the coin-present vs coin-absent selection rule is implied by the mode split. However, it names no alternative tool and states no 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.
perps_positionsperps positionsARead-onlyInspect
Any wallet's Hyperliquid perpetuals account: account value, open positions with size, entry, unrealized PnL, leverage and liquidation price, open orders and spot balances. Track whales or your own risk. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds genuinely non-structured behavior: a per-call USDC charge via the x402 payment protocol, which affects whether an agent should call it at all. It also discloses the response contents, which matters because there is no output schema. It stops short of stating failure modes (unknown wallet, non-HL wallet) or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the resource and its payload, then a use case, then cost. Every sentence carries information; the field enumeration is slightly dense but justified given there is no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating return fields, and it discloses pricing and the read-only nature. The remaining gap is the wallet parameter's expected format and any error/empty-account behavior, which an agent would need to call this reliably on the first try.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single wallet parameter is undocumented in structured form. "Any wallet's Hyperliquid perpetuals account" establishes that the parameter identifies the account to query, which is a small but real clarification, yet no address format, chain, or casing requirements are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (a wallet's Hyperliquid perpetuals account) and enumerates exactly what is returned: account value, positions with size/entry/uPnL/leverage/liquidation price, orders, spot balances. This is far more specific than a tautology and lets an agent distinguish it from generic siblings like perps or wallet_portfolio, though it does not name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Track whales or your own risk" gives a concrete motivating use case, and the stated $0.003 USDC/x402 cost is decision-relevant. However, there is no when-not guidance, no exclusion of the nearby perps or wallet_portfolio tools, and no stated prerequisites (e.g. wallet must be Hyperliquid-active).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
phonephoneRead-onlyInspect
Phone number check: validates a number and returns its country, line type (mobile, fixed line, toll free, VoIP...) and E.164, international and national formats, from Google's libphonenumber data. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | ||
| country | No | 2-letter country if the number has no +code |
pii_redactpii redactARead-onlyInspect
Find and redact personal and secret data before text goes to a model or a log: emails, phone numbers, credit cards (Luhn-checked), IBANs (checksum), US SSNs, IP addresses, API keys and tokens, JWTs, private keys, crypto addresses, dates of birth, and (names=true) people's names and home addresses. Modes: redact with consistent labels, mask, or detect only. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | redact (default), mask, detect | |
| text | Yes | ||
| names | No | Also find person names / addresses with AI (texts up to 12,000 characters) | |
| types | No | Only these types, comma separated | |
| country | No | Default region for phone numbers, e.g. US, GB |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true already declaring the safety profile, the description adds genuinely new operating context: the $0.004 USDC x402 per-call cost, the Luhn/checksum validation methods, and the 12,000-character cap in names mode. It does not disclose whether the submitted text is stored or transmitted, which matters for a PII tool, so it stops short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the operation and its use case, then modes, then pricing. The long entity-type enumeration is dense but each item earns its place by telling the agent what will be caught. Slightly more compact formatting (modes/pricing split out) would be cleaner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-text, read-only tool with no output schema, the description covers inputs, modes, validation depth, and cost. The one notable gap is what the caller gets back in detect vs redact mode (labels, spans, counts), though the mode names imply it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80%, so the baseline is 3, and the description adds real value on top: it explains what each mode produces ('redact with consistent labels, mask, or detect only'), clarifies that names=true uses AI and carries a length limit, and implies the types/country parameters through the enumerated type list and region mention.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States precise verb+resource ('find and redact personal and secret data') and enumerates exactly which entity types are covered, including the detection techniques (Luhn, IBAN checksum). This clearly separates it from siblings like moderate, regex, or extract that an agent might otherwise reach for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete usage context — 'before text goes to a model or a log' — which implies when this tool belongs in a pipeline. It does not name alternative tools or explicitly state when not to use it, but the triggering condition is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
placesplacesRead-onlyInspect
Places search: find businesses and points of interest (cafes, pharmacies, hotels, ATMs, restaurants...) near a city, address or coordinates from OpenStreetMap, with category, address, coordinates and distance. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| lat | No | ||
| lon | No | ||
| near | No | City or address | |
| limit | No | ||
| radius_m | No | Default 3000 |
planplanRead-onlyInspect
Tool plan with cost: breaks a goal into steps and finds the cheapest paid API for each step (this marketplace and the whole x402 directory), with the estimated total cost before you spend anything. Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| budget_usd | No |
postalpostalARead-onlyInspect
Postal and ZIP code lookup in about 60 countries: places, state and coordinates for a code, or every code for a city (reverse). Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| code | No | ||
| state | No | ||
| country | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds genuinely non-redundant context: coverage (~60 countries) and the paid model ($0.002 USDC per call via x402), which an agent needs to know before invoking. It still omits what happens on partial input or how results are shaped, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the resource, enumerates the two lookup modes, and appends cost last. No filler, no restatement of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no parameter documentation mean the description must explain inputs and returns, and it only covers the two modes plus cost. An agent still cannot tell which parameters to supply for a successful call or what a result contains, which is a meaningful gap for a 4-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and all four parameters (city, code, state, country) are undocumented and optional, so the description carries the burden. It implies code drives the forward mode and city drives reverse, with state/country as filters, but never states which combination is valid or that nothing is required. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('postal and ZIP code lookup') and clarifies both directions of the operation: code-to-places/state/coordinates and city-to-codes. However, it never differentiates itself from the sibling 'zip' tool, which appears to cover the same territory, so an agent cannot tell them apart without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The two modes (forward lookup by code, reverse lookup by city) imply when each parameter set is relevant, which is useful implicit guidance. But there is no explicit when-to-use versus 'zip', 'geocode', or 'address_validate', and no statement of which parameters are required for which mode.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
predictionspredictionsRead-onlyInspect
Live prediction market odds from Polymarket: search any topic or get the most-traded markets. Returns each outcome's implied probability, 24h and total volume, liquidity, end date and link. Costs $0.006 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Topic, e.g. bitcoin, election, fed rates; omit for top markets | |
| limit | No | 1 to 50, default 10 |
predictions_bookpredictions bookARead-onlyInspect
Polymarket order book for a market: best bid and ask, midpoint implied probability, spread, liquidity within 2 cents and the top levels for each outcome. Find markets first with /v1/predictions. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Market or event slug, or a polymarket.com URL | |
| depth | No | ||
| token_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only and open-world profile, so the bar is lower, and the description adds a genuinely useful behavioral fact the annotations cannot convey: a $0.003 USDC cost per call via x402. It does not mention rate limits, pagination, or behavior for illiquid/empty books, but the payment disclosure is the key operational trait.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences that front-load the resource and its return fields, then append the prerequisite and cost. No filler; every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does a good job enumerating returned fields, which is the main burden. However it omits documentation for two of three parameters and never clarifies that slug accepts a market or event slug or a polymarket.com URL, leaving real gaps for a tool with three inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (slug), and the description does not explain the undocumented 'depth' or 'token_id' parameters. The mention of 'top levels' loosely implies depth and 'for each outcome' hints at token ids, but neither parameter's meaning, format, or interaction is clarified, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and verb: the Polymarket order book for a market, and enumerates exactly what it returns (best bid/ask, midpoint implied probability, spread, liquidity within 2 cents, top levels per outcome). It also distinguishes itself from the sibling 'predictions' tool by telling the agent to find markets there first.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear sequencing rule - 'Find markets first with /v1/predictions' - which is the main prerequisite for calling this tool. It does not state when NOT to use it or name alternative order-book sources, but the context and prerequisite are explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
predictions_positionspredictions positionsARead-onlyInspect
Any Polymarket wallet's open positions: market, outcome, size, average and current price, value, cost and PnL, redeemable winnings, plus recent trades. Follow sharp traders or check your own book. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint/openWorldHint annotations already cover the safety profile, and the description adds a genuinely important trait annotations cannot express: it is a paid call at $0.003 USDC via x402. It also discloses the shape of the returned book (size, prices, PnL, redeemable winnings, recent trades). It stops short of noting rate limits or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with what is returned, then why to call it, then cost last. Every sentence carries distinct information with no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description properly enumerates the returned fields, and it flags the x402 payment cost up front. Remaining gaps are minor operational details (pagination, rate limits) rather than anything that would cause a mis-call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter with 0% schema description coverage, so the description carries the burden. Saying 'Any Polymarket wallet's' does clarify that the wallet is a Polymarket-venue wallet specifically, and 'check your own book' hints it can be the caller's address, but no address format or identifier conventions are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource and scope: open Polymarket positions for any wallet, with the returned fields enumerated. This is clearly distinguishable from siblings like predictions_book (order book) and perps_positions (different venue/instrument), so an agent can route correctly without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete usage contexts — 'Follow sharp traders or check your own book' — which tells the agent when this tool is relevant. It does not name alternatives (e.g. predictions_book, perps_positions) or state exclusions, so it stops short of explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profileprofileRead-onlyInspect
Agent profile hosting: publish a public profile page and an A2A agent card for your agent at agentrxi.com/agents/, owned by your wallet. Update it any time. Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Your agent's endpoint | |
| name | Yes | ||
| slug | No | ||
| skills | No | | separated | |
| contact | No | ||
| description | Yes |
prompt_optimizeprompt optimizeARead-onlyInspect
Improve a prompt: a prompt engineer rewrites it with a clear role, task, context, constraints and exact output format, lists what it changed, the ambiguities it found and the variables to fill. Up to about 4,000 tokens in. Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | ||
| model | No | ||
| prompt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint, so the description carries the interesting burden and does it well: it discloses the ~4,000-token input ceiling and a concrete price of $0.01 USDC per call via x402, which is critical for an agent deciding whether to spend. It stops short of saying whether the original prompt is unmodified or what happens on over-limit input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense, front-loaded sentence covers what the tool does and what it returns, followed by a short second sentence for the size and cost limits. No filler, though the first sentence packs several clauses and could be split for faster scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema available, the description steps in and enumerates the return content (rewritten prompt, changes, ambiguities, variables), and it adds the input limit and price an agent needs before committing. The remaining hole is parameter meaning, which is a schema/description gap rather than a missing behavioral fact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate and it largely does not: 'goal' and 'model' are never explained (model presumably selects the target LLM, but that is inference). Only the 'prompt' parameter is addressed indirectly through the token limit. Two of three parameters remain semantically undefined in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (improve/rewrite) and resource (prompt), and enumerates exactly what the rewrite contains: role, task, context, constraints, output format, plus change list, ambiguities and variables. An agent can tell it apart from generic text_rewrite or second_opinion by the prompt-engineering framing, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: you call it when you have a prompt to improve. There is no explicit when-not guidance and no mention of competing siblings such as text_rewrite or second_opinion, which an agent would plausibly confuse this with.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
qrqrRead-onlyInspect
QR codes: make a QR code (PNG or SVG, any size, error-correction level) from text or a URL, or read the text from a QR code in a PNG or JPEG image. Costs $0.0025 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | ||
| text | No | Text or URL to encode | |
| format | No | png (default) | svg | |
| image_url | No | Read a QR code instead | |
| image_base64 | No |
queuequeueRead-onlyInspect
Durable task queues for agents: push up to 100 items (with delay and priority), pop with a lease (visibility timeout) and long-polling, then ack or nack; peek and stats. Private to the wallet, or shared across wallets with a secret key. $0.002 per call, items kept 14 days. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| key | No | Shared secret (16+ chars) to share the queue across wallets | |
| max | No | ||
| item | No | ||
| items | No | ||
| queue | No | Queue name, default 'default' | |
| action | No | push, pop, ack, nack, peek, stats, purge | |
| wait_s | No | ||
| delay_s | No | ||
| receipt | No | ||
| priority | No | 0-9 | |
| visibility_s | No |
qwen3_8_chat_completionsqwen3 8 chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Alibaba Qwen 3.8 27B, the newest Qwen with reasoning, tool calling and a 262K context. Set your OpenAI SDK base URL to https://agentrxi.com/v1/qwen3.8 and pay per token with x402 instead of an API key: $0.9 per million input and $6.4 per million output tokens, minimum $0.002 a call, at most $0.1059. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, reasoning, streaming supported), up to 8192 output tokens. Costs $0.1059 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always qwen3.8-27b | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
qwen_chat_completionsqwen chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Alibaba Qwen3 30B mixture-of-experts, thinking model with tool calling, the cheapest chat here. Set your OpenAI SDK base URL to https://agentrxi.com/v1/qwen and pay per token with x402 instead of an API key: $0.153 per million input and $1.005 per million output tokens, minimum $0.002 a call, at most $0.0072. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (tool calling, reasoning, streaming supported), up to 4096 output tokens. Costs $0.0072 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always qwen3-30b-a3b | |
| tools | No | OpenAI function tools | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
qwq_chat_completionsqwq chat completionsRead-onlyInspect
OpenAI-compatible chat completions on Alibaba QwQ 32B, step-by-step reasoning for math and logic. Set your OpenAI SDK base URL to https://agentrxi.com/v1/qwq and pay per token with x402 instead of an API key: $1.32 per million input and $2 per million output tokens, minimum $0.002 a call, at most $0.0335. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (reasoning, streaming supported), up to 8192 output tokens. Costs $0.0335 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always qwq-32b | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
r1_chat_completionsr1 chat completionsRead-onlyInspect
OpenAI-compatible chat completions on DeepSeek R1 Distill (Qwen 32B), chain-of-thought reasoning model. Set your OpenAI SDK base URL to https://agentrxi.com/v1/r1 and pay per token with x402 instead of an API key: $0.994 per million input and $9.762 per million output tokens, minimum $0.002 a call, at most $0.1104. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (reasoning, streaming supported), up to 8192 output tokens. Costs $0.1104 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always deepseek-r1-distill-32b | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
randomrandomRead-onlyInspect
Verifiable random numbers from the drand public beacon (League of Entropy): numbers in a range, or a fair shuffle and pick of your items, with the beacon round so anyone can re-check the result. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | ||
| min | No | ||
| salt | No | ||
| count | No | ||
| items | No | | separated items to shuffle or pick from |
ratelimitratelimitARead-onlyInspect
Shared rate limiter: take N units from a named bucket (limit per window, atomic) and learn whether you may go ahead, how many remain and when it resets. Keeps a fleet of agents under an API's quota or your own budget. cost=0 just peeks. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| cost | No | Units to take, default 1 | |
| name | Yes | ||
| limit | No | ||
| space | No | Optional shared namespace (any secret string): agents using the same space share it. Default: your paying wallet. | |
| window_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the call atomically *takes* units from shared state that other agents consume — an environment-modifying, money-spending side effect — while the annotations declare readOnlyHint=true. That matters operationally: an agent told this is read-only could retry it freely, yet each retry costs $0.002 and burns quota. The description is the accurate side of the conflict, but as written it contradicts the annotation, so per the rubric this scores 1.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core mechanic, then the peer-coordination use case, then the peek mode and price. Every clause carries information (return values, atomicity, cost model) and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly supplies the response contract (proceed/deny, remaining, reset time), plus atomicity and the x402 price. It leaves open the failure behaviour when the limit is exceeded and how 'limit'/'window_seconds' are established on first use of a bucket.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40% ('name', 'limit' and 'window_seconds' are undocumented in the schema), and the description compensates well: it explains that 'limit' is per window, implies 'name' is the bucket key, and clarifies 'cost' beyond the schema's 'Units to take, default 1' by specifying that cost=0 is a pure peek. It stops short of explaining what happens on conflicting limit/window values for an existing bucket.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('take N units from a named bucket') plus the returned decision (may go ahead, how many remain, when it resets). No sibling tool does anything similar (the nearest neighbours, 'locks' and 'queue', are clearly different resources), so an agent can select it unambiguously from the name plus description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete when-to-use context ('keeps a fleet of agents under an API's quota or your own budget') and distinguishes two modes: a consuming take versus 'cost=0 just peeks'. It does not name alternatives or state exclusions, but the sibling list contains no competing limiter, so this is close to complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ratesratesRead-onlyInspect
US interest rates now: fed funds, SOFR, prime rate, 3-month bill, 2, 10 and 30-year Treasury yields and the 10y-2y and 10y-3m spreads, with change over 1 month and 1 year and whether the yield curve is inverted. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
read_bulkread bulkRead-onlyInspect
Bulk reader: up to 20 web pages read and cleaned to text in one call (instead of 20 separate calls), each trimmed to your character limit. Unreadable pages are flagged, not failed. Costs $0.02 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | | separated, up to 20 | |
| async | No | ||
| max_chars | No | Per page, default 6000 |
recallsrecallsARead-onlyInspect
Product safety recalls in one call: consumer products (CPSC), food and drugs (FDA enforcement reports) by product name, and vehicles (NHTSA) by make, model and year, with hazard, remedy and dates. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| make | No | ||
| type | No | consumer,food,drug,vehicle | |
| year | No | ||
| limit | No | ||
| model | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered; the description adds real extra context by disclosing the $0.004 USDC per-call x402 cost and the fields returned (hazard, remedy, dates). It omits rate limits, failure modes, and payment-failure behavior, which would round it out for a paid external call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero padding: capability and source coverage first, cost second. Everything is front-loaded and each clause carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully names the returned fields and the covered datasets, and it flags the payment model. The remaining gap is that all six parameters are optional with no stated default or behavior for an unfiltered call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17% (just the 'type' enum string), so the description carries most of the burden and does so for five of six parameters by mapping q to product name and make/model/year to vehicle lookups, plus the implicit type taxonomy. The limit parameter remains undefined in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific domain (product safety recalls) and enumerates the three underlying sources with their lookup keys: CPSC consumer products, FDA enforcement for food/drugs, NHTSA for vehicles. This clearly separates it from near-neighbors like hazards, drug, and nutrition in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete routing guidance: query by product name for consumer/food/drug recalls, by make/model/year for vehicles, so the agent knows which parameter set to use per data source. It does not state when to prefer this over siblings (e.g., hazards or drug) or what happens when no filters are supplied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receipt_parsereceipt parseBRead-onlyInspect
Read a receipt or invoice (photo, scan or PDF) into clean JSON: merchant, tax ID, invoice number, dates, currency, line items, subtotal, discount, tax, tip, shipping, total and payment method, with an arithmetic check that the numbers add up. Costs $0.015 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| file_base64 | No | ||
| content_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, openWorldHint), but the description adds genuinely new operational context: the call is gated behind an x402 payment costing $0.015 USDC, which an agent must plan for, plus the arithmetic-consistency check on returned numbers. It omits failure modes, accepted file-size limits, and behaviour when the receipt is unreadable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action, and the long field enumeration earns its place because there is no output schema to document the return shape. The trailing payment-cost clause is useful but slightly abrupt in placement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, enumerating the returned fields is the right call and makes the return contract reasonably clear. However, three fully undocumented input parameters and an x402 payment flow mentioned only in passing leave meaningful gaps for a tool an agent must invoke correctly on the first try.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for all three parameters, and the description compensates only indirectly by mentioning photo, scan or PDF inputs. It never explains which parameter (url vs file_base64) is appropriate, what content_type should contain, or how they interact, so the agent must guess the primary input channel.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('Read a receipt or invoice') and enumerates the exact output contract (merchant, tax ID, line items, arithmetic check), which clearly separates it from generic siblings like ocr, extract or pdf. It never names a sibling explicitly, so the differentiation is implicit rather than stated, which keeps it below 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this over ocr, extract, pdf or invoice_create, and no prerequisites or input-selection advice. An agent cannot tell from the text whether to pass a URL or an uploaded file, nor what happens when neither is supplied (0 required params).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recessionrecessionRead-onlyInspect
US recession dashboard: yield-curve inversions (10y-3m and 10y-2y), real-time Sahm rule, smoothed recession probability, Chicago Fed financial conditions and the unemployment rise from its low, each with whether it is flashing, plus an overall verdict. Costs $0.006 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
regexregexARead-onlyInspect
Regex workbench: test a pattern against up to 50 inputs (every match, index and capture group), or describe what you need with examples that must and must not match, and get a pattern that is verified against all of them. Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| flags | No | ||
| inputs | No | ||
| pattern | No | ||
| description | No | ||
| should_match | No | ||
| should_not_match | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover readOnly/openWorld, and the description adds genuinely non-redundant behavior: a 50-input cap, the fact that the generator verifies the produced pattern against all examples, the match/index/capture-group detail, and the $0.01 USDC (x402) cost. It does not explain x402 payment mechanics or rate/error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both front-loaded: capability first, cost last. Efficient with no filler, though the capability sentence is dense with two modes and a return-value clause packed together.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With six optional parameters, no output schema and no schema descriptions, the description does well by outlining inputs, the 50-item limit, the verification behavior and the price. Remaining gaps are the undocumented flags parameter and how payment/authorization for the paid call is expected to be supplied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry all six parameters. It effectively documents pattern, inputs (cap of 50), description, should_match and should_not_match, but 'flags' is never mentioned and no regex flavor/flag syntax or input-array constraints are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ('Regex workbench') and clearly separates two modes: testing a supplied pattern against inputs, and generating a pattern from description plus must-match/must-not-match examples. No sibling tool in the list operates on regexes, so no explicit sibling differentiation is needed or given.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The sentence structure gives an explicit fork: if you already have a pattern, pass it with inputs; if you don't, supply a description plus examples. That is a clear when-to-use-each rule, though it never states which parameters are required or what happens if both modes are attempted at once.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_api_integrationreport api integrationARead-onlyInspect
Integration guide for any API with an OpenAPI spec: auth set-up, the key operations for your task, step-by-step plan, complete runnable code samples in your language with error handling and retries, pitfalls (pagination, rate limits, idempotency, webhooks) and a test plan, plus a PDF. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $2 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| url | Yes | ||
| task | No | ||
| async | No | Return a job id now and the report later (the core source is checked first) | |
| language | No | ||
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, the description discloses pricing ($2 USDC per call via x402), a no-charge guarantee when too few sources answer, and the async trade-off (core source pre-checked before the job is queued and billed). These are exactly the side-effect and cost signals an agent needs. Minor gap: it does not state expected latency or that a queued job is a server-side artifact, which sits slightly in tension with readOnlyHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the artifact definition before the commercial/async caveats. Information density is high and every clause carries content, though the nested parenthetical about async charging is slightly hard to parse and could be split for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter tool with no output schema, the description adequately conveys what is returned (guide contents plus a PDF link) and how the async path behaves. Remaining gaps are modest: synchronous latency, output format beyond 'a report', and the exact string expected for the language parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (pdf, async, webhook_url documented; url, task, language bare). The description compensates by clarifying the three undocumented params: url is an OpenAPI spec, language drives the code samples, and task selects 'the key operations' in the plan. That is meaningfully above the baseline-3 expectation for a half-documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — 'Integration guide for any API with an OpenAPI spec' — and then enumerates the deliverable contents (auth set-up, key operations, step-by-step plan, runnable code samples, pitfalls, test plan, PDF). No sibling tool (e.g. openapi_inspect, report_repo) covers this same artifact, so an agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the 'any API with an OpenAPI spec' precondition tells the agent what inputs qualify, and the async/no-charge clause hints at a fast-fail path. However, there is no explicit when-to-use vs alternatives guidance (e.g. versus openapi_inspect or contracts) and no stated prerequisites beyond the spec URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_brandreport brandARead-onlyInspect
Brand health report from public signals: positioning and messaging, logo and colours, news coverage and sentiment, public-interest trend, search basics, AI-agent visibility (llms.txt, MCP, agent card), hiring momentum and channels, with quick wins and a PDF. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $2 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| async | No | Return a job id now and the report later (the core source is checked first) | |
| brand | No | ||
| domain | Yes | ||
| wikipedia | No | Wikipedia article title if different from the brand | |
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnlyHint and openWorldHint; the description adds material context the annotations cannot convey — a $2 USDC per-call charge via x402, the no-charge outcome when too few sources answer, and the async-specific detail that the core source is checked before queuing and charging. That is meaningful operational disclosure for a paid, externally-sourced job. It does not state latency, rate limits, or what an error/no-data response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense but front-loaded block: the deliverable and its section list come first, then the commercial and charging conditions. The section enumeration is long but is doing real work in standing in for an output schema. Slightly overstuffed in a single sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey the return, and it does so by listing report contents plus the optional PDF link and webhook delivery. Pricing and the asynchronous charging rule are covered. What is missing is routing guidance against sibling report tools and clarification of the required domain vs optional brand/wikipedia inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, with brand and domain carrying no descriptions at all. The description partly compensates by framing the whole call as domain/brand-driven and by explaining the async charging gate, while pdf and webhook_url are already documented in the schema. It still leaves the brand-vs-domain-vs-wikipedia relationship unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific deliverable ('Brand health report from public signals') and enumerates the exact sections produced (positioning/messaging, logo and colours, news sentiment, AI-agent visibility, hiring momentum, quick wins, PDF). That is far more concrete than the bare title. It never distinguishes itself from near neighbours such as report_company, report_domain, report_seo or report_competitors, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Conditions are implied rather than stated: it describes 'public signals' inputs and warns about the too-few-sources case, which hints at when it is worthwhile, but there is no when-to-use / when-not-to-use guidance against the many sibling 'report_*' tools. An agent can tell roughly what it produces but not when to prefer it over report_company or report_seo.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_companyreport companyARead-onlyInspect
Full company background report in one call: legal identity (GLEIF LEI, UK Companies House KYB, EU VAT), SEC filings, court cases and federal regulations, US federal contracts, news, website and domain age, email and DNS security, tech stack, link safety, web-archive history and open jobs, from 14 sources. A model then writes an overview, a 0-100 risk score, red flags, positives and key facts with every source cited, plus a 7-day PDF link. Takes 30-90 s: add async=true (and webhook_url) to get a job id at once (the company is confirmed first, otherwise no job and no charge). If too few sources answer a synchronous call is not charged. Companies only, not individuals; not a credit check or sanctions screening. Costs $5 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a PDF link (default true) | ||
| vat | No | EU VAT number | |
| name | No | Company name | |
| async | No | Return a job id now, result later | |
| domain | No | Company website, e.g. stripe.com (found by search when left out) | |
| ticker | No | US stock ticker for SEC filings | |
| country | No | ISO code: US, GB, DE... (optional, focuses the registries) | |
| uk_number | No | UK Companies House number | |
| webhook_url | No | With async: POST the result here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds substantial behavior the annotations cannot express: 30-90 s latency, the async/webhook escape hatch, the confirm-company-first rule ('otherwise no job and no charge'), the no-charge rule when too few sources respond, and the $5 USDC x402 price. This is exactly the operational context an agent needs before spending money and time.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense block, but it is well front-loaded: deliverables first, then latency/async mechanics, then eligibility exclusions, then price. Almost every clause carries information, though the 14-source enumeration is long enough to risk burying the constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the return-value burden and does so fully: it names the narrative overview, 0-100 risk score, red flags, positives, cited key facts and the 7-day PDF link. Cost, timing, async path and eligibility are all covered, leaving nothing an agent must guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description genuinely adds meaning beyond the schema strings by tying async to 'job id at once' with the 30-90 s synchronous latency, and by pairing webhook_url with async. pdf default and the identifier parameters are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('Full company background report in one call') and then enumerates exactly what the report contains across 14 sources, which lets an agent separate it from narrow siblings like company_registry, uk_company or uk_kyb. An agent knows precisely what it gets before opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Strong conditional guidance for the async path ('add async=true and webhook_url to get a job id at once') plus explicit exclusions ('Companies only, not individuals; not a credit check or sanctions screening') and cost. It does not, however, state when to prefer this over sibling tools such as company or report_competitors, so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_competitorsreport competitorsARead-onlyInspect
Competitor landscape for a company or product: finds its direct competitors from the web, profiles each one's website and tech stack, and a model compares positioning, target customer, strengths, weaknesses and threat level, with differentiation opportunities and a PDF. 3-8 competitors. 40-120 s; async=true supported. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $3 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| name | No | ||
| async | No | Return a job id now and the report later | |
| count | No | 3-8, default 6 | |
| domain | No | ||
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnly/openWorld, so the description carries the real behavioral load and delivers: 40-120s runtime, async job semantics with webhook support, a no-charge condition when too few sources are found, the async pre-check ordering, and a $3 USDC x402 cost. Billing, latency, and failure-refund behavior are exactly the traits an agent cannot get from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the deliverable, then constraints, then billing; no filler sentences. It is dense to the point of being crammed with parentheticals (async caveat, pricing), which slightly hurts scannability but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description appropriately describes the return (per-competitor profiles, comparison narrative, differentiation opportunities, PDF). It also covers the timeout and no-charge edge cases. The remaining gap is target identification (name vs domain) and what happens on failed async jobs beyond the refund rule.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the description mostly restates it (count 3-8, pdf, async), adding only modest meaning. Critically, with 0 required parameters it never explains how to identify the target — whether to pass `name`, `domain`, or both — which is the single most decision-relevant ambiguity for this call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific deliverable (competitor landscape for a company/product) and enumerates the pipeline: web discovery of direct competitors, website/tech-stack profiling, model-driven comparison of positioning, target customer, strengths, weaknesses, threat level, plus differentiation opportunities. This is clearly distinguishable from siblings like report_company, report_market, and techstack 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the 3-8 competitor scope, the 40-120s latency, and the async flag, but no alternative tool is named and no explicit when-not-to-use condition is given (e.g. report_company vs report_market vs this). The agent must infer routing from the sibling list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_contract_auditreport contract auditARead-onlyInspect
AI smart-contract security audit of any verified contract on Base, Ethereum, Arbitrum, Optimism or Polygon: reads the verified source (implementation behind proxies) and checks reentrancy, access control, unchecked calls, oracle manipulation, signature replay, upgradeability, owner powers (mint, pause, blacklist, fees), honeypot patterns and more. Returns findings with severity, file, function and fix, a centralisation summary, a security score and a PDF. Unverified contracts are refused and not charged. 30-120 s; async=true supported. Costs $5 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| async | No | Return a job id now and the report later | |
| chain | No | base (default), ethereum, arbitrum, optimism, polygon | |
| address | Yes | ||
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint/openWorldHint), the description discloses pricing ($5 USDC per call via x402), expected latency (30-120 s), async behaviour, and a concrete failure mode ('unverified contracts are refused and not charged'). It also spells out the return payload (findings with severity/file/function/fix, centralisation summary, security score, PDF), which is exactly the behavioural context an agent needs before committing to a paid call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a dense, single-paragraph block, but it is front-loaded with the core purpose and each clause carries new information (checks, outputs, cost, latency, refusal rule). The mid-sentence enumeration is long yet earns its place; nothing is pure filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by describing the return shape, the PDF artifact, the cost, the runtime, the async path and the refusal case. For a paid, potentially slow, multi-chain audit tool, an agent has everything needed to decide and call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the schema already documents pdf, async, chain and webhook_url, and the description largely restates them (chain list, 'async=true supported', PDF output). It adds the async job-id semantics implied by 'async=true supported' but gives no extra guidance on webhook usage, pdf=false behaviour, or address format, so it stays at the baseline for a well-covered schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource (AI smart-contract security audit of verified contracts), enumerates the exact chains supported and the full checklist of vulnerability classes covered, which is far more concrete than a generic 'inspect' tool. It never names an alternative (e.g. contract_inspect, vulns), so an agent must infer the boundary from scope alone rather than being told it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied rather than stated: the tool is clearly for auditing a verified contract address, and the cost ($5 USDC) plus the 'unverified contracts are refused and not charged' rule give useful selection conditions. However there is no explicit when-to-use/when-not guidance and no routing to sibling tools such as contract_inspect or vulns for cheaper or narrower checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_contract_reviewreport contract reviewARead-onlyInspect
AI contract review for the side you are on: clause-by-clause risk (who it favours, suggested change), obligations and deadlines, auto-renewal, liability, indemnity, IP, termination and other traps, missing clauses and negotiation points, plus a PDF. PDF, Word, web page or text up to about 28,000 tokens. Not legal advice. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $3 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| url | No | Or a PDF / Word / web page URL | |
| role | No | Whose side, e.g. 'the customer' | |
| text | No | Document text | |
| async | No | Return a job id now and the report later (the core source is checked first) | |
| focus | No | ||
| file_base64 | No | Or the file (PDF or DOCX) as base64 | |
| webhook_url | No | With async: POST the finished report here | |
| jurisdiction | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, openWorldHint), the description discloses billing mechanics ('$3 USDC per call (x402)'), a refund condition ('If too few sources answer you are not charged'), and the async timing rule ('with async=true the core source is checked before the job is queued and charged'). It also states the 'Not legal advice' caveat and the 7-day PDF output, which an agent cannot learn from the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and the sentences are information-dense with no filler. The long comma-delimited enumeration of risk categories is heavier than needed, but each listed item conveys real scope rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters, no output schema and thin annotations, the description carries the necessary load: cost, refund condition, async behavior, input size limit, output artifact, and legal disclaimer. It is still incomplete on the focus and jurisdiction parameters and does not explicitly connect webhook_url to the async flow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 78%, so the schema already documents most parameters; the description complements it by grouping the accepted input routes (PDF / Word / web page / text) and explaining the async timing semantics. It adds nothing for the two undocumented parameters (focus, jurisdiction) and only loosely implies role via 'the side you are on'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource (contract review) and enumerates the output in detail (clause risk, obligations, auto-renewal, liability, IP, missing clauses, negotiation points, PDF). It is unmistakably distinct in intent, but it never distinguishes itself from the sibling report_contract_audit, leaving the agent to guess which of the two contract tools to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Input formats ('PDF, Word, web page or text up to about 28,000 tokens') and the cost/no-charge conditions imply when the tool is usable and safe to fire. However, there is no explicit when-to-use vs when-not guidance and no routing to report_contract_audit or contract_inspect, so the usage boundary is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_defireport defiARead-onlyInspect
DeFi protocol due-diligence report: TVL now vs 7 / 30 / 365 days and peak, TVL by chain, fees and revenue (annualised), DEX volume, audits and audit links, incidents, oracles, forks, governance-token contract risk and recent news. A model writes a quality-and-safety score, red flags, metrics (incl. market cap to revenue) and a PDF. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $3 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| async | No | Return a job id now and the report later | |
| protocol | Yes | DefiLlama slug, e.g. aave, aerodrome, uniswap, lido | |
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnlyHint and openWorldHint, and the description adds substantial behavioral context beyond them: per-call pricing and settlement rail, the refund/no-charge rule, and the precise semantics of async=true (the core source is checked before the job is queued and charged). It also discloses that a model generates the score/red flags and that a PDF is produced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the deliverable and dense with useful specifics rather than filler, so most sentences earn their place. It is a single long multi-clause sentence followed by two dense ones, which makes the billing and async rules easy to skim past.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the return-shape burden and does so: it enumerates report contents, states the score/red-flags/metrics/PDF artifacts, and covers cost, refunds and async delivery. For a 4-param, 1-required read-only tool that is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description earns more by explaining that async delays the job and changes when charging occurs, which the schema's terse 'Return a job id now and the report later' does not convey. It also notes pdf defaults to true. webhook_url is left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific artifact (DeFi protocol due-diligence report) and enumerates the contents it returns: TVL windows and peak, TVL by chain, fees/revenue annualised, DEX volume, audits, incidents, oracles, forks, governance-token risk, news. This is clearly distinguishable from raw-data siblings such as defi_tvl, defi_fees and defi_dexs, which do not synthesize a scored report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied (due-diligence on a protocol) and the description is unusually explicit about cost ($3 USDC via x402) and the no-charge condition when too few sources answer, which helps the agent decide whether to spend. However, it never states when to pick this over cheaper sibling endpoints (defi_tvl, defi_fees, defi_dexs) or when a report is overkill versus a point lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_domainreport domainARead-onlyInspect
Full domain and website audit from 10 passive checks: registration and age, DNS and DNSSEC, SPF / DMARC / DKIM, certificates and exposed subdomains, HTTP security headers and cookies, malware and phishing reputation, tech stack, AI-crawler policy, homepage SEO and web history. A model grades security, email, performance and SEO (A-F) and lists prioritised fixes, plus a PDF. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $1 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| async | No | Return a job id now and the report later | |
| domain | Yes | ||
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, the description discloses the cost model ($1 USDC per call via x402), the conditional no-charge policy, and the async nuance that the core source is validated before the job is queued and charged. It also describes what the model produces (A-F grades across security, email, performance, SEO plus prioritised fixes and a PDF), which is exactly the behavioral detail an agent needs before spending money.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one dense paragraph, but the audit scope is front-loaded and the pricing/refund/async caveats follow, so the agent reads the important information first. The enumeration of ten checks is long yet earns its place by defining the deliverable; no sentence is purely filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the return-value burden and does so by naming the grades, the prioritised fixes and the PDF. For a paid, open-world, async-capable audit tool, the cost, refund condition and delivery modes are all covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75% and the schema already documents pdf, async and webhook_url, so the baseline is 3. The description adds marginal value by tying async to the 'job id now, report later' flow, but it says nothing about the required domain value's expected format or whether webhook_url requires async to be set.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Full domain and website audit') and enumerates the ten passive checks it covers, so an agent knows exactly what comes back. What it does not do is differentiate itself from closely named siblings such as domain, domain_audit, report_seo or seo, which all sit in the same neighborhood.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied rather than stated: the breadth of the audit makes it the heavy option, while the refund clause tells the agent when it will not be charged. There is no explicit steering such as 'use domain_audit for a quick single-factor check' or 'use dns when you only need records', so alternatives must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_earningsreport earningsARead-onlyInspect
Earnings analysis of a US public company's latest 10-Q or 10-K: reads Management's Discussion and Analysis plus 3 years of quarterly XBRL numbers, recent 8-K events and news, and explains headline results vs prior periods, drivers, margins, cash, outlook and change in management tone, plus a PDF. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $2 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| async | No | Return a job id now and the report later (the core source is checked first) | |
| ticker | Yes | ||
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint and openWorldHint declared, the description carries the rest and does so well: explicit cost ($2 USDC via x402), a no-charge guarantee when sources are insufficient, and the async nuance that the core source is checked before the job is queued and charged. It also notes the 7-day PDF link, which is real behavioral detail absent from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the deliverable and its sources, then cost/refund/async mechanics. The opening sentence is clause-heavy, but almost every clause adds distinct information (sources, time span, output), so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description enumerates what the report contains (headline results vs prior periods, drivers, margins, cash, outlook, management tone change) plus the PDF artifact, cost, and refund/async behavior. An agent has everything needed to decide, price, and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% and the description meaningfully extends it, particularly for async — explaining that the core source is pre-checked so the job is only charged when it will likely succeed, and that the result can arrive via webhook_url. The pdf and ticker params get less added meaning, but the async/webhook interaction is genuinely beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Earnings analysis of a US public company's latest 10-Q or 10-K') and enumerates exactly which sources are read (MD&A, 3 years of quarterly XBRL, 8-K events, news). This is clearly separable from siblings like report_stock, report_company, or sec_financials 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope clause ('US public company's latest 10-Q or 10-K') implicitly tells the agent when this tool applies, and the async/refund clauses give operational conditions. However, no sibling is named as the alternative for related-but-different requests (e.g. stock screening, generic company research), so routing still requires inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_grant_matchreport grant matchARead-onlyInspect
Federal grant matching for your organisation: describe who you are and we search Grants.gov several ways, then rank the open and forecasted grants you could win with fit score, why, what to confirm about eligibility, deadlines and links, plus an application checklist and a PDF. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $2 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| async | No | Return a job id now and the report later (the core source is checked first) | |
| description | Yes | ||
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations, the description discloses pricing ($2 USDC per call via x402), the refund condition ('if too few sources answer you are not charged'), and the async nuance that the core source is checked before queueing and charging. It also enumerates the output contents (fit score, rationale, eligibility checks, deadlines, links, checklist, PDF), which is genuinely behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and process are front-loaded, and the pricing/refund caveat is placed at the end where it belongs. It is one dense run-on sentence, so some clauses (checklist, PDF, links) are packed together, but little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden well by listing what the report contains. Combined with the annotation and billing/refund disclosure an agent has enough to call it correctly, though the webhook/async delivery path is left largely to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, so the schema documents most parameters, but the description adds real meaning for `async` (core source checked before the job is queued and charged) and ties `pdf` to the promised artifact. It does not explain the required `description` field beyond 'describe who you are', leaving the 25% gap partly uncovered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource+source: 'Federal grant matching for your organisation... we search Grants.gov... rank the open and forecasted grants'. An agent can tell exactly what it produces. It stops short of distinguishing itself from the sibling `grants` tool, which an agent choosing between the two would want.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the trigger ('describe who you are') and hints at cost/refund conditions, but never states when to prefer this over the sibling `grants` tool or when not to use it. Usage is inferable from the input requirement rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_leadsreport leadsARead-onlyInspect
B2B lead list from a plain-English ideal-customer description: searches the web for matching companies, profiles each website and keeps only real matches, with what they do, location, fit score and reason, contact page, role-based emails (info@, sales@) and socials. Up to 20 companies, company-level data only (no personal emails), plus a PDF. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $2 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| async | No | Return a job id now and the report later | |
| count | No | 5-20, default 12 | |
| location | No | ||
| description | Yes | ||
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint/openWorldHint annotations by disclosing cost ($2 USDC per call via x402), conditional non-billing when sources are insufficient, the async pre-check-before-queue-and-charge behavior, the company-level-only data scope (no personal emails), and the 20-company cap. These are exactly the operational facts an agent needs before spending money.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause, followed by output scope, limits, and billing in descending order of importance. The opening sentence is dense and clause-stacked, but nearly every clause carries distinct information rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does it well — what they do, location, fit score and reason, contact page, role-based emails, socials, and a PDF link. Cost and async behavior are covered. Minor gaps remain around latency, failure modes, and what happens to the PDF link after 7 days.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the description usefully reinforces it: 'up to 20 companies' clarifies the count ceiling, 'plus a PDF' clarifies the pdf flag, and the async billing note explains the async flag beyond its one-line schema text. location and webhook_url remain slightly thin, but the description compensates more than it repeats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — a B2B lead list built from a plain-English ideal-customer description — and describes the actual pipeline (web search, per-site profiling, match filtering). An agent can distinguish it from report_company or uk_companies_search by the inputs and outputs described, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage context: supply a plain-English customer description, receive up to 20 companies, and choose async/webhook for long jobs. Billing conditions ('you are not charged if too few sources answer') and the x402 cost tell the agent when the call is worth making. No explicit when-not-to-use or named alternative is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_marketreport marketARead-onlyInspect
Investor-grade market research brief on any market: deep multi-source web research plus market-size searches, key players, news, recent research papers, prediction markets and US grant activity. A model writes market size (with sources and ranges), segments, players, business models, drivers, trends, risks and entry opportunities, an attractiveness score and a PDF. 60-150 s; async=true recommended. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $5 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| async | No | Return a job id now and the report later | |
| topic | Yes | ||
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, it discloses runtime, the async job-id pattern, webhook-driven delivery context, the $5 USDC x402 price, and the conditional non-charge policy including the subtlety that async checks the core source before queueing and charging. That is exactly the cost/side-effect context an agent needs before spending money.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph that front-loads what the tool produces before moving to timing, async, billing, and refund. It is long but nearly every clause carries distinct information; only the repeated async caveat is slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description fully characterizes the deliverable, its runtime, delivery modes, and the payment/refund model. An agent has everything required to decide to call it, choose async, and anticipate the charge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 75% schema coverage the schema already documents pdf, async, and webhook_url, so the baseline is 3. The description earns above baseline by explaining what async actually changes (job id returned now, report later) and by framing topic as 'any market', plus confirming a PDF is part of the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('market research brief on any market') and enumerates the deliverable contents (market size with sources and ranges, segments, players, business models, drivers, trends, risks, entry opportunities, attractiveness score, PDF). This clearly separates it from siblings like report_company, report_competitors, and research.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete operating guidance: 'async=true recommended', the 60-150 s runtime, and the billing/refund condition ('If too few sources answer you are not charged'). It does not explicitly name a sibling as the alternative for narrower asks (e.g. report_company), so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_pitch_deckreport pitch deckARead-onlyInspect
Investment memo from a startup pitch deck (PDF, Word, URL or text): problem, solution, market claims checked against web search, business model, traction (vanity metrics flagged), competition, team, the ask, strengths, concerns, claims to verify, questions for the founders and a pass / meeting / strong-interest recommendation, plus a PDF. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $3 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| url | No | Or a PDF / Word / web page URL | |
| text | No | Document text | |
| async | No | Return a job id now and the report later (the core source is checked first) | |
| company | No | ||
| file_base64 | No | Or the file (PDF or DOCX) as base64 | |
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint/openWorldHint, but the description adds the economically critical facts: $3 USDC per call via x402, no charge when too few sources answer, and the async check-before-queue-and-charge behavior. It also discloses that the output includes a pass/meeting/strong-interest recommendation and that market claims are checked against web search. This is well beyond what structured fields convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause and nothing is wasted, though the opening sentence is a long run-on inventory of memo sections. Slightly heavy but each listed section tells the agent what it will get back.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the return-value burden by enumerating the memo contents, PDF deliverable, and recommendation. The one gap is the async flow: it says a job id is returned but never explains how the finished report is retrieved, which matters for a 7-parameter tool with a paid async mode.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 86%, so the baseline is 3, and the description earns above that by framing pdf/url/text/file_base64 as mutually alternative input modes (the 'or' phrasing), which the schema does not state, and by explaining the async=true charging sequence. It does not clarify the bare 'company' parameter, which is undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Investment memo from a startup pitch deck") and enumerates the deliverable sections, so an agent can distinguish it from report_company, report_market, and the other 'report_*' siblings without opening a schema. The accepted input forms (PDF, Word, URL, text) are named up front.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It is clear when to reach for this tool: you have a startup pitch deck in one of four supported forms and want a diligence memo. It also explains the async path and the no-charge condition, which are genuine usage conditions. It stops short of naming alternatives (e.g. report_company for an already-public company rather than a deck), so it is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_portfolioreport portfolioARead-onlyInspect
Crypto portfolio risk report across up to 5 wallets on Ethereum, Base, Arbitrum, Optimism and Polygon: total value, allocation by asset and chain, concentration, stablecoin share, risk checks on the largest tokens, sanctions screening and rebalancing ideas, plus a PDF. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $2 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| async | No | Return a job id now and the report later (the core source is checked first) | |
| wallets | Yes | 1-5 addresses, comma separated | |
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, the description discloses the pricing model ($2 USDC per call via x402), the billing waiver when too few sources answer, and the async queuing behavior where the core source is checked before the job is queued and charged. These are material operational facts an agent cannot get from the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence front-loads the resource and chains, then the output inventory, then the billing caveat. It is information-rich with little waste, though the run-on structure makes it slightly harder to scan than a broken-out form.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the report's sections (value, allocation, concentration, stablecoin share, risk checks, sanctions screening, rebalancing ideas, PDF). Cost, failure, and async semantics are all covered; only latency expectations and auth/payment mechanics beyond the x402 mention are left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds real meaning: it restates the 1-5 wallet cap, confirms the PDF deliverable, and clarifies that async checks the core source before queuing and charging, which sharpens the async parameter beyond its schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a precise verb+resource (a crypto portfolio risk report) and enumerates its contents and the five supported chains and the 1-5 wallet scope, so the agent knows exactly what it produces. It never distinguishes itself from close siblings such as wallet_portfolio, wallet, or report_wallet, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied rather than stated: the async flag, the charge-waiver condition, and the $2 USDC x402 cost hint at when the tool is appropriate. There is no explicit 'use this instead of X' guidance and no named alternative among the many sibling report_* and wallet_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_privacy_policyreport privacy policyARead-onlyInspect
Privacy policy and terms review for any website: what data is collected and why, whether it is sold or shared for ads, AI training on user data, retention, transfers, user rights, arbitration and class-action waivers, compliance gaps (GDPR, CCPA) and a privacy score, plus a PDF. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $1 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| async | No | Return a job id now and the report later (the core source is checked first) | |
| domain | No | ||
| policy_url | No | ||
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds strong behavioral context beyond them: the $1 USDC x402 charge, the no-charge rule when too few sources answer, and how async changes the charging/queueing order. It stops short of describing latency, rate limits, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose and deliverables, then appends billing/async rules. The enumerations are dense but each clause carries information; the sentence structure is a bit run-on, which slightly hurts scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly compensates by enumerating the report's contents and the PDF add-on, and it covers cost and async semantics. The remaining gap is the domain-vs-policy_url input decision, which neither schema nor description resolves.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%, and the two undocumented parameters (domain and policy_url) are the most important inputs — the description says 'any website' but never clarifies when to pass a bare domain versus a full policy URL, nor which is required. It adds useful meaning for async (core source pre-check) but not for the target-selection params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Privacy policy and terms review for any website') and then enumerates the exact deliverable contents (data collected, sale/sharing, AI training, retention, rights, arbitration/class-action waivers, GDPR/CCPA gaps, privacy score, PDF). This is enough for an agent to distinguish it from sibling report_* tools without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Scope is implied ('for any website') and the billing/async mechanics give some usage context, but the description never names an alternative or a when-not condition. An agent cannot tell from this text how report_privacy_policy differs from report_domain or legal. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_reporeport repoARead-onlyInspect
Should you depend on this open-source project? Repository report: adoption and maintenance (stars, forks, releases, commit activity, issues), license, known vulnerabilities in its dependencies (OSV), and an AI code review of the main entry file. Verdict adopt / trial / caution / avoid with a score and a PDF. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $2 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| repo | Yes | owner/name or github.com URL | |
| async | No | Return a job id now and the report later | |
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds substantive behavior the agent cannot infer: $2 USDC per call via x402, no charge when too few sources answer, and that with async=true the core source is verified before the job is queued and charged. This is exactly the billing/async disclosure an agent needs before invoking a paid tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the user-facing question and then the report contents, followed by billing/async notes. Dense but largely waste-free; the charging rule is stated twice (general no-charge and async-specific), a minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paid, async-capable, webhook-delivering tool with no output schema, the description covers deliverables (verdict, score, PDF), the async job flow, and the cost model. It stops short of describing pagination/rate limits or expected latency for the sync path, but nothing critical to calling it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: it explains pdf as a 7-day link, that async=true still performs a pre-queue core-source check, and that webhook_url posts the finished report. The async pre-check detail in particular goes past 'Return a job id now'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource (repository report) and enumerates exactly what it covers: adoption/maintenance metrics, license, OSV dependency vulnerabilities, and an AI code review of the entry file. Easily distinguished from siblings like report_company, report_domain, or report_token by the open-source-dependency framing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening question ('Should you depend on this open-source project?') gives clear intent for when to reach for it, and it explains the async path and the no-charge failure condition. However, it names no alternative sibling (e.g. github, code_review, vulns) for narrower lookups, so the routing guidance is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_seoreport seoARead-onlyInspect
Multi-page SEO audit: reads the sitemap, audits up to 10 pages (titles, meta, headings, canonical, indexability, structured data, images, links), checks crawl policy, link previews, speed and headers, then a model finds site-wide patterns and returns prioritised fixes with exact how-to, per-page scores and a PDF. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $1.5 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| async | No | Return a job id now and the report later | |
| pages | No | 2-10, default 6 | |
| domain | Yes | ||
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds genuinely decision-critical behavior: a concrete price ($1.5 USDC via x402), a non-charge condition when too few sources respond, and the async nuance that the core source is validated before a job is queued and charged. That is exactly the kind of cost/refund/timing context an agent cannot infer from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, but it is front-loaded with the purpose and then layers on cost and async caveats. Every clause carries information; slightly long but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so: prioritised fixes with how-to, per-page scores, and a PDF. It covers cost, async, and refund edge cases. Minor gap is that webhook_url is never mentioned in the prose, leaving that parameter to the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80%, so the baseline is 3. The description reinforces scope ("up to 10 pages", PDF output) and clarifies async charging semantics, but adds no format or syntax detail for domain, pages, or webhook_url beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource ("Multi-page SEO audit") and enumerates the exact checks performed (titles, meta, headings, canonical, indexability, structured data, images, links, headers). This is clearly distinguishable from siblings like seo, sitemap, crawl, or domain_audit, which do narrower single-purpose jobs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the billing and async mechanics, which implicitly tells the agent when to use async=true, but never says when to prefer this over sibling tools such as report_domain or domain_audit, nor any prerequisites beyond a domain. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_stockreport stockARead-onlyInspect
Equity brief for any US-listed company from primary sources: SEC fundamentals (revenue, income, cash, debt trends), insider buying and selling (Form 4), material events in the last year (8-K: leadership changes, deals, restatements), company news and the US macro backdrop. A model writes a fundamental-quality score with bull and bear cases and a PDF. No live prices. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $2 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| async | No | Return a job id now and the report later | |
| ticker | Yes | ||
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint/openWorldHint annotations by disclosing cost ($2 USDC per call, x402), the billing safeguard ('If too few sources answer you are not charged'), and the async nuance that with async=true the core source is checked before the job is queued and charged. It also describes the output shape (model-written quality score, bull/bear cases, PDF link) — exactly the kind of operational context the annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the deliverable and its sources, then immediately covers the two things an agent must know before calling — cost and billing behavior. The source enumeration sentence is dense, but every clause maps to real output content rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so: report contents, PDF, quality score with bull/bear cases, and the job-id/async path. Only the webhook delivery behavior is left unexplained, which is a minor gap for a tool that is otherwise thoroughly specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, so the baseline is 3, but the description adds real semantic value on 'async' by explaining the pre-queue source check and the charge/no-charge consequences, which the schema only glosses as 'Return a job id now and the report later.' 'pdf' is corroborated ('a PDF') but 'webhook_url' is left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific deliverable (an equity brief for any US-listed company) and enumerates the exact primary sources it draws on (SEC fundamentals, Form 4 insider activity, 8-K events, news, macro). It is clearly distinguishable from price/quote tools by the explicit 'No live prices' scope. It never names or contrasts with the nearby report_company sibling, so it falls 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'Equity brief ... from primary sources' plus 'No live prices' tells the agent this is fundamental research, not a quote. However, no when-to-use condition or named alternative (e.g. report_company, insider, sec_events, report_market) is offered, leaving the agent to infer routing among a very crowded reporting family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_tokenreport tokenARead-onlyInspect
Full token due-diligence report in one call: contract risk and honeypot simulation (buy/sell tax, owner powers), price and 30-day history, top holders and concentration, liquidity and LP lock status, the first mint recipient screened against OFAC sanctions with its portfolio and agent-trust score, optional website domain age and link safety, and news. A model then writes a 1-10 risk score, a plain-English verdict, red and green flags with sources, plus a 7-day PDF link. Base, Ethereum, BSC, Solana (Arbitrum, Optimism, Polygon partial). 20-60 s; async=true supported. If the contract cannot be read you are not charged. Not investment advice. Costs $2 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a PDF link (default true) | ||
| async | No | ||
| chain | No | base (default), ethereum, bsc, solana, arbitrum, optimism, polygon | |
| address | Yes | Token contract (0x) or Solana mint | |
| website | No | Project website (optional) | |
| webhook_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, the description discloses latency (20-60 s), async support, per-chain completeness caveats, and a billing condition ('if the contract cannot be read you are not charged') plus an explicit price. Cost and the non-charge fallback are behaviors no annotation conveys, and they directly affect whether an agent should invoke it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Content is front-loaded into a single dense inventory of report sections followed by operational facts (chains, latency, billing, price), and almost every clause carries a distinct fact. It is long but not padded, though the legal disclaimer and x402 pricing sentence add bulk that a shorter form could compress.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the return burden by naming the 1-10 risk score, verdict, sourced flags and PDF link. It also covers chains, timing, async, and cost. Gaps are minor: webhook_url behavior is undocumented and sibling disambiguation is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, and the description adds real meaning: it explains why 'website' exists (domain age and link safety), confirms 'pdf' returns a 7-day link, restates the chain list, and clarifies 'async=true' has server support. The only parameter left wholly unaddressed in both schema and description is webhook_url.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource and enumerates exactly what the report covers (contract risk, honeypot simulation, price/history, holders, liquidity/LP lock, OFAC screening, website age, news), so the agent knows precisely what it gets. However, it never differentiates itself from the near-identical siblings token_report, token_verdict and token_scan, which is the one thing an agent most needs to disambiguate here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'in one call' implicitly positions this as the aggregate alternative to granular siblings (token_price, token_holders, token_liquidity), and per-chain availability plus 'async=true supported' tell the agent when it will work. But there is no explicit when-to-use/when-not or named alternative, so the agent must infer the routing decision against token_report and token_verdict.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_trading_signalreport trading signalARead-onlyInspect
Crypto technical outlook for a pair: indicators on 1h, 6h and 1d, order-book depth and imbalance, perpetual funding, news and prediction-market sentiment, combined into a bias, confidence, support / resistance / invalidation levels and scenarios, plus a PDF. Educational, not advice. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $1 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| pair | No | ||
| async | No | Return a job id now and the report later (the core source is checked first) | |
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnlyHint/openWorldHint; the description goes further by disclosing the $1 USDC x402 cost, the conditional no-charge rule, and the async sequencing where the core source is checked and charged before the job is queued. It also flags the educational, not-advice framing. It stops short of describing latency or failure/refund behavior beyond the one charge condition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and output inventory are front-loaded in a single dense but readable sentence, followed by short billing/async notes. Every clause carries information, though the long compound first sentence is close to overloaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description appropriately enumerates the return payload (bias, confidence, levels, scenarios, PDF) and covers cost, charging, and async mechanics. Gaps remain around the 'pair' argument format and what happens when optional parameters are omitted, but the agent has enough to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% and already documents pdf (default true), async (job id plus core-source check) and webhook_url. The description largely restates the async/charge linkage rather than adding new parameter semantics, and 'pair' is undocumented in both places (format, supported venues). Baseline 3 fits given the schema does most of the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb+resource (crypto technical outlook for a pair) and enumerates exactly what is produced: indicators on 1h/6h/1d, order-book depth and imbalance, funding, news and prediction-market sentiment, combined into bias, confidence, S/R/invalidation levels, scenarios and a PDF. This clearly separates it from raw-data siblings like crypto_indicators, crypto_orderbook or report_token.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage is clear (a synthesized multi-source outlook report), and it explains the async path plus the no-charge condition when too few sources answer. But it never names an alternative tool or states when to pick this over crypto_indicators, perps_funding or token_verdict, leaving the routing decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_vendor_securityreport vendor securityARead-onlyInspect
Outside-in vendor security assessment with a pre-filled security questionnaire (20 standard questions answered yes / no / partial / unknown with evidence): email and DNS security, TLS and headers, exposed subdomains, security.txt, trust centre and certifications claimed, privacy policy, status page, breach news and tech stack, plus follow-up questions and a PDF. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $3 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| async | No | Return a job id now and the report later (the core source is checked first) | |
| domain | Yes | ||
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds substantial non-structured behavior: a $3 USDC x402 charge per call, a no-charge guarantee when too few sources answer, and the fact that with async=true the core source is checked before the job is queued and charged. It does not mention turnaround time, rate limits or what happens on a failed/webhook delivery, so it stops short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose, then the contents, then the cost/charging rules. Three dense sentences with no filler; the parentheticals carry real payment and async semantics rather than restating the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description states the deliverable (20-question questionnaire with evidence, follow-up questions, PDF link), the payment model, and the async/webhook flow. Combined with the schema for pdf/async/webhook_url, an agent has enough to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% (pdf and async documented, domain and webhook_url bare in the schema), so the description must add some meaning. It explains the async charging/queueing interaction in more operational detail than the schema's wording and confirms the PDF deliverable; webhook_url is left to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: an outside-in vendor security assessment producing a 20-question questionnaire with evidence, PDF and follow-ups. The enumerated coverage areas (email/DNS, TLS, subdomains, security.txt, trust centre, privacy policy, breach news, tech stack) make the scope concrete. However, it never differentiates itself from overlapping siblings such as report_privacy_policy, report_domain, domain_audit or certs, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the description (run an outside-in security assessment of a vendor domain), and it notes costs and the async option. But there is no explicit when-to-use / when-not-to-use statement and no routing to alternative tools like report_privacy_policy or domain_audit that would cover part of the same ground.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_walletreport walletARead-onlyInspect
Wallet due-diligence report before you transact: multi-chain portfolio, Base and Ethereum balances, wallet vs contract vs smart account, OFAC sanctions screening, agent-trust score, x402 spending history, NFTs and Hyperliquid derivatives exposure. A model writes a counterparty-risk score, a profile (retail, whale, trader, agent, bot, exchange...), red flags and next steps, plus a PDF. 20-60 s; async=true supported. If too few sources answer you are not charged (with async=true the core source is checked before the job is queued and charged). Costs $2 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Include a 7-day PDF link (default true) | ||
| async | No | Return a job id now and the report later | |
| wallet | Yes | 0x address | |
| webhook_url | No | With async: POST the finished report here |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description goes well beyond by disclosing latency (20-60 s), async=true semantics, the x402 $2 USDC charge, and the no-charge-if-too-few-sources guarantee including the async pre-check nuance. It also states the output includes a model-written risk score, profile classification, red flags, next steps, and a PDF.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and pre-transaction use case are front-loaded, and every sentence carries information (capabilities, output, latency, billing). The capability list is dense and slightly catalog-like, but nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully carries the burden: it itemizes what the report contains, who writes it, the deliverables (score, profile, red flags, next steps, PDF), latency, async mechanics, and cost/failure billing. An agent has everything needed to decide and call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds real meaning on top: it explains that async=true returns a job id with the core source verified before queueing and charging, and that a PDF is included by default. It does not clarify webhook_url behavior beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening phrase names a specific verb+resource ('Wallet due-diligence report') and immediately enumerates the concrete contents (portfolio, Base/Ethereum balances, wallet-vs-contract classification, OFAC screening, agent-trust score, x402 history, NFTs, Hyperliquid exposure). This distinguishes it clearly from siblings like wallet_portfolio, wallet_nfts, sanctions, or token_report, which cover only fragments of the same surface.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"before you transact" gives a clear triggering context and the description adds cost ($2 USDC via x402), latency (20-60 s), and the async option with its billing caveat. However, it never names an alternative for cheaper/faster needs (e.g., wallet_portfolio or sanctions) or states when NOT to use this expensive full report, so routing still requires inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rerankrerankRead-onlyInspect
Rerank up to 100 documents by relevance to a query (BGE reranker). Returns indices and scores, best first. Drop-in step for RAG and search pipelines. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| top_k | No | ||
| documents | Yes |
researchresearchRead-onlyInspect
Deep research report: plans several searches, reads up to 8 sources and writes a structured Markdown report (summary, key findings, details, open questions, numbered sources) with inline citations. Takes 20 to 60 seconds. Costs $0.10 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Research topic or question |
roomsroomsRead-onlyInspect
Shared rooms where several agents (different wallets, different vendors) talk and coordinate: create a room ($0.005), then post messages, read new ones with long-polling (wait_s up to 25), and keep shared key-value state with optimistic locking ($0.002 per call). Kept 30 days after the last activity. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | ||
| data | No | ||
| from | No | Your agent name | |
| room | No | ||
| text | No | ||
| since | No | ||
| title | No | ||
| token | No | ||
| value | No | ||
| action | No | create, post, read, set, get, info, close | |
| wait_s | No | ||
| keep_days | No | ||
| if_version | No |
routerouteRead-onlyInspect
Directions between places (addresses, names or lat,lon) with optional stops: distance in km and miles, travel time, and turn-by-turn steps for driving, trucks, cycling, walking or transit, avoiding tolls, highways or ferries; optional GeoJSON route line. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| via | No | Stops separated by | | |
| from | Yes | ||
| mode | No | drive (default), truck, bicycle, walk, transit, ... | |
| avoid | No | tolls|highways|ferries | |
| units | No | metric or imperial | |
| geometry | No | true to include the route line |
route_matrixroute matrixRead-onlyInspect
Travel time and distance matrix between up to 50 origin-destination pairs (places or lat,lon) by car, truck, bike or foot, with the closest pair. For dispatching, store finders and delivery planning. Costs $0.008 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| origins | Yes | | separated | |
| destinations | Yes | | separated |
rpcrpcRead-onlyInspect
JSON-RPC read access to EVM chains (base, ethereum, polygon, arbitrum, optimism) with no API key. Send a standard JSON-RPC body (eth_call, eth_getBalance, eth_blockNumber, eth_getLogs). Costs $0.0025 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| chain | Yes | base | ethereum | polygon | arbitrum | optimism | |
| method | Yes | ||
| params | No | ||
| jsonrpc | No |
rssrssARead-onlyInspect
Read any RSS or Atom feed as clean JSON (title, link, date, author, summary, categories), or give a website and we find its feed. Up to 100 items. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnlyHint and openWorldHint, and the description adds real behavioral context beyond them: a 100-item cap and a per-call cost of $0.002 USDC via x402 payment. It still omits failure modes (unreachable site, no feed found) and whether truncation is silent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core purpose, followed by the cap and the price. Nothing is repeated from the schema or annotations and nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two params, no output schema, and annotations covering safety, the description usefully lists return fields and the cost/limit constraints. Minor gaps remain around pagination, errors, and the x402 payment flow, but an agent has enough to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry parameter meaning. It does clarify that 'url' accepts either a feed URL or a website and that the item cap is 100 (relevant to 'limit'), but it gives no default, range, or behavior for 'limit' and no URL format guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read any RSS or Atom feed as clean JSON') and even enumerates the returned fields, plus a second mode ('give a website and we find its feed'). The resource is distinctive among siblings, but no sibling is named or contrasted, so it stops short of the 5 bar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Two usage contexts are given explicitly: pass a feed URL to read it, or pass a website to have the feed discovered. That is clear when-to-use guidance, but there are no exclusions or named alternatives (e.g. news, sitemap, serp) to route between when an agent is unsure.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sanctionssanctionsRead-onlyInspect
Sanctions screening for crypto addresses against the US Treasury OFAC SDN list (Bitcoin, Ethereum and EVM chains, Tron, Solana, Monero, XRP, Litecoin and more). Up to 20 addresses per call. Check before your agent sends money. Costs $0.008 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | One address or up to 20, comma separated |
satellitesatelliteRead-onlyInspect
Satellite image of any place on any date from NASA (daily true-color MODIS or VIIRS, or night lights), centered on a place or coordinates with your choice of area size. Good for storms, smoke, fires, snow and floods. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lon | No | ||
| date | No | YYYY-MM-DD (default yesterday) | |
| near | No | Place | |
| layer | No | viirs (default) | terra | aqua | night | |
| pixels | No | ||
| size_km | No | Width of the area, 50-2000 |
schedulescheduleRead-onlyInspect
Scheduled callbacks: have any https URL called at a set time (1 minute to 30 days ahead, fired within a few minutes of it) with your method, headers and body, so an agent can wake itself up later. Retries up to 3 times; check status with the id. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| at | No | ISO date-time | |
| id | No | Check an existing schedule | |
| url | No | ||
| body | No | ||
| method | No | ||
| delay_seconds | No | Instead of at |
scrapescrapeRead-onlyInspect
Scrape text and attributes from a rendered web page using CSS selectors. Returns every match per selector. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| selectors | Yes | CSS selectors |
screenshotscreenshotRead-onlyInspect
Full-page PNG screenshot of any public URL rendered by a real browser. Returns PNG bytes. Costs $0.0045 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| width | No | ||
| height | No | ||
| fullPage | No |
sea_lion_chat_completionssea lion chat completionsRead-onlyInspect
OpenAI-compatible chat completions on AI Singapore SEA-LION v4 27B, tuned for Southeast Asian languages (Indonesian, Thai, Vietnamese, Filipino, Malay and more). Set your OpenAI SDK base URL to https://agentrxi.com/v1/sea-lion and pay per token with x402 instead of an API key: $1.053 per million input and $1.665 per million output tokens, minimum $0.002 a call, at most $0.0390. The 402 quotes your request's maximum; "upto" payers are charged only the tokens used. Same request/response shape as OpenAI (streaming supported), up to 4096 output tokens. Costs $0.0390 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Ignored; always sea-lion-27b | |
| stream | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
searchsearchRead-onlyInspect
Web search for AI agents. Send a natural-language query, get ranked results with title, url and snippet. Use when you need fresh information from the live web. Costs $0.009 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results, default 10, max 20 | |
| query | Yes | Search query |
sec_eventssec eventsBRead-onlyInspect
Material events at any US public company from SEC 8-K filings, decoded: CEO and director changes, acquisitions, new debt, layoffs, auditor changes, restatements, cybersecurity incidents, bankruptcy and delisting notices, with red flags highlighted and links to each filing. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Look back, default 365 | |
| limit | No | ||
| ticker | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered; the description adds genuinely new behavioral context by disclosing the $0.004 USDC per-call cost via x402. It stops short of explaining the payment flow itself (wallet/auth prerequisites) despite an `x402_check` sibling existing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and event scope, with the cost detail placed last where it belongs. The long category enumeration is informative rather than padding, though it could be trimmed slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema the description does some of the work by describing red-flag highlighting and filing links, which hints at return shape. However, it leaves `limit` semantics and the x402 payment prerequisite unexplained, which are real gaps for a paid three-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% - only `days` is documented ('Look back, default 365'), while `limit` and `ticker` have no descriptions. The prose adds nothing about any parameter, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (material events at US public companies from SEC 8-K filings) and enumerates concrete event categories, so the scope is unmistakable. It never names or contrasts a sibling such as `filings` or the generic `events`, leaving the agent to infer the distinction between raw filings and decoded events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no 'use this when' guidance, no exclusions, and no alternative tool (e.g. `filings`, `insider`, `company`) is named as the right choice under different conditions. The only routing signal is the implied SEC-8-K domain, which the agent must derive on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sec_financialssec financialsARead-onlyInspect
Up to 20 years of reported financials for any US public company from XBRL: revenue, gross profit, operating and net income, EPS, cash, assets, liabilities, debt, equity, operating cash flow, capex, R&D and shares, annual or quarterly, with growth and margin. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| years | No | ||
| period | No | annual (default) or quarterly | |
| ticker | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is known. The description adds genuinely useful context beyond them: the ~20-year data horizon, annual/quarterly granularity, and the $0.005 USDC per-call x402 payment model, which is essential for an agent to invoke it. It stops short of describing rate limits or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and data scope are front-loaded, followed by cost. The long metric enumeration is dense but each item tells the agent what data is available (partially substituting for the absent output schema), so little is wasted, though it could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema and low schema coverage, the field enumeration effectively communicates the return surface, and the cost/payment note covers a key operational requirement. Minor gaps remain around ticker formatting and the years parameter's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% — period is the sole documented parameter. The description restates the period choice ('annual or quarterly', matching the schema) and its 'up to 20 years' phrasing loosely bounds the years parameter, but it never explains the ticker format or years default/range. Partial compensation for the coverage gap justifies a mid score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (reported financials for US public companies) plus the data source (XBRL) and enumerates the exact metrics returned. It is easily distinguished from siblings like sec_search, sec_events, and filings without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool is useful by listing the financial metrics it provides, but it never states when to prefer it over alternates such as sec_search or report_stock, nor any exclusions (e.g., non-US issuers). Guidance is inferable but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
second_opinionsecond opinionRead-onlyInspect
Second opinion: three different AI models (gpt-oss-120b, Llama 3.3 70B, Gemma 4) answer independently, then you get the consensus, the points they disagree on, a confidence level and a combined best answer. Costs $0.04 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| async | No | ||
| context | No | ||
| question | Yes |
sec_searchsec searchARead-onlyInspect
Full-text search across every SEC filing since 2001 (10-K, 10-Q, 8-K, S-1, proxy statements and exhibits): which companies mention a phrase, in which filing and when, with direct document links. Filter by form, date range and company. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| to | No | ||
| from | No | ||
| forms | No | ||
| limit | No | ||
| ticker | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description goes further than the annotations by disclosing the temporal coverage (since 2001), the returned fields, and a per-call price of $0.004 USDC via x402 — a real cost constraint an agent needs before calling. Pagination/limits behavior is still undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core capability before the parenthetical form list and the cost note. Dense but every clause carries information; the form enumeration is long but legitimately scopes coverage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly spends words on return content ('which companies mention a phrase, in which filing and when, with direct document links') and adds cost and coverage window. The main remaining gap is result-count/pagination behavior for a limit-bearing search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the burden falls on the description, and it only partially compensates: 'form' maps to forms, 'date range' to from/to, and 'company' plausibly to ticker. The required q parameter and limit are never explained, and there is no format guidance (date syntax, form codes, result count) for any of the six parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('full-text search across every SEC filing'), enumerates the covered form types, and describes what comes back (company, filing, date, document links). It never names its closest siblings (sec_financials, sec_events, filings), so the agent still has to infer which SEC tool to pick, but the 'full-text' framing is itself reasonably distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'filter by form, date range and company' tells the agent what it can narrow on, which suggests query-style lookups. There is no explicit when-to-use clause and no pointer to sec_financials or sec_events for structured statement data, so routing against siblings remains a guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentimentsentimentRead-onlyInspect
Sentiment and tone classification for text (positive / negative / neutral with confidence, plus a one-line reason). Batch up to 20 texts per call. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| texts | Yes | 1 to 20 texts |
seoseoRead-onlyInspect
SEO audit of a page: score, list of issues, title and meta description length, canonical, robots, Open Graph, H1/H2 headings, images missing alt text, internal/external links, broken-link check on 25 links, word count and response time. Costs $0.02 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
serpserpRead-onlyInspect
Search engine results page in the familiar SERP shape: organic_results with position, title, link, displayed_link, domain, favicon and snippet, plus total results and top domains. Up to 20 results. For SEO, rank tracking and research agents. Costs $0.009 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| num | No | 1 to 20, default 10 |
shop_productsshop productsARead-onlyInspect
Read any Shopify store's public catalogue: products with prices (min / max), sale flags, availability, variants, type, tags and images, plus the store's price range. Track competitor pricing and stock. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| url | Yes | ||
| page | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, and the description adds material behavior not covered there: a hard cost of $0.004 USDC per call via x402. That pricing/payment detail is exactly the kind of operational fact an agent needs before invoking, though it still says nothing about rate limits or failure modes for non-Shopify URLs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense but well-ordered sentence: capability and returned fields first, then the use case, then the cost. Nothing is padding, though the field enumeration is long enough to crowd out the more actionable parameter/usage detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description mostly compensates by listing returned fields. However, for a 4-parameter, paid, paginated catalogue read it omits pagination behavior, how to target a specific store versus searching across stores, and any error semantics, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% on four parameters. The description names no parameter and does not explain that 'url' must be a Shopify store domain, that 'q' is a search term, or what units 'page'/'limit' use. With zero schema documentation, the description needed to carry this load and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read any Shopify store's public catalogue') and enumerates the exact payload the agent gets back (prices min/max, sale flags, availability, variants, type, tags, images, store price range). No sibling tool overlaps this scope, so an agent can select it unambiguously from the listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'Track competitor pricing and stock' implies the intended use case, which is more than nothing, but there is no explicit when-to-use/when-not statement, no prerequisites (e.g. store must be Shopify), and no named alternative for a different data source.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sign_verifysign verifyARead-onlyInspect
Verify a wallet signature: EIP-191 personal_sign messages, EIP-712 typed data, or a full Sign-In with Ethereum (EIP-4361) message with domain, nonce and expiry checks. Smart-contract wallets are verified with ERC-1271 / ERC-6492, not just EOAs. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| siwe | No | Full SIWE message | |
| chain | No | base (default), ethereum, arbitrum, optimism, polygon | |
| nonce | No | ||
| domain | No | ||
| address | No | Expected signer | |
| message | No | ||
| signature | Yes | ||
| typed_data | No | EIP-712 {domain, types, primaryType, message} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes beyond the readOnlyHint/openWorldHint annotations by disclosing the per-call cost ($0.002 USDC via x402), the SIWE domain/nonce/expiry validation behavior, and ERC-1271/ERC-6492 smart-contract wallet support. It does not describe failure behavior or error semantics, so it stops short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense, front-loaded sentences: the capability and supported standards come first, then behavioral facts (contract-wallet support, cost). No filler or redundant restatement of the name/title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should ideally indicate the return shape (e.g., a valid/invalid verdict), which it omits. Otherwise it is well-rounded for an 8-param, nested-object tool: it covers modes, safety profile context, cost, and wallet-type handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%, and the description compensates partially: it clarifies that 'siwe' expects a full EIP-4361 message including domain, nonce and expiry (mapping to the domain/nonce params), and that typed data follows EIP-712. The remaining params (chain, address, message, signature) get no added meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource ('Verify a wallet signature') and enumerates the exact standards it handles (EIP-191 personal_sign, EIP-712 typed data, EIP-4361 SIWE). This is clearly distinguishable from sibling address-verification tools like address_verify, which check addresses rather than signatures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The message-type enumeration implies when the tool applies (you have a personal_sign, typed data, or SIWE payload), which is useful selection context. However, it never names an alternative tool or states when NOT to use this one, so usage is only implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sincesinceRead-onlyInspect
Since-my-cutoff briefing: everything that happened on a topic after a given date (for models whose knowledge stops there), newest first with dates and citations, plus what changed versus the old state. Costs $0.03 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| async | No | ||
| since | Yes | YYYY-MM-DD | |
| topic | Yes |
site_agent_readysite agent readyARead-onlyInspect
How ready is a website for AI agents? Scores llms.txt, llms-full.txt, A2A agent card, MCP server, OpenAPI, x402 payments, robots.txt AI policy and structured data, with a grade and the exact fixes. Generative-engine optimisation (GEO) in one call. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, openWorldHint=true) already establish this is a safe, open-world read, so the bar is lower. The description nevertheless adds genuinely useful context the annotations cannot: the call is paid via x402 at $0.004 USDC, which materially affects how an agent should invoke it. It stops short of covering rate limits, latency, or failure modes when a site block is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core question, then the concrete checklist, then the cost. Nearly every clause earns its place; the 'Generative-engine optimisation (GEO) in one call' line is partly positioning language, but it usefully ties the tool to a known term.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so adequately by naming the output (a grade plus the exact fixes). Together with the enumerated checks, the pricing, and the read-only annotations, an agent has enough to invoke and interpret it; a hint at score range or response shape would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single `url` parameter is undocumented in structured data. The description's framing ('How ready is a website for AI agents?') and the per-call pricing imply that the input is one public site URL, which is enough to call it correctly, but it adds no syntax, scheme, or normalization guidance (e.g. whether a scheme or trailing path is accepted).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource — scoring how ready a website is for AI agents — and enumerates the exact artifacts checked (llms.txt, llms-full.txt, A2A agent card, MCP server, OpenAPI, x402, robots.txt AI policy, structured data). That enumeration cleanly separates it from near-siblings like seo, report_seo, domain_audit and x402_check, and it names the deliverable (a grade plus exact fixes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The question 'How ready is a website for AI agents?' implies the scenario clearly enough that an agent knows when to reach for it, but there is no explicit when-to-use framing, no when-not, and no pointer to alternatives such as seo/report_seo for classic SEO or x402_check for payment readiness alone. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sitemapsitemapRead-onlyInspect
List every page on a website: reads robots.txt and all sitemaps (including sitemap indexes), with last-modified dates; falls back to on-page links. Up to 5000 URLs. Costs $0.02 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| limit | No | 1 to 5000, default 500 |
solana_assetsolana assetRead-onlyInspect
Metadata for any Solana token mint or NFT: name, symbol, image, description, supply, decimals, price and market cap, mint and freeze authority (can more be minted? can accounts be frozen?), owner, royalties and creators. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Mint or asset address |
solana_historysolana historyRead-onlyInspect
Solana wallet history in plain language: recent transactions decoded into readable descriptions (swaps, transfers, NFT sales and mints, staking) with the SOL and token amounts in and out, counterparties, fees and explorer links. Filter by type. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | SWAP, TRANSFER, NFT_SALE, NFT_MINT, ... | |
| limit | No | 1-100, default 20 | |
| wallet | Yes | Solana address |
solana_nftssolana nftsRead-onlyInspect
NFTs owned by a Solana wallet, including compressed NFTs: name, image, collection and grouping by collection, with likely spam airdrops hidden. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| wallet | Yes | Solana address | |
| include_spam | No | true to show spam |
solana_priority_feesolana priority feeRead-onlyInspect
Live Solana priority fee estimate for the accounts or programs your transaction touches: recommended micro-lamports per compute unit, all levels from min to very high, and the total fee in SOL for your compute budget. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| accounts | No | Comma list of program or account addresses (default Jupiter) | |
| compute_units | No |
solana_swap_buildsolana swap buildARead-onlyInspect
Ready-to-sign Solana swap transaction at the best Jupiter route for your wallet (base64 versioned transaction with priority fee), plus expected and minimum output. Unsigned: you sign and send it; we never hold funds. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| wallet | Yes | Solana address that will sign | |
| to_token | Yes | ||
| from_token | Yes | ||
| slippage_percent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are thin (readOnlyHint/openWorldHint only), so the description carries the load and does so well: non-custodial ('we never hold funds'), unsigned and caller-signed ('you sign and send it'), priority fee included, and an explicit $0.005 USDC x402 charge per call. It stops short of failure modes, transaction expiry, or default slippage 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with what is produced and followed immediately by the trust model and the price. No filler and nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 20% parameter coverage, the description usefully compensates by naming the return shape (base64 versioned transaction, expected and minimum output) and the custody/pricing model. The remaining hole is input semantics — token identifier format and amount units — 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 20% (wallet is the sole documented field). The description mentions 'for your wallet' and alludes to slippage via 'minimum output' but never explains whether from_token/to_token are mint addresses or symbols, what unit the string amount uses (decimal vs lamports), or the default slippage when slippage_percent is omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb+resource (builds a ready-to-sign Solana swap transaction) and specifies the artifacts returned: a base64 versioned transaction with priority fee plus expected and minimum output. It implicitly separates itself from the quote-only sibling by promising a signable transaction, but it never names solana_swap_quote/swap_build, so sibling differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the mention of 'best Jupiter route' and 'expected and minimum output' hints this is the execution step after a quote, and the cost line gives a budget signal, but there is no explicit when-to-use versus solana_swap_quote, no prerequisite ordering, and no when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
solana_swap_quotesolana swap quoteARead-onlyInspect
Best Solana swap price via the Jupiter aggregator: output amount, minimum after slippage, USD value, price impact and the route (Raydium, Orca, Meteora...). Tokens by symbol (SOL, USDC, USDT, JUP, BONK, JTO) or mint. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| to_token | Yes | ||
| from_token | Yes | ||
| slippage_percent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=true, openWorldHint=true), and the description adds genuinely new behavioral context beyond them: the per-call cost ($0.003 USDC via x402) and the concrete return fields (output amount, minimum after slippage, USD value, price impact, route). It does not mention rate limits or freshness/latency of the quote, but the cost disclosure is meaningful for an agent deciding whether to call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, fully front-loaded: what the tool returns, then accepted token formats, then cost. Every clause carries information the agent needs and none is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly enumerates return values; with 0% parameter coverage it supplies token-format and slippage hints and discloses the payable cost. The gaps are the amount-unit semantics and the missing routing to solana_swap_build for the follow-on transaction step.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It does clarify token identification (symbol set or mint) for from_token/to_token and implies slippage_percent via the 'minimum after slippage' phrasing, but it says nothing about the required 'amount' string's units (raw lamports vs decimal token amount), leaving a critical ambiguity unresolved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: fetching the best Solana swap price via the Jupiter aggregator, and enumerates the returned quantities. It implicitly distinguishes the read-only quote from the write-side sibling (solana_swap_build) but never names it, so differentiation is left to the agent's inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when/when-not guidance and no mention of alternatives such as solana_swap_build, swap_quote, or swap_build, despite those sitting in the sibling list. The agent must infer that a quote precedes execution and that this is the Solana/Jupiter-specific variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
solana_walletsolana walletRead-onlyInspect
Solana wallet balances in one call: SOL and every SPL token with USD price and value, total portfolio value, plus NFT and compressed NFT counts. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| wallet | Yes | Solana address |
solarsolarRead-onlyInspect
Solar potential for any address or coordinates: yearly and monthly output of a rooftop system (NREL PVWatts), sun hours, capacity factor, plus estimated yearly savings, install cost and simple payback years. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lon | No | ||
| near | No | Address or place | |
| tilt | No | ||
| azimuth | No | ||
| system_kw | No | Default 5 | |
| cost_per_watt | No | Default 2.75 | |
| price_per_kwh | No | Default 0.16 |
speakspeakRead-onlyInspect
Text to speech. Send up to 2000 characters and a language (en, es, fr, zh, jp, kr); get a natural-sounding WAV recording back. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | en | es | fr | zh | jp | kr (default en) | |
| text | Yes |
speak_prospeak proRead-onlyInspect
Premium natural speech with Deepgram Aura-2: 40 English voices (luna, orion, athena, zeus...) and Spanish, returned as MP3 (or base64 JSON). $0.002 plus $0.07 per 1,000 characters, minimum $0.005. Add store=true (+$0.001) to get a 7-day share link instead of the data inline. Costs $0.06 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Up to 5,000 characters | |
| store | No | Return a 7-day share link (+$0.001) | |
| voice | No | e.g. luna, orion, athena | |
| format | No | mp3 (default) or json | |
| language | No | en (default) or es |
spendspendRead-onlyInspect
Wallet spend report: an agent wallet's outgoing USDC payments on Base, grouped by recipient and matched to x402 sellers, with totals for the period. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Default 30 | |
| wallet | Yes | 0x address |
sqlsqlRead-onlyInspect
Run SQL on your data: load JSON rows or CSV (or several named tables) into SQLite and run any SELECT, including GROUP BY, JOIN, window functions and CTEs. Up to 100,000 rows. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | JSON array or CSV text (table name: data) | |
| query | Yes | SELECT ... | |
| tables | No | JSON object {name: rows} for several tables |
sql_generatesql generateARead-onlyInspect
Plain-English question to SQL for your schema (SQLite, Postgres, MySQL, BigQuery...): the query, an explanation and assumptions, a read-only check, and for SQLite schemas the query is compiled against your tables (and retried if it fails). Costs $0.02 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| schema | Yes | ||
| dialect | No | ||
| question | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, yet the description adds genuinely non-derivable behavior: the returned artifacts (query, explanation, assumptions, read-only check), SQLite-specific compilation against real tables with automatic retry on failure, and a per-call cost of $0.02 USDC via x402. That cost/validation disclosure is exactly the kind of context annotations cannot carry; it stops short of 5 only because no failure/auth caveats beyond the retry are described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, but front-loaded with the core purpose and then the output/cost details; every clause (outputs, validation, retry, price) adds information rather than filler. The heavy parenthetical nesting makes it slightly harder to parse than ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by naming what comes back (query, explanation, assumptions, read-only check) plus the pricing model. Combined with the annotations' safety profile, an agent has enough to decide and call correctly, though dialect/parameter edge cases remain unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It partially does: 'for your schema' clarifies the 'schema' parameter's role and the dialect list (SQLite, Postgres, MySQL, BigQuery...) gives useful domain for 'dialect', but no format, size limits, or expected shape for 'question' or 'schema' is given, and the SQLite-only compile behavior isn't tied back to the dialect parameter explicitly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: turning a plain-English question into SQL for a user-supplied schema, and enumerates supported dialects. It implicitly separates itself from the sibling 'sql' tool (generation vs. execution) but never names or contrasts with that sibling explicitly, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the input contract ('question' + 'schema'), so the agent can infer you use this when you have a natural-language question and a schema rather than a ready query. However there is no explicit when-to-use/when-not statement and no mention of the 'sql' sibling as the alternative when you already have SQL to run.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stablecoinsstablecoinsARead-onlyInspect
Stablecoin market: circulating supply, price and depeg percent, 1-day and 30-day supply change for every stablecoin, filterable by symbol or chain, plus a list of any stablecoin trading more than 1% off its peg. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | e.g. Base, Ethereum, Solana | |
| limit | No | ||
| symbol | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint true, openWorldHint true), so the bar is lower. The description adds genuinely useful behavioral context beyond the annotations: a per-call cost of $0.003 USDC via x402, which materially affects an agent's decision to call it. It does not, however, cover pagination, data freshness, or limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the resource and data fields before the filters and the cost note. Every clause carries information, though the packed enumeration makes it slightly heavy to parse at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned fields, which is exactly what's needed for this tool. It still omits limit semantics and default behaviors, which matters given the low schema coverage and three parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only 'chain' is described). The description compensates for the undocumented 'symbol' parameter by stating filtering is by symbol or chain, but the 'limit' parameter is unexplained in both the schema and the description, leaving a real gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource (stablecoin market) and enumerates the specific fields returned: circulating supply, price, depeg percent, 1-day and 30-day supply change, plus an off-peg list. This is far more precise than sibling tools like crypto_price or token_price, and an agent can tell what data it will get without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the available filters ('filterable by symbol or chain') and that off-peg coins are included, which implies when to reach for it, but gives no explicit when-not or named alternatives (e.g., crypto_price for a general price, token_scan for on-chain security). Usage is inferable rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
staking_ratesstaking ratesARead-onlyInspect
Liquid staking and restaking yields for ETH, SOL, BTC and more: APY (base and rewards), 30-day average and TVL for Lido, Rocket Pool, Coinbase, Jito, Marinade, EtherFi and others, filterable by chain. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| asset | No | ||
| chain | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuinely new behavioral information not present in structured fields: this is a paid call costing $0.003 USDC via x402. That payment-gating detail is exactly the kind of non-obvious operational trait an agent needs before invoking. It omits rate limits, pagination, and caching behavior, keeping it out of the top band.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what the tool returns before the cost caveat. Almost every clause earns its place by adding a metric, provider, or constraint. Slightly dense with provider name-dropping, but there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns, and it does well by naming the metrics (APY base/rewards, 30-day average, TVL). For a read-only open-world data tool with annotations already covering the safety profile, this is close to complete. The main gap is the undocumented limit parameter and lack of sorting/pagination semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is the only source of parameter meaning. It partially compensates by implying a chain filter ('filterable by chain') and by listing valid asset values (ETH, SOL, BTC), which maps to the asset parameter. However, the limit parameter is never mentioned, and no formats, defaults, or allowed values are given despite all three params being optional and undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (liquid staking and restaking yields) and enumerates the exact metrics returned (APY base/rewards, 30-day average, TVL) plus the providers covered (Lido, Rocket Pool, Jito, etc.). This is far more concrete than a tautology and lets an agent know exactly what data is served. It loses a point for not distinguishing itself from the sibling defi_yields, which appears to overlap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage cue is 'filterable by chain', which describes a capability rather than when to select this tool. There is no guidance on when to use staking_rates versus defi_yields, defi_tvl, or other yield/TVL siblings, and no exclusions or prerequisites are stated. An agent must infer the scenario entirely from the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
storagestorageRead-onlyInspect
File storage for agents on R2 with share links. Upload (base64, text or copy from a URL, up to 95 MB; up to 5 GB with upload_large), renew, get, list or delete. Priced by size and time: $0.002 per started 10 MB per week (above 100 MB $0.05 per GB-week); scratch files kept 1-24 hours from $0.002. Downloads are free. Files are private to the paying wallet. Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | For renew/get/delete | |
| url | No | Copy a file from this URL (set max_mb) | |
| name | No | ||
| text | No | ||
| action | No | put (default), upload_large, renew, get, list, delete | |
| max_mb | No | ||
| size_mb | No | Total size for upload_large or renew | |
| content_type | No | ||
| expires_days | No | 1-365, default 7 | |
| expires_hours | No | 1-24: scratch tier | |
| content_base64 | No |
structurestructureBRead-onlyInspect
Turn any text into JSON that matches YOUR JSON Schema: a large model extracts the fields, we validate the result against the schema and retry with the errors, so you get schema-valid output (or the exact remaining errors). Text up to 16,000 characters. Costs $0.025 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| schema | Yes | ||
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, it discloses genuinely useful behavior: the validate-and-retry-with-errors loop, the guarantee of schema-valid output or the exact residual errors, the 16,000-character input cap, and the $0.025 USDC x402 cost per call. Cost and input limits are exactly the kind of context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core capability, then behavior guarantee, then limits and price. No filler or redundancy; each sentence adds a distinct fact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does explain the return contract (valid JSON or the exact errors), which is good. But for a three-parameter tool with a nested schema object and zero schema documentation, leaving 'instructions' unexplained and omitting failure/cost semantics on retry leaves meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It lightly characterizes 'text' (any text, up to 16,000 chars) and 'schema' (YOUR JSON Schema), but the third parameter, 'instructions', is never mentioned, and there is no guidance on schema format or how instructions shape extraction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: turn text into JSON conforming to a caller-supplied JSON Schema, with the extraction/validate/retry pipeline made explicit. This is far more concrete than the title 'structure'. However, it never distinguishes itself from nearby siblings such as extract, json_validate, or json_repair, so an agent must infer which one to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the mechanism but gives no when-to-use guidance, no prerequisites, and no named alternatives. With siblings like extract and json_validate in the same namespace, the absence of any routing statement leaves selection ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarizesummarizeRead-onlyInspect
Summarize any web page or long text. A headless browser renders the URL, an LLM writes a faithful summary: short (2-3 sentences), medium (one paragraph) or bullets. Costs $0.0045 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| text | No | Alternative to url | |
| style | No | short | medium | bullets (default short) |
swap_buildswap buildARead-onlyInspect
Get a ready-to-sign swap transaction at the best DEX route: to, data, value and gas for your wallet, the minimum output after slippage, and the exact-amount approve() to send first for tokens. Unsigned: you sign and send it yourself; we never hold funds. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base (default), ethereum, arbitrum, optimism, polygon | |
| amount | Yes | ||
| sender | Yes | Wallet that will sign | |
| to_token | Yes | ||
| recipient | No | ||
| from_token | Yes | ||
| slippage_percent | No | Default 0.5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real behavior beyond the annotations: the transaction is unsigned, the service is non-custodial ('we never hold funds'), and each call costs $0.005 USDC via x402. The per-call payment requirement is a critical operational fact that neither annotations nor schema convey. It stops short of covering failure modes, expiry of the quote, or route degradation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences: action, trust model, cost. The middle sentence is dense with return-field names but each element is informative. No filler, though the output enumeration could be trimmed since it repeats what the tool's payload naturally contains.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter, no-output-schema tool, the description usefully describes the returned payload and the payment model, which is what an agent most needs. Gaps remain around parameter formats and quote validity, but the core call contract is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 43%, so four parameters (from_token, to_token, amount, recipient) are undocumented in both schema and description. The description touches slippage via 'minimum output after slippage' and references tokens, but never clarifies amount units/decimals, whether tokens are addresses or symbols, or the recipient default. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (build a swap transaction) and enumerates the exact payload it returns (to, data, value, gas, min output, approve call). It does not name or distinguish itself from the sibling swap_quote, which is the obvious adjacent tool an agent would confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'ready-to-sign ... you sign and send it yourself', so an agent can infer this is the execution path rather than a price check. However, it never explicitly says when to prefer this over swap_quote, nor does it state prerequisites (funded wallet, prior approval) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
swap_quoteswap quoteARead-onlyInspect
Best DEX swap price across every major exchange (KyberSwap aggregator): how much you get for an amount, USD values, price impact, gas cost and the route. Tokens by symbol (ETH, USDC, USDT, WETH, DAI, WBTC...) or address. Base, Ethereum, Arbitrum, Optimism, Polygon. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base (default), ethereum, arbitrum, optimism, polygon | |
| amount | Yes | Amount of from_token, e.g. 100 | |
| to_token | Yes | ||
| from_token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely non-obvious context beyond them: the aggregator behind the quote, the five supported chains, and a concrete per-call cost ($0.003 USDC via x402). It does not mention quote staleness/slippage validity, which would matter for a price quote.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the core value proposition and ending with the cost constraint. The chain list ('Base, Ethereum, Arbitrum, Optimism, Polygon') partially duplicates the chain parameter's schema description, which is mild redundancy but not bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so by naming the fields returned (amount out, USD values, price impact, gas cost, route). Parameters for tokens and chains are addressed, and the x402 payment requirement is disclosed. What is missing is minimal — e.g., whether the quoted route can be passed onward to a build/execute step.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% — to_token and from_token carry no schema descriptions. The description compensates by stating tokens may be given by symbol (ETH, USDC, USDT, WETH, DAI, WBTC) or by address, and it restates the valid chain values. That fills most of the gap, though it doesn't clarify amount formatting beyond the schema's own example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Best DEX swap price across every major exchange (KyberSwap aggregator)') and enumerates exactly what the quote returns: amount out, USD values, price impact, gas cost, route. It does not name the obvious sibling it must be distinguished from (swap_build, which presumably executes), so sibling differentiation is left to inference rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied ('how much you get for an amount') and the $0.003 USDC x402 payment requirement is a useful invocation condition. However, there is no explicit when-to-use/when-not guidance and no routing to swap_build for actually executing the swap or to bridge_quote for cross-chain moves.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskstasksRead-onlyInspect
Agent task list: add, list, complete and delete tasks that persist between sessions, with due dates and an optional reminder callback to your URL when a task is due. Private to the paying wallet. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| due | No | ISO date-time | |
| notes | No | ||
| title | No | ||
| action | Yes | add | list | done | reopen | delete | |
| status | No | open | done | all | |
| remind_url | No | https URL called when due |
teamteamRead-onlyInspect
Team memory: shared notes for a group of agents. Create a team to get a team id and secret code; any agent with the code can save, get, list, search and delete entries. Up to 5,000 keys per team. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | ||
| code | No | ||
| name | No | ||
| team | No | ||
| query | No | ||
| value | No | ||
| action | Yes | create | save | get | list | search | delete |
techstacktechstackRead-onlyInspect
Tech stack detection: what a website is built with (CMS, frameworks, e-commerce, analytics, ads, chat, payments, CDN, hosting, server) with the evidence for each. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL or domain |
text_difftext diffARead-onlyInspect
Compare two texts: a line diff (unified format) or word diff (inline [-removed-] {+added+}), counts of added and removed parts and a similarity score. For contract redlines, document versions and code. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | Old text | |
| b | Yes | New text | |
| unit | No | line (default) or word |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds genuinely useful context the annotations do not: the exact output formats per unit and the paid-call behavior ($0.002 USDC per call, x402), which an agent must know before invoking. It omits size limits and error behavior, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler: the capability and output formats come first, the use cases next, and the pricing last. Every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by summarizing the return shape (diff format, counts, similarity score). Cost is disclosed. Only limits on input size, rate limits, and failure modes are absent, which are minor for a two-text comparison tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description goes further by explaining what each `unit` value produces (unified line diff vs. inline word diff with marker syntax), which directly informs the parameter choice rather than just restating it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (compare) and resource (two texts), then enumerates the concrete outputs: unified line diff, inline word diff with [-removed-]/{+added+} markers, add/remove counts, and a similarity score. This is enough to separate it from image_diff at a glance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names concrete use cases (contract redlines, document versions, code) which tells the agent the domain this tool is for. It does not name a when-not condition or point to an alternative sibling, so it falls 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.
text_rewritetext rewriteARead-onlyInspect
Rewrite text in a tone (formal, friendly, concise, persuasive, simple, professional, casual, confident, empathetic, academic, marketing, neutral), for an audience, shorter or longer, with grammar fixed and every fact kept. Up to 3 variants. Costs $0.007 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| tone | No | ||
| length | No | ||
| audience | No | ||
| variants | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true and openWorldHint=true; the description goes beyond them with two meaningful disclosures: a per-call price of $0.007 USDC via x402 (payment/auth context) and a hard cap of 3 variants. It also states the 'every fact kept' constraint, which is a real behavioral guarantee. It stops short of 5 because nothing is said about rate limits, failure modes, or how variants are returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core verb and resource, with no filler. The 12-value tone list makes the first sentence long and list-heavy, which slightly hurts scanability, but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no output schema, the definition is mostly sufficient: input semantics are covered and the cost is disclosed. What is missing is any indication of the return shape (single string vs. an array of up to 3 variants) and any note on whether tone/length are free-form strings or must match the listed values — the latter matters given the schema declares no enum.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema declares no enums, so the description carries the full burden — and it largely does. It enumerates all 12 valid tone values (a substitute for a missing enum), and gives meaning to length ('shorter or longer'), audience ('for an audience'), and variants ('up to 3 variants'). Only 'text' is left implicit, which is self-evident.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('Rewrite text') and immediately scopes what rewriting means here: tone, audience, length, grammar fixes, fact preservation, and a variant cap. That is far more specific than the bare name. It does not, however, distinguish itself from plausible siblings like translate, summarize, or prompt_optimize, which is why it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool can do but never says when to reach for it over alternatives. With siblings such as translate, summarize, text_diff, and prompt_optimize in the catalog, the absence of any routing guidance or exclusions leaves the agent to infer the use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
text_statstext statsBRead-onlyInspect
Text statistics: words, characters, sentences, paragraphs, reading and speaking time, Flesch reading ease, Flesch-Kincaid grade, Gunning fog, top keywords with density and the longest sentences to simplify. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description goes beyond that with genuinely non-obvious behavior: the tool charges $0.002 USDC per call via x402, and it returns derived analytical output (readability scores, keyword density) rather than a simple transform. Only the return shape and any input-size limits remain undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence starting with 'Text statistics:' plus a short billing sentence. The metric list is dense but each item is informative for a tool that computes many outputs; nothing is padded or repeated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the enumerated metric list usefully compensates by telling the agent what comes back, and the cost is disclosed. However, no input constraints, size limits, or failure modes are given, leaving an agent unable to predict behavior on long or non-English text.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one required parameter and 0% schema description coverage, the description carries the input burden. It never describes the 'text' parameter — no length limits, language assumptions, or formatting constraints — though a single self-evidently named string parameter keeps the gap small.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource (text) and enumerates the specific metrics produced — word/character/sentence counts, readability scores (Flesch, Flesch-Kincaid, Gunning fog), reading/speaking time, keyword density, longest sentences. An agent can tell it computes analytics rather than transforming text, but no sibling is named to disambiguate it from tokens_count or summarize.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no exclusions. Faced with siblings like tokens_count, text_rewrite, and summarize, the agent gets no signal about which to pick for a given intent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
timetimeRead-onlyInspect
Trusted current time (or a given moment) in UTC, unix seconds/ms, and up to 20 IANA time zones with local time, weekday and UTC offset. Also converts a timestamp between zones. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| at | No | Optional ISO date or unix timestamp to convert | |
| tz | No | Comma list of IANA zones, e.g. America/Toronto,Europe/London |
timestamptimestampRead-onlyInspect
Proof of existence: anchor the SHA-256 of any text, file or URL in the Bitcoin blockchain through OpenTimestamps calendars and get the .ots proof file, so anyone can later verify the data existed at that time. Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| text | No | ||
| sha256 | No | ||
| content_base64 | No |
token_charttoken chartRead-onlyInspect
Price history for any token contract: a time series at 5m to 1w intervals (up to 500 points) with open, close, high, low and percent change. Works for DEX-only tokens. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base (default) | ethereum | polygon | arbitrum | optimism | bsc | avalanche | solana | |
| period | No | Interval like 5m, 1h, 4h, 1d (default 1h) | |
| points | No | 2 to 500, default 24 | |
| address | Yes |
token_holderstoken holdersARead-onlyInspect
Top holders of any token on Base, Ethereum, BSC or Solana with percent of supply, and each holder labelled wallet, contract, liquidity pool, burn address or program. Returns top-1 / top-5 / top-10 concentration of circulating supply with a low / medium / high level, the strongest single rug-pull signal. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base (default), ethereum, bsc, solana | |
| limit | No | 1-50, default 20 | |
| address | Yes | Token contract (0x) or Solana mint |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint, so the description adds real value: it discloses return contents (percent of supply, holder labels, top-1/5/10 concentration with low/medium/high grading) and, importantly, the $0.004 USDC x402 payment requirement. It does not mention pagination or rate limits, but the cost and output profile go well beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what the tool returns and followed by the cost, with no filler. The middle clause listing holder labels is dense but informative rather than redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing return values and does so (supply percentages, holder type labels, concentration tiers, risk level). Combined with the read-only annotation and the cost disclosure, an agent has what it needs to invoke it; only usage routing against siblings is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents address, chain, and limit with defaults. The description echoes the chain options but adds no new syntax or semantics for the parameters, matching the baseline-3 case where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Top holders of any token") plus the supported chains, which is unambiguous and clearly distinct from sibling token tools like token_chart or token_price. It does not explicitly contrast itself with adjacent siblings such as token_scan or token_report, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by "the strongest single rug-pull signal," which suggests the tool is for concentration/rug-risk assessment, but the description never states when to prefer this over token_scan, token_report, or token_verdict. No explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_liquiditytoken liquidityARead-onlyInspect
Where a token's liquidity sits and whether it can be pulled: the 5 biggest pools with USD liquidity, and for each V2-style pool whether the LP tokens are burned, held by contracts (usually lockers) or held by ordinary wallets (rug risk). Concentrated-liquidity pools are marked not verifiable. Base, Ethereum, BSC. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base (default), ethereum, bsc | |
| address | Yes | Token contract (0x) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover read-only and open-world; the description goes well beyond by disclosing the paid x402 cost ($0.004 USDC per call) — critical for a tool an agent may auto-invoke — plus an honest limitation that concentrated-liquidity pools are marked 'not verifiable', which prevents the agent from over-trusting the rug-risk output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Information-dense and front-loaded: the payoff (liquidity location and pull-ability) opens the sentence, with methodology, coverage, and cost following. It reads as one long run-on sentence with stacked clauses, which slightly hurts scannability, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-shape burden and largely does so — top 5 pools ranked by USD liquidity, per-pool LP holder classification, and the verifiability caveat for CL pools. It omits anything about response format, ordering guarantees, or handling of tokens with fewer than five pools, which is a minor residual gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with only two simple parameters, so the schema already documents address and the chain enum-ish list. The description's 'Base, Ethereum, BSC' merely restates the chain parameter values and adds no syntax or defaulting detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific analysis verb and resource: where a token's liquidity sits and whether LP can be pulled, naming the exact deliverable (top 5 pools by USD liquidity, per-pool LP burn/locker/wallet classification). This clearly separates it from siblings like token_holders, token_price, token_scan, or defi_tvl, which cover different aspects of a token.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied by the framing ('whether it can be pulled' = rug/liquidity-risk check), and the three supported chains plus the $0.004 cost are stated, so an agent can judge fit. However, no sibling alternative is named (e.g., when to prefer this over token_verdict, token_report, or token_scan) and no when-not-to-use condition is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_pricetoken priceRead-onlyInspect
USD price and 24h change for any token by contract address (up to 30 at once) on Base, Ethereum, Polygon, Arbitrum, Optimism, BSC, Avalanche, Solana or World Chain. Covers long-tail DEX tokens that ticker-based price feeds miss. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base (default) | ethereum | polygon | arbitrum | optimism | bsc | avalanche | solana | worldchain | |
| address | Yes | Token contract, or comma list (max 30) |
token_reporttoken reportRead-onlyInspect
Token risk report with a plain-English AI verdict for any token on Base, Ethereum, Polygon, Arbitrum, Optimism or Solana. EVM: honeypot sell simulation, buy/sell tax, verified source, upgradeable proxy, owner, supply, holders, main pool liquidity, price and 24h change, plus a low/medium/high/critical risk rating. Costs $0.009 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base (default) | ethereum | polygon | arbitrum | optimism | |
| address | Yes | Token contract 0x address |
token_scantoken scanRead-onlyInspect
Batch token risk scan: up to 5 tokens in one call, any mix of Base, Ethereum, Polygon, Arbitrum, Optimism and Solana. Each gets a risk rating, red flags, price and liquidity; the riskiest one is named. For screening a watchlist, a wallet's holdings or a list of new launches. Costs $0.02 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Default chain for 0x addresses (base) | |
| tokens | Yes | Up to 5, comma separated: 0x address (uses chain), Solana mint, or chain:address |
tokens_counttokens countARead-onlyInspect
Count tokens before you call a model: exact OpenAI counts (o200k for gpt-4o / 4.1 / o-series / gpt-5, cl100k for gpt-4 / 3.5) plus close estimates for Claude, Llama and Gemini, with chat-message overhead. Up to 2 million characters. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| messages | No | Or a chat messages JSON array |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=true, so the safety profile is covered; the description adds substantial context beyond that: exactness per model family, a hard input ceiling ('Up to 2 million characters'), chat-message overhead accounting, and an explicit per-call price with the x402 payment scheme. Price and input limits are exactly the operational facts an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then layered with model coverage, limits, and cost in a compact block with no filler sentences. It is dense — a single colon-and-slash-laden run-on — but every clause carries distinct decision-relevant information, so nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still covers the key pre-call facts: accuracy per model family, input size limit, and cost. The remaining gap is the return shape (a single count versus a per-model breakdown) and whether text and messages are mutually exclusive, but for a two-parameter utility the definition is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'messages' carries a description while 'text' is bare. The description partially compensates by referencing chat-message overhead and the 2M-character ceiling, indirectly clarifying the text-vs-messages distinction, but it never defines the two parameters or says whether both may be supplied together. With names self-describing and half the schema documented, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Starts with a specific verb+resource ('Count tokens') and immediately scopes it with model-specific detail (o200k for gpt-4o/4.1/o-series/gpt-5, cl100k for gpt-4/3.5, estimates for Claude/Llama/Gemini). This is unmistakably distinct from siblings like chat_completions, embed, or embeddings, which generate or vectorize rather than count.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before you call a model' gives a clear triggering context: pre-flight cost/context budgeting ahead of a chat or completion call. However, it names no alternatives and states no exclusions (e.g., when to prefer a provider's own tokenizer or when the estimate is unsafe), so guidance is contextual but not comparative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_searchtoken searchARead-onlyInspect
Find a token's real contract address by name or symbol: the curated Uniswap token list (Ethereum, Base, Arbitrum, Optimism, Polygon, BSC, Avalanche) plus Jupiter for Solana with verification, holders, liquidity and price. Ranked so the genuine token comes first; warns about copycats. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| chain | No | Optional: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, solana | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description goes substantially beyond them by disclosing the paid x402 model and exact cost ($0.002 USDC per call), the multi-chain data provenance, and ranking/copycat-warning behavior. That pricing disclosure is genuinely decision-relevant for an agent wallet. It stops short of describing response shape or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence plus a cost clause, front-loaded with the purpose and then layering sources, ranking behavior, and price. Nearly every clause earns its place; the chain enumeration is slightly list-heavy but serves the chain parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-behavior burden and does so partially ('ranked so the genuine token comes first; warns about copycats'). The paid-call disclosure and chain coverage make it callable without ambiguity, though the undocumented 'limit' parameter and the absence of any response structure leave a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%: only 'chain' is documented. The description partly compensates by enumerating covered chains (which maps to the chain values) and clarifying that q is a name or symbol. But 'limit' is undocumented in both schema and description, so the coverage gap is not fully closed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Find a token's real contract address by name or symbol') and immediately qualifies the scope with the data sources used (curated Uniswap list across seven EVM chains plus Jupiter for Solana). An agent can distinguish this lookup tool from siblings like token_price, token_chart, or token_holders without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trigger is implied clearly enough ('find a token's real contract address'), and the copycat warning hints at the disambiguation use case. However, no alternatives are named among the dense set of token siblings (token_scan, token_verdict, address_verify, token_report), and no when-not condition is given, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_solanatoken solanaRead-onlyInspect
Solana token risk report (rug check) for any SPL or Token-2022 mint: mint and freeze authority, top-holder and developer concentration, serial-launcher check, Jupiter suspicious flag, liquidity, pool age, organic trading score, holders, price and market cap, a low/medium/high/critical rating and a plain-English AI verdict. Costs $0.01 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | Solana token mint address |
token_verdicttoken verdictRead-onlyInspect
Quick AI token verdict: a 2-3 sentence plain-English risk summary plus risk level and red flags for any token on Base, Ethereum, Polygon, Arbitrum, Optimism or Solana. Built on honeypot sell simulation and tax checks (EVM) or mint/freeze authority and holder concentration (Solana). Half the price of the full report. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base (default for 0x) | ethereum | polygon | arbitrum | optimism | solana (auto for mints) | |
| address | Yes | 0x token contract or Solana mint |
tradetradeRead-onlyInspect
US imports and exports from official Census trade data: by product (HS code) the top partner countries with value, share and year-to-date; by country the trade balance and top products; or US totals, for the latest month or any month. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| hs | No | 2, 4 or 6-digit HS code, e.g. 8703 cars | |
| flow | No | imports (default) or exports | |
| limit | No | ||
| month | No | YYYY-MM, default latest | |
| country | No | Partner country name |
transcribetranscribeRead-onlyInspect
Speech to text (Whisper large v3 turbo). Send a public audio/video URL or base64 audio (max 20 MB); get the transcript, detected language, timed segments and WebVTT subtitles. Priced by length: $0.002 + $0.0015 per minute of max_minutes (default 6, up to 30). Costs $0.047 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public URL of an audio or video file (mp3, wav, m4a, ogg, webm, mp4) | |
| language | No | Optional ISO 639-1 hint, e.g. en | |
| audio_base64 | No | Alternative to url: base64 audio bytes |
transcribe_protranscribe proRead-onlyInspect
Premium transcription with Deepgram Nova-3: smart punctuation and formatting, language detection, optional speaker labels (diarization) and word timestamps, for a public audio or video file. $0.012 per audio minute plus $0.002 (set max_minutes), minimum $0.014. Add store=true (+$0.001) to get a 7-day share link instead of the data inline. Costs $1.443 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public audio/video URL | |
| store | No | Return a 7-day share link (+$0.001) | |
| words | No | Include word timestamps | |
| diarize | No | Label speakers | |
| language | No | e.g. en, es (auto if omitted) | |
| max_minutes | No | Length you are paying for, 1-120, default 5 | |
| audio_base64 | No |
translatetranslateRead-onlyInspect
Translate text between about 100 languages (M2M-100). One text or a batch of up to 20; give target_lang and optionally source_lang (default en). Priced by size: $0.004 + $0.0007 per 1,000 characters. Costs $0.046 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| texts | No | Up to 20 texts instead of text | |
| source_lang | No | ISO code, default en | |
| target_lang | Yes | ISO code, e.g. fr, es, de, zh, ja |
translate_indictranslate indicRead-onlyInspect
Translate English into 22 Indian languages with IndicTrans2 (AI4Bharat), which beats general translators on Indian languages: Hindi, Bengali, Tamil, Telugu, Marathi, Gujarati, Kannada, Malayalam, Punjabi, Urdu, Odia and more. Up to 50 texts per call. Priced by size: $0.004 + $0.001 per 1,000 characters. Costs $0.104 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | English text (or an array of up to 50) | |
| target | Yes | hindi, tamil, bengali, telugu, marathi... or a code like hin_Deva |
trends_wikipediatrends wikipediaARead-onlyInspect
Public interest over time from Wikipedia pageviews for up to 5 topics: daily views, average, trend percent and peak day. A free, reliable alternative to search-trend data for comparing brands, coins, people and products. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| lang | No | ||
| articles | Yes | Comma separated Wikipedia titles |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and openWorld, so the description is free to add the traits that matter: a hard cap of 5 topics per call and an x402 cost of $0.003 USDC per call. Pricing and rate/cap constraints are exactly the behavioral context an agent needs before invoking. It stops short of describing errors or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences that front-load the resource and scope, then the positioning, then the cost. Efficient with little waste, though the simultaneous 'free' and '$0.003 USDC per call' framing is slightly ambiguous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned fields, and it discloses the cost and topic cap. However, for a 3-parameter tool at 33% coverage, the semantics of 'days' and 'lang' are left entirely unspecified, leaving a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%: 'articles' is documented as comma-separated titles and the description reinforces the 5-topic cap, but 'days' and 'lang' are undocumented in both schema and description. The description adds real value for the topics parameter but does not compensate for the two undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: Wikipedia pageview interest over time for up to 5 topics, and even enumerates the returned metrics (daily views, average, trend percent, peak day). It distinguishes itself conceptually from search-trend data, though it never names a concrete sibling tool, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for use ('comparing brands, coins, people and products') and positions itself as an alternative to search-trend data. No explicit when-not-to-use or named alternative sibling is provided, so it is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trialstrialsRead-onlyInspect
Clinical trials search (ClinicalTrials.gov): studies for a condition, drug or keyword with status, phase, sponsor, interventions, enrollment and links. Filter by status and location. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| limit | No | ||
| status | No | RECRUITING, COMPLETED, ... | |
| location | No |
turnturnRead-onlyInspect
TURN relay credentials for voice and video agents (Cloudflare Realtime TURN): ICE servers that let WebRTC audio and video connect through corporate and home firewalls and NATs, anywhere in the world. $0.10 per hour of validity (1-12 hours). Costs $1.2 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | 1-12, default 1 |
tx_decode_rawtx decode rawARead-onlyInspect
Decode a raw serialized EVM transaction before it is broadcast: type, chain, recovered sender, recipient, value, nonce, gas and fee caps, max cost, calldata selector, access and EIP-7702 authorization lists, and the hash it will have. Spot what a wallet is really being asked to sign. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| raw | Yes | 0x serialized transaction |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint and openWorldHint, but the description adds material context they don't carry: the x402 pay-per-call cost of $0.002 USDC and the pre-broadcast ordering constraint. It does not describe failure modes for malformed/short calldata, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the operation and its scope, then the reason to use it, then the pricing. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must communicate what comes back, and it does so field-by-field (type, chain, sender, fee caps, access lists, hash). Combined with the disclosed payment model, an agent has everything needed to invoke and interpret it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and schema coverage is 100% (the schema already documents 'raw' as a 0x serialized transaction). The description's 'raw serialized EVM transaction' adds no format or validation detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (decode raw serialized EVM transaction) and enumerates exactly what is recovered: type, chain, sender, recipient, value, nonce, gas/fee caps, calldata selector, access and EIP-7702 lists, and resulting hash. The scope qualifier 'raw serialized ... before it is broadcast' cleanly separates it from siblings like tx_explain and tx_simulate without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Before it is broadcast' and 'Spot what a wallet is really being asked to sign' give a clear pre-signing verification context. It does not name alternatives (tx_explain, tx_simulate) or state when-not-to-use, so it stays short of the explicit routing a 5 requires.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tx_explaintx explainARead-onlyInspect
Explain any EVM transaction in plain English: who called what (function decoded from public signature databases), tokens paid and received, NFTs moved, approvals granted (flags unlimited ones), events, status and the fee in native coin and USD. Base, Ethereum, Arbitrum, Optimism, Polygon. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | 0x transaction hash | |
| chain | No | base (default), ethereum, arbitrum, optimism, polygon |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnlyHint, openWorldHint). The description adds behavior an agent must know before calling: it is pay-per-use at $0.005 USDC via x402, it draws decoded signatures from public databases, and it flags unlimited approvals. Cost and payment mechanism are material operating facts not derivable from any structured field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and output inventory in a single dense sentence, ending on the chain list and price. Efficient overall, though re-listing the chains already present in the schema is marginal payload.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by enumerating the returned fields (function, tokens, NFTs, approvals, events, status, fee in native and USD). Combined with chain coverage, price, and payment rail, an agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (hash, chain) are already documented with the chain default and allowed values. The description restates the chain set (Base, Ethereum, Arbitrum, Optimism, Polygon) but adds no format or semantics beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('explain') plus resource ('any EVM transaction') and an explicit inventory of what the explanation contains: decoded function, token flows, NFT moves, approvals (with unlimited flag), events, status, and USD/native fee. An agent can distinguish it from decode-only siblings like abi_decode or simulation tools like tx_simulate without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Explain any EVM transaction' implies post-hoc, human-readable interpretation of an already-mined tx, which implicitly separates it from tx_simulate. However, no sibling is named and there is no explicit when-not guidance, so the routing signal is left to inference rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tx_simulatetx simulateARead-onlyInspect
Dry-run a transaction before you send it: eth_call + gas estimate at the latest block. Returns success or the decoded revert reason, the return value (decoded when you give a signature), gas units and the fee in native coin and USD. Send raw data, or signature + args and we encode it. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| args | No | Arguments for signature | |
| data | No | 0x calldata | |
| from | No | Sender (recommended) | |
| chain | No | base (default), ethereum, arbitrum, optimism, polygon | |
| value | No | Native coin amount, e.g. 0.01 | |
| signature | No | Instead of data, e.g. balanceOf(address) returns (uint256) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it readOnly/openWorld, but the description goes well beyond them: per-call cost and payment rail ($0.003 USDC, x402), what is returned on failure (decoded revert reason), what is returned on success (decoded return value, gas units, fee in native coin and USD), and that it encodes signature+args for you. That is exactly the operating context an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded: purpose+mechanism, then returns, then input modes, then cost. No filler, and the most decision-relevant facts (what it is, what it costs) lead and trail appropriately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry the return contract, and it does: success/failure, decoded revert reason, decoded return value, gas units, and fee in native coin and USD. Combined with the schema's chain/default documentation, an agent has everything needed to call and interpret this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 86% (above the 80% baseline of 3), and the description adds the key relationship the schema only implies: you either pass raw calldata via data, or pass signature + args and the service encodes it. It also notes the return value is decoded only when a signature is supplied, which is meaningful beyond the field docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Dry-run a transaction") and even the mechanism ("eth_call + gas estimate at the latest block"). The phrase "before you send it" implicitly separates it from send/build tools, but no sibling such as tx_explain or rpc is named, so differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Dry-run a transaction before you send it" gives clear timing context for when to reach for this tool. It stops short of naming alternatives (e.g. when to use tx_explain or rpc instead) or stating exclusions such as already-mined transactions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uk_companies_searchuk companies searchRead-onlyInspect
Search UK companies by filters for lead lists and market maps: name contains, town or postcode area, SIC industry codes, incorporation date range (or new in the last N days), status and company type. Returns number, name, address, SIC codes and dates. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ltd, plc, llp... | |
| limit | No | ||
| offset | No | ||
| status | No | active (default), dissolved, liquidation... | |
| location | No | Town, city or postcode area | |
| sic_codes | No | Comma list, e.g. 62012,62020 | |
| new_in_days | No | Incorporated in the last N days | |
| name_includes | No | ||
| incorporated_to | No | YYYY-MM-DD | |
| incorporated_from | No | YYYY-MM-DD |
uk_companyuk companyRead-onlyInspect
UK company records from Companies House: status, type, incorporation date, registered address, SIC codes, overdue accounts, insolvency and charges flags, current officers, persons with significant control (owners) and recent filings. Search by name or company number. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| number | No | Company number, e.g. 00445790 |
uk_disqualifieduk disqualifiedRead-onlyInspect
Search the UK register of disqualified company directors by name: birth date, address, disqualification periods, reasons, the act used and the companies involved. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| limit | No |
uk_filingsuk filingsRead-onlyInspect
UK company filing history with direct PDF links to each document (accounts, confirmation statements, officer changes), plus secured charges (lenders, outstanding or satisfied) and any insolvency cases. Filter by category. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| limit | No | ||
| number | No | Company number | |
| category | No | accounts, confirmation-statement, officers, capital, charges, incorporation, insolvency, address |
uk_kybuk kybRead-onlyInspect
UK business verification (KYB) risk check in one call: company status and age, overdue accounts or confirmation statement, insolvency history, disputed or undeliverable office, owners (PSC), outstanding charges, and each current director screened against the disqualified directors register. Returns a 0-100 risk score, level and flags. Costs $0.02 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| number | No | Company number |
uk_officeruk officerRead-onlyInspect
Look up a person in the UK company register: matching company officers with birth month/year, then every directorship and secretary role of the chosen match (company, status, role, appointed and resigned dates). Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Person's name | |
| pick | No | Which match to expand (1 = first) |
unit_convertunit convertARead-onlyInspect
Exact crypto unit conversion with no floating-point errors: wei / gwei / ether, lamports / SOL, sats / BTC, USDC base units, or any token decimals (from=units&decimals=8). Returns the base integer and hex too. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No | ||
| value | Yes | ||
| decimals | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly and openWorld, so the description usefully adds two behavioral facts they don't cover: exact integer arithmetic with no floating-point error, and a per-call charge of $0.002 USDC via x402 (an auth/payment requirement). It also hints at the response shape (base integer plus hex).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence front-loads the core capability, with the parameter example and cost appended. Nearly every clause earns its place, though the unit enumeration is slightly listy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param tool with no output schema and no annotation coverage for cost, the description covers the essentials (exactness, payment, return shape) but omits what happens when `to` is omitted (only `value` is required), error behavior on unknown units, and any limits on precision/decimals.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the full parameter burden. It partially compensates by explaining `from` as a unit and `decimals` as the token precision with a concrete example, but `to` and `value` are never described, and no accepted enum values for the unit parameters are listed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource (exact crypto unit conversion) and enumerates the concrete unit families it handles (wei/gwei/ether, lamports/SOL, sats/BTC, USDC base units, arbitrary token decimals). It does not, however, differentiate itself from near-neighbor siblings such as `convert`, `calc`, or `fx`, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through examples ('or any token decimals (from=units&decimals=8)') and the cost note, but there is no explicit when-to-use/when-not statement nor any named alternative (e.g. `convert` for non-crypto units). The agent is left to infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
url_metadataurl metadataBRead-onlyInspect
Link preview data for any URL: title, description, image, site name, type, author and dates, canonical URL, language, Twitter card, theme colour, favicon, oEmbed link, schema.org types and keywords. What chat apps show when you paste a link. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a safe read (readOnlyHint) against an open world. The description adds genuinely useful behavior the annotations don't cover: it is a paid call costing $0.002 USDC via x402, which is critical for an agent deciding whether to invoke it. It omits any note on failures/timeouts or rate limits, keeping it out of 5 territory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose in the first clause, then spends the rest on the returned field list and the price. The field enumeration is long but earns its place given there is no output schema to document the return shape.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates what comes back (title, description, image, oEmbed, schema.org types, etc.) and discloses the per-call cost. It is close to complete for a one-parameter read tool, missing only input format and error behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single url parameter has 0% schema description coverage, so the description carries the full burden. "for any URL" weakly signals that no domain restriction applies, but says nothing about accepted formats (scheme, encoding, redirects), which is thin for the one input that matters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource ("Link preview data for any URL") and enumerates the returned fields, which effectively separates it from siblings like url_unshorten or scrape. It never explicitly names an alternative, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use vs when-not-to-use guidance and never points to a sibling such as url_unshorten, link, or scrape. "What chat apps show when you paste a link" describes the output's flavor, not the conditions under which an agent should pick this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
url_unshortenurl unshortenARead-onlyInspect
Expand a short or tracking link without opening it: the full redirect chain (HTTP, meta refresh and simple script redirects), the final URL, a clean URL with tracking parameters (utm, fbclid, gclid...) removed, and whether it lands on a different domain. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description still adds real behavioral value: it clarifies no page is opened, describes which redirect mechanisms are followed, and discloses a concrete cost ($0.002 USDC per call via x402) that annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the verb and resource, that efficiently packs the redirect scope, output contents, and cost without wasted phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description steps in to enumerate the return values (redirect chain, final URL, cleaned URL, cross-domain flag), and it discloses the x402 payment requirement. Enough for an agent to call and interpret the result correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden, and it does indicate the input is a short or tracking link. It still adds no format, scheme, or length guidance for the single url parameter, so it is helpful but not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Expand' plus resource 'short or tracking link', and it enumerates the outputs (redirect chain, final URL, clean URL, domain change) so the agent knows exactly what it returns. However, it never differentiates itself from close siblings like url_metadata or link, leaving that inference to the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without opening it' implies the safe, headless use case and hints at when to prefer this over a browser visit, but there is no explicit when-to-use, when-not, or named alternative. Usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vatvatRead-onlyInspect
EU VAT number check against the official VIES register (valid, company name and address), plus IBAN checksum and BIC/SWIFT format validation. Check a supplier before paying an invoice. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| bic | No | ||
| vat | No | e.g. DE811907980 | |
| iban | No |
vectorsvectorsRead-onlyInspect
Private long-term vector memory for an agent: upsert up to 100 texts with metadata (we embed them, multilingual), then search by meaning. Keyed to the paying wallet. from $0.004 per upsert batch (by size), $0.003 per query or delete. Costs $0.012 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | For delete | |
| items | No | [{id, text, metadata}] | |
| query | No | ||
| top_k | No | ||
| action | No | upsert, query (default), delete |
video_askvideo askRead-onlyInspect
Ask questions about a video: we sample frames (described by a vision model with timestamps), transcribe the soundtrack, and answer in plain language with timestamps. Or send typed questions (yes/no, choice, score) for calibrated answers from Clef-Omni (clips up to 60 s). Up to 20 MB. $0.06 per question, $0.012 for typed questions only. Costs $0.06 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | https URL of the file | |
| frames | No | 2-12 frames to sample, default 8 | |
| question | No | ||
| questions | No | Typed questions as in /v1/decide | |
| file_base64 | No | Or the file as base64 |
video_makevideo makeRead-onlyInspect
Make a video: 1-30 images plus a narration script (spoken by a natural Deepgram Aura voice) or your own audio, with burned-in captions, rendered to MP4 in landscape, portrait (Reels/Shorts/TikTok) or square. $0.03 plus $0.09 per 1,000 narration characters. Costs $0.48 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | landscape (default), portrait, square | |
| store | No | 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| voice | No | Aura-2 voice, e.g. luna (default), orion, athena, zeus | |
| format | No | binary = raw file bytes | |
| images | Yes | ||
| captions | No | ||
| audio_url | No | ||
| narration | No | ||
| seconds_per_image | No |
vinvinRead-onlyInspect
Car VIN check: decodes any VIN (year, make, model, trim, engine, drive, plant) and adds the model year's safety recalls, complaint counts by component and NHTSA crash-test ratings. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| vin | Yes |
vision_askvision askRead-onlyInspect
Ask a question about an image (Moondream 3.1 vision model): read signs and screens, count things, describe a scene or check a photo. Without a question it writes a caption (short, normal or long). Priced $0.003 + up to $0.003 by max_tokens (default 512, max 1,024). Costs $0.0061 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| question | No | Leave out for a caption | |
| image_url | No | ||
| reasoning | No | ||
| image_base64 | No | ||
| caption_length | No | short, normal, long |
vision_locatevision locateRead-onlyInspect
Find things in an image by description (open-vocabulary detection): bounding boxes (mode=detect) or centre points (mode=point) for any phrase, e.g. 'the Submit button' or 'person in a red jacket', in 0-1 and pixel coordinates. Costs $0.006 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | detect (boxes, default) or point | |
| target | Yes | What to find | |
| image_url | No | ||
| max_objects | No | ||
| image_base64 | No |
voice_sessionvoice sessionRead-onlyInspect
Live speech-to-text for voice agents (Deepgram Flux): get a WebSocket URL, stream raw 16-bit PCM audio, and receive live transcripts plus StartOfTurn / EndOfTurn events that tell your agent exactly when the caller has finished talking. $0.025 per minute (1-60 minutes). Costs $1.5 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| minutes | No | 1-60, default 5 | |
| keyterms | No | Words to boost (names, jargon) | |
| sample_rate | No | 8000, 16000 (default), 24000, 44100, 48000 | |
| eot_threshold | No | 0.5-0.9 end-of-turn confidence, default 0.7 |
voice_turnvoice turnRead-onlyInspect
Has the speaker finished? Send the last few seconds of a caller's audio and get end-of-turn detection (Smart Turn v2) with a probability, so a voice agent replies at the right moment instead of interrupting. Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| audio_url | No | ||
| audio_base64 | No | WAV, about 2-8 s, 16 kHz mono works best |
vulnsvulnsRead-onlyInspect
Package vulnerability check for coding agents: known CVEs/GHSAs for an npm, PyPI, Go, Maven, crates.io, RubyGems, NuGet or Packagist package version, with severity, fixed versions and the latest release (OSV.dev). Costs $0.003 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| package | Yes | ||
| version | No | ||
| ecosystem | No | npm (default), pypi, go, maven, crates.io, rubygems, nuget, packagist |
wageswagesRead-onlyInspect
Salary data for any job title: employment, mean and median annual and hourly pay, and 10th to 90th percentile annual pay, nationally and for a US state, from the BLS occupational wage survey. Job titles are matched to SOC codes automatically. Costs $0.006 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| soc | No | 6-digit SOC code instead, e.g. 15-1252 | |
| state | No | State name or code | |
| occupation | No | Job title |
walletwalletRead-onlyInspect
Wallet snapshot on Base or Ethereum: native ETH balance, nonzero balances of the major tokens (USDC, USDT, WETH, DAI, cbBTC, WBTC and more), transaction count and contract flag. Costs $0.0028 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base | ethereum (default base) | |
| address | Yes | 0x EVM address |
wallet_nftswallet nftsRead-onlyInspect
NFT holdings for any wallet on Base, Ethereum, Arbitrum, Optimism or Polygon, grouped by collection with counts, a sample item and image, OpenSea floor price and an estimated floor value. Spam NFTs are excluded. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base (default) | ethereum | arbitrum | optimism | polygon | |
| wallet | Yes | 0x address |
wallet_portfoliowallet portfolioRead-onlyInspect
Multi-chain wallet portfolio: every token a wallet holds on Ethereum, Base, Arbitrum, Optimism and Polygon (or Solana) with live USD prices, value per token and per chain, and the total. Spam tokens without a price are filtered out. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | 0x address or Solana address | |
| networks | No | Optional comma list: ethereum, base, arbitrum, optimism, polygon |
wallet_watchwallet watchRead-onlyInspect
Wallet activity alerts: watch any wallet on Base, Ethereum, Arbitrum, Optimism or Polygon for 7 days; every incoming or outgoing transfer (ETH, tokens, NFTs) is POSTed to your webhook URL within about 10 minutes. Check status with the watch id. Costs $0.02 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Check an existing watch | |
| days | No | 1-7 | |
| chain | No | base (default) | ethereum | arbitrum | optimism | polygon | |
| address | No | 0x wallet to watch | |
| webhook_url | No | Your https URL that receives the alerts |
watchwatchRead-onlyInspect
Page change watch: reports what changed on a web page since your last check (lines added and removed). The first call saves a snapshot; each later call compares and updates it. Snapshots are private to the paying wallet. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
waybackwaybackRead-onlyInspect
Web archive: the Internet Archive snapshot of a page closest to a date, with the archived page text and a list of recent snapshots. See what a page said before it changed. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| date | No | YYYY-MM-DD (default: latest) | |
| text | No | Include page text (default true) |
weatherweatherRead-onlyInspect
Current weather and up to 14-day forecast for any place name or lat/lon: temperature, feels-like, humidity, rain chance, wind, sunrise and sunset. Metric or imperial. Costs $0.004 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lon | No | ||
| days | No | 1 to 14, default 3 | |
| place | No | Place name, e.g. Toronto | |
| units | No | metric | imperial |
workflowsworkflowsRead-onlyInspect
Durable workflows for agents (Cloudflare Workflows): up to 25 steps of HTTP calls (automatic retries), sleeps of up to 30 days, and human approval gates, with a callback when done. Survives restarts; pass the previous response into the next step with {{prev}}. $0.005 + $0.001 per step; status/approve/reject $0.002. Costs $0.03 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| steps | No | [{type: http, url, method, body} | {type: sleep, seconds} | {type: approval, timeout_hours, notify_url}] | |
| token | No | ||
| action | No | create (default), status, approve, reject, cancel | |
| workflow_id | No | ||
| callback_url | No |
x402_checkx402 checkRead-onlyInspect
x402 endpoint checker: tests any paid x402 URL for a correct 402, price and networks, pay-to address, discovery metadata, CORS, response time and Coinbase's validator, and lists every issue to fix. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| method | No | GET (default) or POST |
x402_findx402 findRead-onlyInspect
x402 service finder: describe what you need and get matching pay-per-call x402 services from the Coinbase Bazaar directory, cheapest first, with price, networks and 30-day payer counts. Costs $0.002 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| limit | No | ||
| network | No | base | solana | polygon ... | |
| max_price | No | USD per call |
zipzipRead-onlyInspect
Zip up to 20 files (by URL or base64, 20 MB total) into one archive, or list / extract a zip (up to 50 files, 20 MB expanded) so an agent can read what is inside. Costs $0.005 USDC per call (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | For unzip/list: the zip URL | |
| files | No | For zip: [{url or base64, name}] | |
| store | No | Return 7-day share links instead of base64 (+$0.001); automatic above 3 MB | |
| action | No | zip, unzip or list | |
| format | No | binary = raw file bytes (single output) | |
| file_base64 | No | ||
| archive_name | No |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
50 tool updates
- Added
agent_inspect - Added
books - Added
chains_status - Added
crypto_candles - Added
crypto_indicators - Added
crypto_movers - Added
crypto_orderbook - Added
cve - Added
dates_business_days - Added
domain_suggest - Added
email_analyze - Added
encode - Added
fx_history - Added
html_tables - Added
image_exif - Added
image_palette - Added
ip_asn - Added
jwt_decode - Added
keywords_extract - Added
language_detect - Added
link_short - Added
links_check - Added
openapi_inspect - Added
package_info - Added
perps_funding - Added
predictions_positions - Added
prompt_optimize - Added
report_api_integration - Added
report_brand - Added
report_contract_review - Added
report_earnings - Added
report_grant_match - Added
report_pitch_deck - Added
report_portfolio - Added
report_privacy_policy - Added
report_trading_signal - Added
report_vendor_security - Added
sec_financials - Added
sec_search - Added
shop_products - Added
site_agent_ready - Added
solana_swap_build - Added
solana_swap_quote - Added
staking_rates - Added
text_rewrite - Added
text_stats - Added
token_search - Added
trends_wikipedia - Added
tx_decode_raw - Added
unit_convert
2 tool updates
- Changed
dedupe1 field changed- changed
Input schema / properties / threshold / descriptionPrevious value: -"0.5-0.999, default 0.92"New value: +"0.5-0.999, default 0.85"
- Changed
json_repair1 field changed- changed
Input schema / properties / use_ai / descriptionPrevious value: -"Default true (texts up to 8,000 characters)"New value: +"Default true (texts up to 6,000 characters)"
60 tool updates
- Added
abi_decode - Added
abi_encode - Added
address_validate - Added
bridge_quote - Added
btc_address - Added
btc_fees - Added
btc_tx - Added
calendar_ics - Added
certs - Added
classify - Added
code_review - Added
contract_inspect - Added
country - Added
crawl_permission - Added
cron_explain - Added
dedupe - Added
defi_dexs - Added
defi_fees - Added
dns - Added
entities - Added
grants - Added
http_inspect - Added
insider - Added
invoice_create - Added
json_repair - Added
json_validate - Added
locks - Added
logo - Added
perps_positions - Added
pii_redact - Added
postal - Added
predictions_book - Added
ratelimit - Added
recalls - Added
receipt_parse - Added
regex - Added
report_competitors - Added
report_contract_audit - Added
report_defi - Added
report_domain - Added
report_leads - Added
report_market - Added
report_repo - Added
report_seo - Added
report_stock - Added
report_wallet - Added
rss - Added
sec_events - Added
sign_verify - Added
sql_generate - Added
stablecoins - Added
structure - Added
swap_build - Added
swap_quote - Added
text_diff - Added
tokens_count - Added
tx_explain - Added
tx_simulate - Added
url_metadata - Added
url_unshorten
4 tool updates
- Added
report_company - Added
report_token - Added
token_holders - Added
token_liquidity
2 tool updates
- Changed
meeting10 fields changed- removed
Input schema / properties / actionRemoved value: -{ - "description": "create (default), status, end", - "type": "string" -} - added
Input schema / properties / daysAdded value: +{ + "type": "integer" +} - added
Input schema / properties / duration_minutesAdded value: +{ + "type": "integer" +} - removed
Input schema / properties / meeting_idRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / minutesRemoved value: -{ - "description": "5-120, default 30", - "type": "integer" -} - removed
Input schema / properties / namesRemoved value: -{ - "items": { - "type": "string" - }, - "type": "array" -} - changed
Input schema / properties / participants / descriptionPrevious value: -"1-10, default 2"New value: +"JSON [{tz, start, end, name}]" - changed
Input schema / properties / participants / typePrevious value: -"integer"New value: +"string" - added
Input schema / properties / timezonesAdded value: +{ + "description": "Comma list of IANA zones", + "type": "string" +} - added
Input schema / properties / weekendsAdded value: +{ + "type": "boolean" +}
- Added
meeting_room
19 tool updates
- Added
data_run - Added
decide - Added
doc_convert - Added
email_inbox - Added
events - Added
glm52_chat_completions - Added
kb - Added
latex - Added
llama1b_chat_completions - Added
llama3b_chat_completions - Changed
meeting10 fields changed- added
Input schema / properties / actionAdded value: +{ + "description": "create (default), status, end", + "type": "string" +} - removed
Input schema / properties / daysRemoved value: -{ - "type": "integer" -} - removed
Input schema / properties / duration_minutesRemoved value: -{ - "type": "integer" -} - added
Input schema / properties / meeting_idAdded value: +{ + "type": "string" +} - added
Input schema / properties / minutesAdded value: +{ + "description": "5-120, default 30", + "type": "integer" +} - added
Input schema / properties / namesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - changed
Input schema / properties / participants / descriptionPrevious value: -"JSON [{tz, start, end, name}]"New value: +"1-10, default 2" - changed
Input schema / properties / participants / typePrevious value: -"string"New value: +"integer" - removed
Input schema / properties / timezonesRemoved value: -{ - "description": "Comma list of IANA zones", - "type": "string" -} - removed
Input schema / properties / weekendsRemoved value: -{ - "type": "boolean" -}
- Added
metrics - Added
pdf_tools - Added
turn - Added
video_ask - Added
video_make - Added
voice_session - Added
voice_turn - Added
workflows
232 tool updates
- First observed
address_verify - First observed
airquality - First observed
airquality_compare - First observed
airquality_history - First observed
airquality_stations - First observed
answer - First observed
answer_cached - First observed
ask - First observed
audio_speech - First observed
audio_transcriptions - First observed
aviation - First observed
barcode - First observed
barcode_read - First observed
browser_act - First observed
browser_start - First observed
business_counts - First observed
calc - First observed
chart - First observed
chat_completions - First observed
chunk - First observed
cite - First observed
citecheck - First observed
cluster - First observed
code_run - First observed
coder_chat_completions - First observed
college - First observed
company - First observed
company_registry - First observed
congress - First observed
context - First observed
contracts - First observed
convert - First observed
crawl - First observed
crypto_price - First observed
db - First observed
deepseek_chat_completions - First observed
deepseek_pro_chat_completions - First observed
defi_tvl - First observed
defi_yields - First observed
demographics - First observed
demographics_area - First observed
devtools - First observed
docs_ask - First observed
document - First observed
domain - First observed
domain_audit - First observed
drug - First observed
economy - First observed
email_send - First observed
email_verify - First observed
embed - First observed
embeddings - First observed
energy - First observed
energy_electricity_prices - First observed
energy_forecast - First observed
energy_gas_prices - First observed
energy_mix - First observed
ens - First observed
errorfix - First observed
evcharging - First observed
extract - First observed
facts - First observed
fec - First observed
files - First observed
filings - First observed
firewall - First observed
fred_search - First observed
fred_series - First observed
fun - First observed
fx - First observed
gas - First observed
gemma_chat_completions - First observed
geocode - First observed
github - First observed
github_code - First observed
github_issues - First observed
github_search - First observed
glm_chat_completions - First observed
glm5_chat_completions - First observed
glm5_flash_chat_completions - First observed
gpt_oss_20b_chat_completions - First observed
gpt_oss_chat_completions - First observed
grade - First observed
granite_chat_completions - First observed
hazards - First observed
holidays - First observed
image_classify - First observed
image_convert - First observed
image_describe - First observed
image_diff - First observed
image_edit - First observed
image_fast - First observed
image_generate - First observed
image_inpaint - First observed
image_pro - First observed
images_generations - First observed
inbox - First observed
inflation_breakdown - First observed
inflation_calculator - First observed
ip - First observed
isochrone - First observed
jobboard - First observed
jobs - First observed
kimi_chat_completions - First observed
kimi_code_chat_completions - First observed
kya - First observed
labor - First observed
labor_state - First observed
large_chat_completions - First observed
legal - First observed
libdocs - First observed
link - First observed
llama4_chat_completions - First observed
llm - First observed
llm_large - First observed
macro_us - First observed
mailbox - First observed
map_static - First observed
markdown - First observed
media_convert - First observed
media_extract_audio - First observed
media_gif - First observed
media_info - First observed
media_thumbnail - First observed
media_trim - First observed
meeting - First observed
memory - First observed
mistral_chat_completions - First observed
moderate - First observed
moderations - First observed
nemotron_chat_completions - First observed
news - First observed
nft - First observed
nft_floor - First observed
nutrition - First observed
nutrition_recipe - First observed
ocr - First observed
office - First observed
office_convert - First observed
page_actions - First observed
papers - First observed
password_check - First observed
pdf - First observed
pdf_fill - First observed
pdf_to_images - First observed
perps - First observed
phone - First observed
places - First observed
plan - First observed
predictions - First observed
profile - First observed
qr - First observed
queue - First observed
qwen_chat_completions - First observed
qwen3_8_chat_completions - First observed
qwq_chat_completions - First observed
r1_chat_completions - First observed
random - First observed
rates - First observed
read_bulk - First observed
recession - First observed
rerank - First observed
research - First observed
rooms - First observed
route - First observed
route_matrix - First observed
rpc - First observed
sanctions - First observed
satellite - First observed
schedule - First observed
scrape - First observed
screenshot - First observed
sea_lion_chat_completions - First observed
search - First observed
second_opinion - First observed
sentiment - First observed
seo - First observed
serp - First observed
since - First observed
sitemap - First observed
solana_asset - First observed
solana_history - First observed
solana_nfts - First observed
solana_priority_fee - First observed
solana_wallet - First observed
solar - First observed
speak - First observed
speak_pro - First observed
spend - First observed
sql - First observed
storage - First observed
summarize - First observed
tasks - First observed
team - First observed
techstack - First observed
time - First observed
timestamp - First observed
token_chart - First observed
token_price - First observed
token_report - First observed
token_scan - First observed
token_solana - First observed
token_verdict - First observed
trade - First observed
transcribe - First observed
transcribe_pro - First observed
translate - First observed
translate_indic - First observed
trials - First observed
uk_companies_search - First observed
uk_company - First observed
uk_disqualified - First observed
uk_filings - First observed
uk_kyb - First observed
uk_officer - First observed
vat - First observed
vectors - First observed
vin - First observed
vision_ask - First observed
vision_locate - First observed
vulns - First observed
wages - First observed
wallet - First observed
wallet_nfts - First observed
wallet_portfolio - First observed
wallet_watch - First observed
watch - First observed
wayback - First observed
weather - First observed
x402_check - First observed
x402_find - First observed
zip
Related MCP Connectors
63 pay-per-call tools for agents: vision, text, data, web, blockchain. USDC on Base via x402.
186 pay-per-call tools: search, LLMs, UK KYB, FRED, Census, maps, crypto. x402 USDC.
45 pay-per-call AI agent tools: scraping, SEO, crypto data, lint, agent memory. x402 USDC on Base.
48 pay-per-call tools: search, scraping, PDF, OCR, LLM, crypto, DeFi, SEC. x402 USDC.
Related MCP Servers
AlicenseAqualityCmaintenancePay-per-call x402 APIs for AI agents: DeFi token safety (honeypot/tax simulation, A-F grade), EVM chain data, web access (markdown/screenshot/PDF), speech-to-text. USDC on Base, no account, no API key3MIT- AlicenseNot gradedqualityAmaintenancePay-per-call tools for AI agents via x402 (USDC on Base): web-to-Markdown, PDF, provenance (human vs synthetic), trusted lookup with citations, a 3.9M-business global directory, LatAm ID validators, agent-forged tools and 2,000+ proxied x402 services. No API keys, charged only on success, free trial without a wallet. Remote: https://toll402.dev/mcp · Local: npx -y toll402-mcpMIT
- AlicenseAqualityCmaintenanceProvides AI agents with 10 pay-per-call utility tools (QR generation, DNS lookup, OCR, etc.) using USDC on Base via the x402 protocol, with agent's private key never leaving the agent.1136 npmMIT
- FlicenseAqualityDmaintenancePay-per-call tools for AI agents including trust checks, due diligence, market data, and human-verified approvals, settled in USDC on Base via the x402 protocol.16-
Glama MCP Gateway
Add one secure layer between your agents and this server.