Skip to main content
Glama
plagtech

Spraay x402 MCP Server

by plagtech

💧 Spraay x402 MCP Server

Version Tools License: MIT

Full-stack DeFi infrastructure for AI agents — 183 pay-per-call tools, backed by the 192-endpoint Spraay x402 Gateway on Base, with Solana, Ethereum, XRP, and Stellar payment rails.

Connect Claude, Cursor, or any MCP client to onchain payments, batch payouts, swaps, bridging, payroll, invoicing, escrow, oracle data, analytics, 200+ AI models, GPU/compute, research APIs, search/RAG, and more. Agents pay USDC per request via the x402 protocol — no API keys, no accounts.

The tool list is generated from the live gateway manifest at build time (npm run sync), so the authoritative catalog and pricing always live at the gateway — see Tool catalog. 24 of the gateway's endpoints are free (no payment required).


Quick Start

Install and go — no config, no API keys, no env vars. On first run the server auto-creates a wallet, saves it to ~/.spraay/.session, and prints the address to stderr. Fund that address with USDC on Base and start calling tools.

Read Security & Wallet Safety — these tools move real funds.

One-line install (Claude Code)

claude mcp add spraay -s user -- npx -y spraay-x402-mcp

Manual config (Cursor / Claude Desktop)

Cursor (.cursor/mcp.json) or Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "spraay": {
      "command": "npx",
      "args": ["-y", "spraay-x402-mcp"]
    }
  }
}

That's it. The first run prints something like:

💧 Spraay created a new wallet: 0xABC…123
   Private key saved to ~/.spraay/.session (keep it safe — it controls funds).
   Fund this address with USDC on Base to start paying for tool calls.

Optional — bring your own wallet

To sign with a key you already control instead of the auto-created one, set EVM_PRIVATE_KEY in your environment (it overrides the session wallet). Never paste a raw key into a committed config file — use a dedicated hot wallet funded only with what the agent may spend. See Security & Wallet Safety.

Remote URL (no wallet on your machine)

Settlement is handled gateway-side; your client never holds a signing key.

{
  "mcpServers": {
    "spraay": {
      "url": "https://spraay-x402-mcp--plagtech.run.tools"
    }
  }
}

Smithery

smithery mcp add Plagtech/Spraay-x402-mcp

From source

git clone https://github.com/plagtech/spraay-x402-mcp
cd spraay-x402-mcp
npm install
npm run build
npm start                     # auto-creates a wallet on first run

Related MCP server: dyoe-agent-tools-mcp

Tool catalog

183 tools spanning the gateway's 33 categories. Highlights by area:

Area

What it covers

AI & Inference

200+ LLMs (OpenAI-compatible), wallet/tx classification, contract explanation, summaries

Compute

Text / image / video / TTS / STT / embeddings across Replicate, Chutes, OpenRouter; batch jobs

Compute Futures

Prepaid compute credits with tier discounts; draw down per inference

Bittensor

Decentralized inference, image gen, and embeddings via SN64 / SN19

Payments

Batch payouts up to 200 recipients (Base, XRP Ledger, Stellar); estimates

Payroll

Stablecoin payroll runs across Base, Ethereum, Solana

Invoicing & Escrow

Crypto-native invoices and milestone escrow (persistent)

DeFi & Data

Swaps (Uniswap V3 / Aerodrome), oracle prices/gas/FX, bridge quotes, balances, ENS/Basename

Analytics

Wallet profiles and decoded transaction history

Research

250M+ papers (OpenAlex), arXiv, Crossref, PubMed, PubChem, US Census, dictionary

Search & RAG

Web search, content extraction, question answering

Communication

Email, SMS, XMTP messaging, webhooks

Infrastructure

Multi-chain RPC, IPFS/Arweave storage, cron scheduling, structured logs

Identity & Compliance

KYC/sanctions screening, auth sessions, audit trail, crypto tax (FIFO, IRS 8949)

Supply Chain (SCTP)

Supplier registration, purchase orders, invoice verification, settlement

Robotics (RTP)

Register robots, dispatch paid tasks, escrow-backed completion

Trust & Safety

ProofLayer trust scores; free token-safety, address-safety, and tx-decode checks

24 free endpoints require no payment — gas/prices/chain-status, address & batch validation, ENS resolution, unit conversion, x402 discovery probes, and model/compute discovery.

For the exact, current tool list and per-tool pricing, query the live manifest:

curl https://gateway.spraay.app/.well-known/x402.json

Pricing ranges from $0.001 (reads) to ~$0.10 (payroll, escrow release, tax), settled in USDC on Base.


How it works

  1. An agent calls a tool (e.g. spraay_batch_execute).

  2. The MCP server hits the Spraay x402 Gateway.

  3. The gateway responds 402 Payment Required with a USDC amount.

  4. Remote mode: settlement is handled gateway-side. Local mode: @x402/axios signs a USDC micropayment from the auto-created (or overridden) wallet.

  5. The gateway validates payment and returns the data.


Security & Wallet Safety

These tools can initiate real USDC payments. Treat the server like any tool with funds access.

  • The auto-created wallet only holds what you send it. Fund it with only as much USDC as you're willing to let the agent spend. It starts empty, so a fresh install cannot move funds until you fund it; read-only tools work regardless.

  • The session key lives at ~/.spraay/.session. Protect that file like any secret — anyone who reads it controls the wallet. It's written with 0600 permissions on POSIX systems. Back it up if the funds matter; delete it to rotate to a new wallet on the next run.

  • Prefer the remote URL if you'd rather keep no signing key on your machine — settlement is handled gateway-side.

  • If you bring your own key via EVM_PRIVATE_KEY, use a dedicated hot wallet that controls no other assets, and never put a raw private key in a config file, issue, or any committed file — keep it in your shell environment only.

The published npm package ships only dist/, README, and LICENSE (verify with npm pack --dry-run) — no binaries, no build tooling, no install scripts.

Report security issues to security@spraay.app, not a public issue.


Requirements

  • Node.js 20+

  • MCP client — Claude Desktop, Cursor, or any MCP-compatible client

  • USDC on Base — fund the auto-created wallet (or your own); even $1 covers thousands of calls

Environment variables

None are required — the server runs with zero configuration. All of the following are optional overrides.

Variable

Required

Default

Description

EVM_PRIVATE_KEY

No

auto-created at ~/.spraay/.session

Override the auto-created wallet with your own key. Use a dedicated, funded-as-needed hot wallet.

SPRAAY_GATEWAY_URL

No

https://gateway.spraay.app

Override the gateway URL.


License

MIT

Available Tools

162 tools
spraay_agent_wallet_infoC
Read-only

Agent wallet info. Costs $0.005 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesaddress parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true and openWorldHint=true. The description adds value by disclosing the cost ($0.005 USDC per call) and the input style ('pass fields directly as typed arguments'). However, it does not discuss behavior on invalid inputs, rate limits, or response specifics, making it adequate but not thorough.

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

Conciseness4/5

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

The description is very short (two sentences) and front-loaded with the tool name and key attributes (cost, read-only). Every sentence provides some value, though the lack of detail on purpose and parameters prevents a perfect score.

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

Completeness3/5

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

Given the tool has a single parameter, annotations, and an output schema (not shown), the description is somewhat complete. It mentions cost and safety, but lacks context on when to use it among many wallet-related siblings and does not describe the output or prerequisites.

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

Parameters2/5

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

The schema has 100% coverage with one parameter 'address' described only as 'address parameter'. The description adds 'Pass the listed fields directly as typed arguments', which is a usage instruction rather than semantic clarification. It does not explain what type of address (e.g., blockchain, agent wallet ID) is expected, so the agent gains little extra meaning.

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

Purpose3/5

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

The description says 'Agent wallet info' which is vague and lacks a specific verb (e.g., 'retrieve' or 'get'). It implies the tool provides information about an agent wallet, but the action is not explicitly stated. The added context of cost and read-only helps slightly, but the core purpose is unclear compared to siblings like 'spraay_agent_wallet_predict' which has a clearer verb.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives like 'spraay_agent_wallet_predict' or 'spraay_agent_wallet_provision'. The description only states 'Read-only' and 'Pass the listed fields directly as typed arguments', which are not usage guidelines for selecting the tool.

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

spraay_agent_wallet_predictA
Read-only

Predict wallet address. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesagentId parameter
ownerAddressYesownerAddress parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already provide readOnlyHint and openWorldHint. Description adds cost ($0.001 USDC) and reasserts read-only, but no additional behavioral details beyond what annotations convey.

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

Conciseness5/5

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

Two sentences, no waste. First sentence states purpose, second adds cost and safety context. Efficient and front-loaded.

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

Completeness4/5

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

With output schema present and high schema coverage, the description sufficiently covers key aspects. It could explain what prediction is based on, but overall adequate.

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

Parameters3/5

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

Schema coverage is 100% with parameter descriptions. Description only instructs to pass fields directly, adding no semantic meaning beyond the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

Clearly states 'Predict wallet address' using a specific verb and resource. Distinguishes from sibling tools like wallet_info, wallet_provision, which have different purposes.

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

Usage Guidelines3/5

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

Mentions cost and read-only nature, which helps decide when to use, but does not explicitly state when not to use or compare with sibling tools. No alternatives named.

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

spraay_agent_wallet_provisionB

Provision agent wallet. Costs $0.05 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNomode parameter
agentIdYesagentId parameter
agentTypeNoagentType parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations indicate mutation (readOnlyHint=false). Description adds cost ($0.05 USDC) and states it's a provisioning action, but does not disclose idempotency, side effects, or authorization needs. Provides some value beyond annotations.

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

Conciseness5/5

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

Two sentences: first states purpose, second adds cost and a prompt. No unnecessary words. Front-loaded with key information.

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

Completeness3/5

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

Covers basic purpose and cost, but lacks prerequisites, error handling, and output details (though output schema exists). Adequate but with gaps.

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

Parameters2/5

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

Schema descriptions are tautological (e.g., 'agentId parameter'), offering no added meaning. The tool description only says 'Provide the listed fields as typed arguments,' which is obvious. Despite 100% schema coverage, semantics are poor.

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

Purpose5/5

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

The description 'Provision agent wallet' uses a specific verb and resource, clearly indicating the tool creates or sets up an agent wallet. It distinguishes from sibling tools like info, predict, revoke_key, and session_key, which serve different purposes.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Does not mention prerequisites (e.g., agent existence, funding) or exclusion criteria (e.g., if wallet already exists).

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

spraay_agent_wallet_revoke_keyC

Revoke session key. Costs $0.02 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletAddressYeswalletAddress parameter
sessionKeyAddressYessessionKeyAddress parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already indicate mutability and non-destructiveness. Description adds only cost info, not behavioral details like side effects or return behavior.

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

Conciseness5/5

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

Two short, front-loaded sentences. First states purpose, second adds cost and instructions. No wasted words.

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

Completeness2/5

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

Missing prerequisites, error conditions, and context about revocation effects. Output schema exists but not described. Incomplete for a mutation tool.

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

Parameters1/5

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

Schema descriptions are tautological (e.g., 'walletAddress parameter'). Tool description adds no parameter meaning beyond schema.

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

Purpose5/5

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

Description clearly states 'Revoke session key,' specifying verb and resource. It distinguishes from sibling 'spraay_agent_wallet_session_key' which likely creates/manages keys.

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

Usage Guidelines2/5

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

Mentions cost and to provide fields, but lacks when-to-use, prerequisites, or alternatives. No guidance on when not to use.

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

spraay_agent_wallet_session_keyB

Add session key. Costs $0.02 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
durationHoursYesdurationHours parameter
spendLimitEthYesspendLimitEth parameter
walletAddressYeswalletAddress parameter
sessionKeyAddressYessessionKeyAddress parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.2/5.0
Behavior3/5

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

The description adds cost information which supplements annotations. Annotations indicate readOnlyHint=false and destructiveHint=false, so it's a non-destructive mutation. The description does not contradict annotations but does not elaborate on other behaviors like idempotency or error conditions. It adds some value beyond structured fields.

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

Conciseness5/5

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

The description is very concise, two sentences, with the purpose and cost front-loaded. Every sentence serves a purpose without fluff, making it efficient for quick understanding.

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

Completeness2/5

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

Given the tool's complexity (4 required params, mutation, cost), the description lacks context on prerequisites, return values (though output schema exists), failure modes, or the purpose of a session key. More information is needed for an agent to use it effectively.

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

Parameters3/5

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

Schema descriptions are trivial ('durationHours parameter'), and the description only says 'Provide the listed fields as typed arguments,' adding no extra meaning. With 100% schema coverage, baseline is 3, and the description does not enhance parameter understanding.

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

Purpose4/5

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

The description states 'Add session key' as a clear verb+resource, indicating the tool's action. However, it does not explicitly differentiate from sibling tools like spraay_agent_wallet_revoke_key, which may also involve keys. The purpose is clear but lacks sibling distinction.

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

Usage Guidelines2/5

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

The description mentions a cost of $0.02 USDC per call, which is a usage guideline, but does not specify when to use this tool vs alternatives (e.g., revoke_key). There is no guidance on prerequisites (e.g., wallet existence) or context for the session key addition.

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

spraay_analytics_txhistoryA
Read-only

Get decoded transaction history for any address on Base. Returns transaction types, values, timestamps, and decoded method calls. Costs $0.003 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax transactions to return (default: '10', max: '100')
addressYesWallet address to get history for

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description adds value by noting the cost ($0.003 USDC). However, it lacks details on behavior beyond cost, such as rate limits, data freshness, or behavior for invalid addresses. The description does not contradict annotations, so no contradiction flag.

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

Conciseness5/5

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

Two concise sentences: first explains the function and output, second mentions cost. Every sentence serves a purpose with no fluff. The description is front-loaded with the core action.

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

Completeness4/5

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

With an output schema present, the description does not need to elaborate on return values. It covers the core purpose, scope (Base chain), and cost. Minor gaps exist (e.g., error handling, but those are acceptable for a simple read-only tool). The description is largely complete for its complexity.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter documented (address pattern, limit default/max). The description adds no additional insight into parameter meaning or usage beyond what the schema already provides, earning the baseline score of 3.

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

Purpose5/5

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

The description clearly states the tool's function: 'Get decoded transaction history for any address on Base.' It specifies the returned data types (transaction types, values, timestamps, decoded method calls) and includes cost. This distinguishes it from sibling tools like spraay_analytics_wallet which likely focus on portfolio, not transaction history.

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

Usage Guidelines3/5

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

The description provides the use case ('transaction history for any address on Base') but does not explicitly guide when to use versus alternatives or mention exclusions. Given the large set of sibling tools, more explicit differentiation would be helpful, but the purpose is clear enough for basic selection.

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

spraay_analytics_walletA
Read-only

Get a comprehensive wallet profile including ETH + token balances, wallet age, entity classification, and portfolio breakdown on Base. Costs $0.005 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesWallet address to analyze (e.g. '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true and openWorldHint=true, establishing a safe read operation. The description adds value by specifying the cost, the Base chain focus, and the components of the profile (balances, age, classification, portfolio), providing behavioral context 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.

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the primary action ('Get a comprehensive wallet profile') and efficiently conveys scope, content, and cost. No wasted words.

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

Completeness4/5

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

The tool has an output schema (not shown) and the description lists key data fields, so the description is sufficiently complete for an agent to understand the tool's output. However, given the large number of sibling tools, a brief note on differentiation would enhance completeness.

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

Parameters3/5

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

Schema coverage is 100%, and the parameter 'address' is already well-described in the schema with a pattern and example. The description does not add additional meaning or constraints beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb 'Get' and resource 'comprehensive wallet profile', listing specific data points (ETH + token balances, wallet age, etc.). However, it does not explicitly distinguish this tool from the sibling 'spraay_agent_wallet_info', which may cause confusion.

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

Usage Guidelines3/5

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

The description mentions the cost ($0.005 USDC), which is a practical guideline. However, there is no explicit statement about when to use this tool versus alternatives, nor any exclusion criteria. Usage context is implied but not fully articulated.

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

spraay_audit_logA

Record an immutable audit trail entry for payments, escrows, compliance actions, and other events. Data persists in Supabase. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYesActor wallet address who performed the action
actionYesAction type (e.g. 'payment.sent', 'escrow.created', 'kyc.completed', 'auth.session_created')
txHashNoRelated on-chain transaction hash
detailsNoAdditional details as key-value pairs
resourceYesResource identifier (e.g. 'batch_123', 'ESC-A1B2', 'INV-C3D4')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior4/5

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

The description adds behavioral context beyond annotations: immutability, persistence in Supabase, and cost ($0.001 USDC). No contradiction with annotations. Does not detail auth requirements or rate limits, but sufficient.

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

Conciseness5/5

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

Two concise sentences. Front-loaded with purpose and includes key details (immutability, storage, cost). No wasted words.

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

Completeness4/5

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

Given output schema exists, return value explanation is not needed. Description covers purpose, usage examples, persistence, and cost. Lacks explicit mention of required fields but schema covers that. Adequate.

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

Parameters3/5

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

Schema coverage is 100% with each parameter described. The description does not add extra meaning beyond the schema, but the schema itself is clear. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Record' and the resource 'audit trail entry'. It specifies types of events (payments, escrows, compliance actions) and differentiates from sibling spraay_audit_query which is for querying.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives. It mentions immutability and cost, but lacks guidance on when not to use it or comparison with other log-related tools.

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

spraay_audit_queryB
Read-only

Query the audit trail by actor, action, resource, or time range. Returns matching entries sorted newest first. Data persists in Supabase. Costs $0.005 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
actorNoFilter by actor wallet address
limitNoMax results (default: '50', max: '500')
sinceNoStart time in ISO 8601 (e.g. '2026-03-01T00:00:00Z')
untilNoEnd time in ISO 8601
actionNoFilter by action type (e.g. 'payment.sent')
resourceNoFilter by resource identifier (partial match)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations declare readOnlyHint and openWorldHint, so safety is clear. Description adds that data persists in Supabase and costs $0.005 per query, but does not disclose rate limits, authentication requirements, or default behavior when no parameters are provided.

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

Conciseness5/5

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

Three sentences cover core functionality, sorting, and cost. Front-loaded with the main action. No redundant information.

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

Completeness3/5

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

Output schema exists, so return type is covered. However, the description does not specify default behavior when no filters are applied (e.g., returns most recent entries), nor does it mention pagination beyond the limit parameter. For a tool with all optional parameters, more context on expected output with no filters would improve completeness.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all 6 parameters. The description reiterates filter dimensions (actor, action, resource, time range) but adds no new meaning beyond the schema. No parameter relationships or combinations are explained.

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

Purpose4/5

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

Description clearly states the tool queries the audit trail with filters (actor, action, resource, time range) and returns sorted results. The name 'audit_query' contrasts with sibling 'spraay_audit_log' (likely a write tool) and 'spraay_logs_query' (for general logs), but the description does not explicitly distinguish them.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like spraay_logs_query or spraay_audit_log. The description does not mention prerequisites, when not to use, or trade-offs.

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

spraay_auth_sessionA

Create an authenticated session with scoped permissions and configurable TTL. Returns a session token (spr_...) for use in Authorization headers. Data persists in Supabase. Costs $0.005 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEthereum address to create session for
ttlSecondsNoSession TTL in seconds (60-86400, default: 3600 = 1 hour)
permissionsNoScoped permissions array (e.g. ['batch:execute', 'swap:execute']). Omit or pass ['*'] for all permissions.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations (readOnlyHint=false, idempotentHint=false, destructiveHint=false) already indicate non-read-only and non-idempotent. The description adds value by disclosing persistence in Supabase, cost per use, and the token format. This goes beyond annotations and helps the agent understand side effects and costs.

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

Conciseness5/5

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

The description is only three sentences, each serving a distinct purpose: purpose, token usage, and cost/persistence. It is front-loaded with the most critical information, with zero wasted words.

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

Completeness5/5

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

Given the output schema exists (not shown in description but indicated by context signals), the description covers all essential aspects: creation, scoping, TTL, token return, persistence, and cost. It is fully adequate for a tool of this complexity.

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

Parameters3/5

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

Schema coverage is 100% with clear descriptions for all three parameters (address, ttlSeconds, permissions). The description does not add extra parameter-specific meaning beyond what the schema provides, so it meets the baseline expectation without further enhancement.

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

Purpose5/5

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

The description clearly states the verb 'create' and the resource 'authenticated session', with specifics about scoped permissions, TTL, and token format (spr_...). This effectively distinguishes it from sibling tools like spraay_auth_verify, which handles verification.

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

Usage Guidelines4/5

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

The description provides important context: data persistence in Supabase and a cost of $0.005 USDC, implying it is a paid operation. However, it does not explicitly state when to use this tool versus alternatives (e.g., spraay_auth_verify). The cost hint guides usage, but explicit when-not or alternatives are missing.

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

spraay_auth_verifyA
Read-only

Verify a session token and check its permissions, expiry, and associated address. Data persists in Supabase. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesSession token to verify (e.g. 'spr_abc123...')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds useful behavioral context: data persists in Supabase and costs $0.001 USDC, which goes 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.

Conciseness5/5

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

Three sentences, front-loaded with the main purpose, followed by two concise contextual sentences. No unnecessary words or repetition.

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

Completeness5/5

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

For a simple tool with one parameter, explicit output schema, and annotations, the description covers purpose, behavior, and cost sufficiently. No gaps remain.

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

Parameters3/5

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

Schema coverage is 100% and the token parameter is well-described with example format. The description does not add extra meaning for the parameter beyond what the schema provides.

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

Purpose5/5

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

The description clearly states the verb 'Verify' and resource 'session token', and lists the specific checks (permissions, expiry, associated address). It distinguishes from sibling tools like spraay_auth_session which likely creates sessions.

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

Usage Guidelines3/5

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

The description lacks explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it or provide context for selection among sibling auth tools.

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

spraay_balancesA
Read-only

Get ETH + ERC-20 token balances for any wallet on Base. Returns formatted balances with USD values where available. Costs $0.002 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokensNoComma-separated custom ERC-20 contract addresses to include
addressYesWallet address to check (e.g. '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045')
showAllNoSet to 'true' to include zero balances

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior5/5

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

Annotations (readOnlyHint, openWorldHint) already indicate a safe, read-only operation. The description adds valuable context: the cost ($0.002 USDC) and that balances are returned with USD values where available. No contradictions; the description enriches the behavioral profile beyond annotations.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose and expected output, followed by cost. No unnecessary words; every sentence earns its place. Ideal conciseness for a simple tool.

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

Completeness5/5

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

Given the tool's simplicity and the presence of an output schema, the description is complete. It covers what the tool does, its chain scope, return format, and cost. No missing critical information for an agent to decide to invoke it.

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

Parameters3/5

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

Schema coverage is 100% and descriptions for each parameter are clear (e.g., tokens as comma-separated addresses, showAll as include zero balances). The description adds little extra meaning beyond 'Get ETH + ERC-20 token balances', which aligns with the address parameter. Minimal added value over schema.

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

Purpose5/5

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

The description clearly states the tool gets ETH and ERC-20 token balances for any wallet on Base, with formatted balances and USD values. It distinguishes from siblings like spraay_portfolio_tokens by specifying the chain (Base) and the scope (any wallet). The action verb 'Get' is specific and appropriate.

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

Usage Guidelines3/5

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

The description implies usage for checking balances on Base, but does not explicitly guide when to use this tool over alternatives (e.g., spraay_portfolio_tokens, spraay_free_prices). No when-not or context exclusions are provided; the usage context is only implied.

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

spraay_batch_estimateA

Estimate gas cost for a batch payment before executing. Returns estimated gas in wei and USD equivalent. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNoToken symbol (default: USDC)
recipientCountYesNumber of recipients (1-200)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.8/5.0
Behavior4/5

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

The description adds clarity beyond annotations by stating it's an estimate (non-mutating despite readOnlyHint=false), returning gas in wei and USD, and costing $0.001 USDC. No contradiction with annotations.

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

Conciseness5/5

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

The description is two concise sentences, front-loaded with purpose and immediately followed by return and cost details. No wasted words.

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

Completeness4/5

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

Given an output schema exists, the description is fairly complete, covering the return type and cost. Could mention prerequisites like having a funded wallet or chain context, but not critical.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description does not add additional meaning to the parameters beyond what the schema already provides (token default, recipientCount range).

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

Purpose4/5

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

The description clearly states it estimates gas cost for a batch payment, with specific verb 'estimate' and resource. However, it does not explicitly differentiate from other estimate tools like spraay_stellar_estimate or spraay_free_estimate_batch, which are for different contexts.

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

Usage Guidelines3/5

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

It implies usage before executing a batch payment ('before executing') and mentions a cost of $0.001 USDC, but does not provide explicit when-to-use/when-not-to-use guidance or mention alternatives like spraay_batch_execute.

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

spraay_batch_executeA

Execute a batch payment to up to 200 recipients in a single Base transaction via the Spraay protocol. Supports any ERC-20 token or native ETH. Returns unsigned transaction data for the sender to sign. Costs $0.01 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesToken symbol (e.g. 'USDC', 'ETH', 'WETH', 'DAI') or ERC-20 contract address on Base
senderYesSender wallet address that will sign the transaction
amountsYesArray of amounts in token units (e.g. '100' for 100 USDC). Must match recipients length.
recipientsYesArray of 1-200 recipient wallet addresses

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior4/5

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

Annotations confirm non-read-only and non-destructive behavior. The description adds cost ($0.01 USDC), return type (unsigned transaction data), and token support. No contradictions with annotations. Could mention side effects like deducting fees or requiring wallet approval, but overall good.

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

Conciseness5/5

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

Two sentences, no redundant information. Every sentence adds value: purpose, constraints, return type, cost. Highly efficient and front-loaded.

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

Completeness4/5

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

With 4 required parameters and an output schema (not shown but present), the description covers the core functionality, return type, and cost. It lacks prerequisites (e.g., active wallet or funds) but is mostly complete for an execution tool. Output schema handles return details.

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

Parameters3/5

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

Schema coverage is 100% with all parameters described. The description adds context about the batch (up to 200 recipients) and token formats (symbol or address), but does not significantly expand beyond schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Execute', resource 'batch payment', and key constraints: up to 200 recipients, single Base transaction via Spraay protocol. It distinguishes from siblings like spraay_payroll_execute by specifying the batch nature and protocol.

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

Usage Guidelines3/5

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

The description implies usage for batch payments but does not explicitly state when to use or avoid this tool versus alternatives like spraay_batch_estimate. No exclusions or comparative guidance are provided.

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

spraay_bittensor_chat_completionsC

Bittensor inference. Costs $0.03 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesmodel parameter
messagesYesmessages parameter
max_tokensNomax_tokens parameter
temperatureNotemperature parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations are present but the description adds only the cost ($0.03 USDC per call). No other behavioral traits like permissions, rate limits, or error handling are disclosed. The 'openWorldHint' annotation suggests the tool may have side effects beyond the obvious, but the description does not elaborate.

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

Conciseness4/5

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

The description is concise at two sentences, front-loaded with the purpose. However, it could be more structured with dedicated sections. No wasted words.

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

Completeness2/5

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

Given the tool's complexity (4 parameters, 2 required, output schema exists), the description is very incomplete. It does not explain the expected format of messages, the role of model, or the effect of optional parameters. Costs are mentioned but no further context about the inference behavior.

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

Parameters3/5

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

Schema coverage is 100% with parameter descriptions, but they are tautological ('model parameter', 'messages parameter'). The description adds 'Provide the listed fields as typed arguments' which adds no semantics. Baseline 3 is appropriate as the description neither enhances nor harms parameter understanding.

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

Purpose3/5

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

The description states 'Bittensor inference' which gives a general idea but lacks specificity. It does not explicitly mention chat completions or differentiate from sibling tools like spraay_bittensor_embeddings. The name provides some clarity, but the description must stand alone.

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

Usage Guidelines1/5

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

No guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or when to avoid this tool. Users are left to infer from the name alone.

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

spraay_bittensor_embeddingsC

Bittensor embeddings. Costs $0.005 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesinput parameter
modelYesmodel parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.1/5.0
Behavior2/5

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

Annotations are sparse (no readOnly, idempotent, or destructive hints). The description adds only the cost and a generic instruction to provide typed arguments. It does not disclose side effects, required permissions, or any behavioral quirks beyond what annotations already declare. With openWorldHint=true, the description should explain that the schema may not fully constrain inputs, but it does not.

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

Conciseness3/5

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

The description is very short (3 sentences) and front-loaded. However, the brevity comes at the cost of missing critical details like the action verb and parameter semantics. It is not well-structured; the cost is mentioned but not placed in context of usage.

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

Completeness2/5

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

Given the existence of a similar sibling tool ('spraay_compute_embeddings'), the description is insufficient for correct selection. It does not differentiate from compute_embeddings. Although an output schema exists, the description does not leverage it to explain expected results. The tool is simple (2 params), but even so, completeness is lacking.

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

Parameters2/5

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

The input schema has 100% coverage but the parameter descriptions are tautological ('input parameter', 'model parameter'). The description adds no meaningful semantics beyond the schema, only a redundant instruction to provide typed arguments. It fails to explain what values are expected for 'model' or 'input' (e.g., text, IDs).

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

Purpose2/5

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

The description 'Bittensor embeddings' is a noun phrase lacking an explicit verb. It does not clearly state that the tool generates or creates embeddings, leaving the action ambiguous. It is not a tautology because it provides some resource context, but it is vague.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as 'spraay_compute_embeddings'. The cost mention ('Costs $0.005 USDC per call') is a constraint but does not help the agent decide between similar tools. No exclusions or usage contexts are given.

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

spraay_bittensor_healthC
Read-only

Bittensor health. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description's 'Read-only' adds little. It does add that query parameters should be passed as a JSON string via 'params', which is useful. However, it does not disclose any side effects or specific behavior (e.g., what endpoints are called, how parameters map).

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

Conciseness2/5

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

The description is very short (3 sentences) but fails to convey essential information about the tool's purpose. It is under-specified rather than concisely informative.

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

Completeness2/5

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

Given that an output schema exists, the description does not need to detail return values. However, it does not explain what 'health' entails, what query parameters are accepted (no examples or valid keys), or how the output relates to user needs. The description is incomplete for a health-check tool.

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

Parameters3/5

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

Schema description coverage is 100% (the one parameter has a description). The description repeats the schema's guidance ('Pass any query parameters as a JSON string via the params argument') without adding new meaning or examples of valid parameter keys.

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

Purpose2/5

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

The description says 'Bittensor health' but does not specify what aspect of health is checked (network status, validator health, etc.). It is vague and lacks a specific verb-resource combination, making it hard to distinguish from other bittensor tools like spraay_bittensor_chat_completions or spraay_bittensor_models.

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

Usage Guidelines3/5

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

The description states 'Free to call' and 'Read-only', which implies safe usage but does not provide explicit guidance on when to use this tool versus alternatives or when not to use it. No sibling differentiation is mentioned.

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

spraay_bittensor_images_generationsC

Bittensor image gen. Costs $0.05 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
nNon parameter
sizeNosize parameter
modelNomodel parameter
promptYesprompt parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.9/5.0
Behavior3/5

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

The annotations are minimal (readOnlyHint, destructiveHint, idempotentHint set to false, openWorldHint true). The description adds the cost per call, which is valuable beyond annotations, but does not disclose other behavioral traits like failure modes, rate limits, or auth requirements.

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

Conciseness4/5

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

Two sentences are concise and front-loaded with the core purpose. However, the second sentence is somewhat redundant and could be omitted or integrated.

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

Completeness2/5

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

Despite having an output schema, the description lacks context on return values, potential errors, or constraints on input fields like size or model. For a tool with 4 parameters, more guidance on how to use them effectively is expected.

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

Parameters2/5

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

Schema coverage is 100%, so baseline is 3, but the description adds no meaningful semantics beyond the parameter names. The phrase 'Provide the listed fields as typed arguments' is redundant and does not clarify parameter formats, constraints, or default values.

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

Purpose4/5

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

The description clearly states it is for image generation on Bittensor and mentions the cost, making the purpose clear. However, it does not explicitly differentiate from sibling image generation tools like spraay_compute_image_generation, but the name and context are sufficient.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like spraay_compute_image_generation. The cost hint is useful but insufficient for deciding between similar tools.

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

spraay_bittensor_modelsC
Read-only

Bittensor models. Costs $0.001 USDC per call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.8/5.0
Behavior4/5

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

The description adds cost information ($0.001 USDC per call) beyond the annotations, which is valuable. It confirms read-only behavior, aligning with annotation. No contradictions.

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

Conciseness4/5

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

The description is short (three sentences) and front-loaded with the vague purpose. It could be improved by adding a verb, but it is not verbose.

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

Completeness2/5

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

Despite having an output schema, the description fails to clarify what the tool does with 'Bittensor models' or what the output represents. The purpose is too vague for an agent to confidently select this tool.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds 'any query parameters' which slightly clarifies flexibility, but largely repeats the schema.

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

Purpose2/5

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

The description states 'Bittensor models' without a verb, leaving ambiguity about whether it lists, retrieves, or queries models. It does not clearly specify the action performed, making it vague compared to sibling tools with clearer names.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus other Bittensor tools like spraay_bittensor_chat_completions or spraay_bittensor_embeddings. The cost and read-only nature are mentioned but not in a decision-making context.

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

spraay_bridge_chainsA
Read-only

List all chains supported by the Spraay bridge aggregator (LI.FI). Returns chain names, IDs, and supported tokens. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint and openWorldHint. Description adds cost information ($0.001 USDC) and return content, which are useful beyond annotations.

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

Conciseness5/5

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

Two concise sentences, front-loaded with key action 'List all chains'. No unnecessary information.

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

Completeness5/5

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

Complete for a parameterless tool with output schema: description covers return content (chain names, IDs, supported tokens) and cost.

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

Parameters4/5

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

No parameters, so description does not need to add any. Baseline 4 applies.

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

Purpose5/5

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

Description explicitly states it lists all chains supported by the Spraay bridge aggregator (LI.FI) and specifies return fields (chain names, IDs, supported tokens). Clearly distinguishes from siblings like spraay_bridge_quote.

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

Usage Guidelines3/5

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

Implied usage for getting supported chains before bridging, but no explicit when-to-use or when-not-to-use guidance or alternatives.

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

spraay_bridge_quoteA

Get a cross-chain bridge quote via LI.FI aggregator. Supports Base, Ethereum, Arbitrum, Polygon, BNB Chain, Avalanche, Optimism, and more. Returns estimated output, fees, and execution time. Costs $0.005 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesToken symbol to bridge (e.g. 'USDC', 'ETH')
amountYesAmount in smallest units (e.g. '1000000' for 1 USDC with 6 decimals)
toChainYesDestination chain name (e.g. 'ethereum', 'arbitrum', 'polygon')
fromChainYesSource chain name (e.g. 'base', 'ethereum', 'arbitrum', 'polygon')
fromAddressYesSender wallet address on source chain

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

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

Discloses cost ($0.005 USDC), which is critical behavior beyond annotations. Annotations show readOnlyHint=false, but description clarifies it's a paid quote. Could add more about validity period or execution guarantees.

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

Conciseness5/5

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

Three sentences, front-loaded with main purpose. No wasted words. Efficient and clear.

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

Completeness4/5

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

Description covers cost, supported chains, and return info (estimated output, fees, execution time). Output schema exists so return details are complete. Could mention if quote is valid for limited time.

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

Parameters3/5

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

Schema has 100% coverage with descriptions. Description adds no extra parameter details beyond listing supported chains, which is already in schema descriptions. Baseline 3 for high schema coverage.

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

Purpose5/5

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

Description clearly states it gets a cross-chain bridge quote via LI.FI aggregator, listing many supported chains. Differentiates from siblings like spraay_bridge_chains (chains list) and spraay_swap_quote (single-chain swap).

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

Usage Guidelines4/5

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

Explicitly states when to use (getting a cross-chain quote) and implicit context from siblings. Does not explicitly exclude single-chain swaps or alternatives, but purpose is clear enough.

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

spraay_chatA

Send a message to 200+ AI models (GPT-4o, Claude, Llama 3, Gemini, Mistral, etc.) via the Spraay x402 Gateway. Returns the model's completion. Use spraay_models to discover available model IDs. Costs $0.005 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel ID in OpenRouter format (e.g. 'openai/gpt-4o-mini', 'anthropic/claude-3.5-sonnet', 'meta-llama/llama-3-70b-instruct'). Use spraay_models to list all.openai/gpt-4o-mini
messageYesUser message to send to the model
systemPromptNoOptional system prompt to set model behavior and context

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false and openWorldHint=true. The description adds cost information ($0.005 USDC) and states it returns a completion, providing utility beyond annotations. No contradictions found.

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

Conciseness5/5

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

The description is two sentences long, front-loaded with the core action, and contains no redundant information. Every word adds value.

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

Completeness4/5

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

The description covers the tool's purpose, required prerequisite (model discovery), and cost. An output schema exists, so return value explanation is unnecessary. It omits potential error scenarios or prerequisites like wallet balance, but overall is sufficiently complete for a straightforward chat tool.

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

Parameters4/5

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

With 100% schema description coverage, the baseline is 3. The description adds context about model format, discovery tool, and pricing, going beyond the schema's parameter descriptions, earning a higher score.

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

Purpose4/5

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

The description clearly states the action ('Send a message to 200+ AI models via Spraay x402 Gateway') and mentions it returns a completion. It references spraay_models for discovery, distinguishing the lookup tool, but does not explicitly differentiate from other AI chat tools like spraay_bittensor_chat_completions or spraay_compute_text_inference.

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

Usage Guidelines3/5

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

The description advises to use spraay_models to discover model IDs, providing some pre-usage guidance. However, it lacks explicit when-to-use or when-not-to-use directives relative to sibling tools, leaving the agent to infer appropriate context.

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

spraay_classify_addressA

AI-powered wallet classification with risk scoring. Analyzes on-chain activity to classify addresses as whale, retail, MEV bot, exchange, bridge, or contract. Returns risk score, classification, confidence, and behavioral signals. Costs $0.008 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEthereum/Base address to classify (e.g. '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.6/5.0
Behavior1/5

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

The description claims the tool 'analyzes' on-chain activity (implying read-only), but annotations set readOnlyHint=false, indicating it is not read-only. This contradiction undermines transparency.

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

Conciseness5/5

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

The description is three sentences, front-loading the purpose, and includes key details like cost and output types. No wasted words.

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

Completeness4/5

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

Given the presence of an output schema (mentioned), the description covers return value types and cost. Minor gap: no mention of prerequisites (e.g., address must be on-chain), but overall sufficient for a single-parameter tool.

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

Parameters3/5

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

Schema coverage is 100%, and the description does not add meaning beyond what the schema provides for the single parameter. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's function: AI-powered wallet classification with risk scoring, listing specific classification types and outputs. It distinguishes itself from siblings like spraay_classify_tx (transaction classification) and other wallet-related tools.

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

Usage Guidelines4/5

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

The description provides context (cost of $0.008 USDC) and what the tool does, but does not explicitly state when to use vs alternatives or when not to use. This leaves room for improvement in guiding agent selection.

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

spraay_classify_txA

AI-powered transaction classification with risk scoring. Decodes, categorizes, and analyzes any Base transaction. Returns type (swap, transfer, contract call, etc.), risk level, and decoded parameters. Costs $0.008 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
hashYesTransaction hash to classify (e.g. '0xabc123...')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations provide readOnlyHint and destructiveHint, but the description adds crucial cost information ($0.008 USDC) and states it's AI-powered. It does not contradict annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose and key actions, no wasted words. Includes returns and cost in second sentence.

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

Completeness5/5

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

Given the output schema exists and parameter count is 1, the description covers purpose, returns, and cost adequately. It is complete for a classification tool.

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

Parameters3/5

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

Schema coverage is 100% with a single parameter 'hash' described in the schema. The description adds minimal extra meaning beyond stating 'transaction hash to classify'.

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

Purpose5/5

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

The description clearly states it classifies transactions with risk scoring, specifying it handles Base transactions. It distinguishes from siblings like spraay_classify_address and spraay_contract_read by focusing on transaction hashes and decoded parameters.

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

Usage Guidelines3/5

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

The description implies usage when transaction classification and risk scoring are needed, but does not explicitly state when to use or avoid this tool versus alternatives like spraay_classify_address or spraay_contract_read.

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

spraay_compute_batchA

Batch compute — submit up to 50 jobs in a single x402 payment with 10% discount. Mix any types: text-inference, image-generation, tts, stt, embeddings, video-generation. Costs $0.05+ USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobsYesArray of compute jobs (max 50)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.9/5.0
Behavior3/5

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

Adds cost and discount details beyond annotations, but does not disclose return value (output schema exists), atomicity, or failure modes. Annotations (openWorldHint, readOnlyHint=false) are not contradicted.

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

Conciseness5/5

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

Two sentences, front-loaded with key info (batch size, discount, mix types, cost). No unnecessary words.

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

Completeness3/5

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

Covers core purpose and payment, but lacks workflow details (e.g., submission returns job IDs, execution status). Output schema may fill gaps, but description could be more complete.

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

Parameters3/5

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

Schema coverage is 100%, and description only repeats job types and count already in schema. No additional meaning provided beyond what schema offers.

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

Purpose5/5

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

Description clearly states verb 'submit' and resource 'batch compute jobs', specifies scope (up to 50 jobs, mixed types), and differentiates from sibling single-job compute tools.

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

Usage Guidelines4/5

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

Mentions cost savings and discount, implying use for batching multiple jobs. Does not explicitly state when not to use but sibling context provides alternatives. Clear but not exhaustive.

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

spraay_compute_embeddingsA

Generate text embeddings via Spraay Compute. For RAG, semantic search, clustering. Costs $0.005 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesText string or array of strings to embed
modelNoEmbedding model (default 'auto')auto

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already indicate non-destructive behavior (destructiveHint=false, readOnlyHint=false). The description adds valuable context: cost ($0.005 USDC) and that it uses 'Spraay Compute', which implies a paid service. This goes beyond what annotations provide.

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

Conciseness5/5

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

Two sentences that efficiently convey the core action, use cases, and cost. No unnecessary words; front-loaded with the primary purpose.

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

Completeness4/5

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

For a tool with two parameters and an output schema, the description covers what it does, why it's used, and cost. It could mention the output format (e.g., vector array) but the output schema likely handles that. Overall, it is complete enough for agent selection.

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

Parameters3/5

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

Schema coverage is 100%, and the description does not add further meaning beyond what the schema already describes (input string/array, model default). Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool generates text embeddings and lists use cases (RAG, semantic search, clustering). However, it does not explicitly differentiate from sibling tools like spraay_bittensor_embeddings, which likely serve a similar purpose.

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

Usage Guidelines3/5

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

The description mentions typical use cases (RAG, semantic search, clustering), implying when to use it, but provides no guidance on when not to use it or alternatives (e.g., bittensor_embeddings).

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

spraay_compute_estimateA
Read-only

Estimate compute cost before committing. Returns price breakdown per job. FREE — no x402 payment required.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobsYesJobs to estimate pricing for

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true and openWorldHint=true. The description adds 'FREE — no x402 payment required' and 'Returns price breakdown per job', which are useful behavioral traits 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.

Conciseness5/5

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

Two sentences, essential info front-loaded, no wasted words. Perfectly concise.

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

Completeness4/5

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

Tool is simple with one parameter, schema covers everything, output schema exists. Description covers purpose, return value, and cost. Could be slightly more specific about the breakdown format, but output schema fills that gap.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for jobs, type, and model. The description repeats 'per job' but does not add additional meaning beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose5/5

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

Description clearly states the tool estimates compute cost and returns a price breakdown per job. It uses specific verb 'Estimate' and resource 'compute cost', and distinguishes itself from similar tools like spraay_compute_batch (execution) by noting 'before committing'.

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

Usage Guidelines4/5

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

Description implies use for upfront cost estimation and highlights it's free (no x402 payment). However, it does not explicitly exclude execution tools or mention when not to use it, but the context is clear for a simple estimate tool.

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

spraay_compute_futures_balanceA
Read-only

Check remaining compute credit balance, tier, discount, and usage stats. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds value by disclosing the cost per call, which is behavioral information not in annotations. It also confirms read-only nature. There is no contradiction or missing critical behavioral context.

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

Conciseness5/5

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

The description is concise (three sentences), front-loads the purpose, and contains no redundant information. Every sentence earns its place.

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

Completeness3/5

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

Given the tool's simplicity (1 parameter, output schema exists), the description covers purpose and cost but lacks clarity on what the 'id' parameter refers to. The schema description is uninformative, and the description does not compensate, leaving ambiguity about the input's meaning.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds minimal parameter guidance ('Pass the listed fields directly as typed arguments'), but does not explain what the 'id' parameter represents or provide meaningful semantics beyond the schema's vague 'id parameter' description.

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

Purpose5/5

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

The description clearly states the action ('Check remaining compute credit balance, tier, discount, and usage stats'), using specific verbs and listing all relevant resources. It effectively distinguishes from sibling tools like spraay_compute_futures_deposit, spraay_compute_futures_history, etc., by specifying the exact information returned.

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

Usage Guidelines4/5

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

The description provides important usage context: it costs $0.001 USDC per call and is read-only. It also instructs to pass fields as typed arguments. However, it does not explicitly compare to sibling tools or state when to use this tool over alternatives like spraay_compute_futures_history.

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

spraay_compute_futures_depositA

Deposit USDC to open a prepaid compute credit account. Costs $0.01 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesamount parameter
depositorYesdepositor parameter
expiresInDaysNoexpiresInDays parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate a write operation (readOnlyHint=false) and non-destructive. The description adds the cost per call, which is valuable. However, it fails to disclose important behaviors like failure modes, authorization requirements, or interaction with existing account balances.

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

Conciseness5/5

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

Two concise sentences with no redundancy. The description is front-loaded with purpose and cost, making it easy to parse.

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

Completeness4/5

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

Given the presence of an output schema and annotations, the description covers purpose and cost adequately. It mentions opening an account, which is key context. Missing details on multi-deposit behavior and error handling, but overall sufficient for a focused deposit tool.

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

Parameters3/5

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

Schema description coverage is 100%, albeit with minimal descriptions ('amount parameter'). The description adds no further semantic information beyond stating to provide typed arguments. Baseline score of 3 is appropriate for high coverage.

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

Purpose4/5

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

The description clearly states the action ('Deposit USDC') and the purpose ('open a prepaid compute credit account'), effectively distinguishing it from sibling tools like refund or balance. However, it does not explicitly differentiate among the compute futures siblings.

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

Usage Guidelines3/5

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

The description provides a cost hint ($0.01 per call) which helps in usage decisions, but it lacks explicit guidance on when to use this tool versus alternatives or prerequisites. The agent must infer context from the tool's name and siblings.

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

spraay_compute_futures_executeC

Run a compute job and deduct cost from the prepaid balance. Costs $0.001 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYestype parameter
modelNomodel parameter
promptNoprompt parameter
messagesNomessages parameter
futuresIdYesfuturesId parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.8/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=false and openWorldHint=true. The description adds transparency by disclosing that the call costs $0.001 USDC and deducts from prepaid balance, which is critical for a write operation affecting finances. However, it does not describe potential errors (e.g., insufficient funds), return value format (though output schema exists separately), or side effects beyond the deduction.

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

Conciseness3/5

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

The description is two sentences: first states purpose and cost, second instructs to provide arguments. It is somewhat concise but lacks structure; no paragraphs or bullet points. Could be improved by front-loading the essential cost info, which it does, but missing important details like parameter description or usage context.

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

Completeness2/5

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

Given the tool's complexity (5 params, write operation with financial impact, existence of output schema), the description is insufficient. It does not explain what 'futures' means, how the compute job works, how to use the parameters effectively, or what the return value indicates. The presence of an output schema mitigates this slightly, but the description should provide more context for the agent to use correctly.

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

Parameters2/5

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

The input schema has 100% coverage but all parameter descriptions are tautological (e.g., 'type parameter'). The description only says 'Provide the listed fields as typed arguments,' which adds no meaning beyond the schema. For a tool with 5 parameters (including non-obvious ones like 'messages' vs 'prompt'), the description should explain the role of each field, especially since the schema descriptions are unhelpful.

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

Purpose4/5

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

The description states 'Run a compute job and deduct cost from the prepaid balance,' which clearly indicates the action (run compute) and the resource affected (prepaid balance). It also mentions cost per call. However, it does not explicitly differentiate this tool from other compute-related siblings like spraay_compute_batch or spraay_compute_text_inference, so the purpose is clear but not fully distinguished.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives. It mentions cost deduction and that the user should provide fields as arguments, but does not specify prerequisites (e.g., sufficient balance) or conditions (e.g., when to choose this over spraay_compute_estimate). No exclusions or alternative tool references are given.

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

spraay_compute_futures_historyA
Read-only

Full usage ledger. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid parameter
limitNolimit parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds value by stating the cost ($0.002 per call) and clarifying it returns a 'Full usage ledger', which is useful context beyond annotations.

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

Conciseness4/5

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

The description is short (3 sentences) and front-loaded with the primary purpose. However, it could be more structured with clear sections. It is concise but omits potentially important details.

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

Completeness3/5

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

Given that an output schema exists (but not shown in the input), the description is somewhat self-contained. However, it does not mention what the tool returns (e.g., array of ledger entries) or any limitations like pagination. The cost and read-only flag are helpful, but more completeness would improve the agent's understanding.

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

Parameters2/5

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

Schema description coverage is 100% but only provides trivial descriptions ('id parameter', 'limit parameter'). The tool description does not clarify the meaning or expected values of 'id' (e.g., what ID is required) or 'limit' (e.g., max records). The instruction 'Pass the listed fields directly as typed arguments' adds no semantic value.

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

Purpose5/5

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

The description clearly states 'Full usage ledger' and 'Read-only', indicating it retrieves a complete history of compute futures usage. The name 'compute_futures_history' aligns with this purpose, and it is distinct from siblings like 'compute_futures_balance' and 'compute_futures_execute'.

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

Usage Guidelines3/5

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

The description mentions cost and read-only nature but lacks explicit guidance on when to use this tool versus alternatives. It does not address scenarios where other history or ledger tools might be more appropriate.

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

spraay_compute_futures_pricingA
Read-only

Compute futures pricing. Costs $0.001 USDC per call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true, and the description redundantly states 'Read-only.' It adds cost information and the param format, which are useful but limited. No additional behavioral traits like auth needed or rate limits are disclosed.

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

Conciseness5/5

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

Three concise sentences, each carrying distinct information: purpose, cost/read-only, and parameter usage. No fluff, efficiently front-loaded.

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

Completeness4/5

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

Given a simple single-parameter tool with an output schema available, the description covers the essential purpose, cost, and parameter format. It does not explain return values, but that is acceptable due to the output schema's existence.

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

Parameters3/5

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

The input schema covers 100% of the single parameter with a clear description. The tool description merely restates the same instruction ('Pass any query parameters as a JSON string via the params argument'), adding no new meaning beyond the schema.

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

Purpose4/5

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

The description starts with 'Compute futures pricing,' which clearly states the action and resource. It distinguishes from siblings like compute_futures_balance and compute_futures_deposit by focusing on pricing computation, though it doesn't explicitly differentiate.

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

Usage Guidelines3/5

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

The description provides basic usage guidance: cost per call, read-only hint, and how to pass parameters. However, it does not include when to use this tool versus alternatives or any exclusions, leaving the agent to infer context.

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

spraay_compute_futures_refundB

Refund unused compute credit balance to the original depositor. Costs $0.01 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
callerYescaller parameter
futuresIdYesfuturesId parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate a write operation (readOnlyHint=false) but not destructive. The description adds cost information ($0.01 USDC per call) and clarifies the refund goes to the original depositor. No contradictions, but the added value beyond annotations is moderate.

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

Conciseness4/5

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

The description is concise with three short sentences, each adding information. It is front-loaded with the main purpose. Minor improvement could be to combine the cost and argument instructions.

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

Completeness3/5

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

For a simple refund tool with two parameters and an output schema, the description covers the basic action and cost. However, it does not explain the parameters or what the output contains, relying on the schema and output schema which are present. Adequate but not comprehensive.

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

Parameters2/5

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

Schema coverage is 100% but parameter descriptions are minimal ('caller parameter' and 'futuresId parameter'). The description says 'Provide the listed fields as typed arguments' but does not explain the meaning of the parameters or how they should be used, providing little additional value.

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

Purpose5/5

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

The description clearly states the action 'Refund unused compute credit balance to the original depositor', using a specific verb and resource, and it distinguishes from sibling tools like spraay_compute_futures_deposit and spraay_compute_futures_balance.

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

Usage Guidelines2/5

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

The description mentions the cost per call but does not provide any guidance on when to use this tool versus alternatives, nor does it specify prerequisites or conditions for use. It lacks explicit when-to-use or when-not-to-use instructions.

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

spraay_compute_image_generationA

Generate images via Spraay Compute. FLUX Schnell, FLUX Dev, SDXL via Replicate. Text to image. Costs $0.02-$0.08 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel: 'auto', 'flux-schnell', 'flux-dev', 'sdxl'. Auto picks fastest.auto
widthNoImage width in pixels (default 1024)
heightNoImage height in pixels (default 1024)
promptYesText prompt describing the image to generate
num_outputsNoNumber of images to generate (1-4)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate non-destructive and open-world behavior. Description adds cost range ($0.02-$0.08 USDC), which is useful but does not detail other behavioral aspects like response time or output format beyond schema.

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

Conciseness5/5

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

Two sentences, front-loaded with the verb 'Generate', and no superfluous words. Efficiently conveys model types, task, and cost.

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

Completeness4/5

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

Given the presence of an output schema, the description adequately covers purpose, models, and cost. Could mention potential output format implicitly, but overall sufficient for a simple generative tool.

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

Parameters3/5

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

Schema has 100% description coverage, so baseline is 3. Description does not elaborate on parameter semantics beyond what schema already provides; mentions models in overview but not detailed meaning.

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

Purpose5/5

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

Description explicitly states 'Generate images via Spraay Compute' and lists supported models (FLUX Schnell, FLUX Dev, SDXL) and the text-to-image task, making the purpose clear and distinguishable from sibling tools like text inference or embeddings.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternative image generation or other compute tools. Missing context about preferred scenarios, user prerequisites, or comparison with siblings.

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

spraay_compute_modelsA
Read-only

List all available compute models with pricing and capabilities. Grouped by type (text, image, video, tts, stt, embeddings). FREE — no x402 payment required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

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

Discloses that the tool is free and read-only (via annotations), adding cost and safety context. The grouping behavior is described, providing clarity beyond the readOnlyHint annotation.

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

Conciseness5/5

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

Two concise sentences with key information front-loaded: listing, pricing, grouping, and cost. No wasted words.

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

Completeness4/5

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

Given an output schema exists, the description covers purpose, output organization, and cost. It does not mention pagination or freshness, but for a simple list endpoint, it is adequate.

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

Parameters3/5

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

No parameters exist, and schema coverage is 100%. Description adds no parameter-level detail since none are needed; baseline 3 applies due to high coverage.

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

Purpose5/5

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

Clearly states it lists all available compute models with pricing and capabilities, grouped by type. Distinguishes from sibling tools like spraay_gpu_models or spraay_bittensor_models by noting free access and comprehensive grouping.

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

Usage Guidelines4/5

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

Explicitly mentions 'FREE — no x402 payment required,' indicating low-cost or free usage. However, lacks explicit comparison to alternative model-listing tools or guidance on when to use this versus other sibling tools.

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

spraay_compute_statusA
Read-only

Poll async compute job status. Use for video generation and batch jobs that return 'processing'. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesJob ID or prediction ID returned from a compute request

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds value beyond these by noting the cost ($0.001 USDC) and the polling nature, which implies idempotency and no side effects. No contradictions.

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

Conciseness5/5

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

The description is three concise sentences, each adding distinct value: purpose, use case, and cost. No redundant or vague language; all sentences earn their place.

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

Completeness4/5

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

For a simple polling tool with one parameter and an output schema, the description covers purpose, use cases, and cost. It does not explain polling behavior (e.g., retry logic) or error handling, but the output schema likely provides return format details. Adequately complete for a low-complexity tool.

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

Parameters3/5

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

With 100% schema description coverage, the parameter 'jobId' is already well-documented in the schema as 'Job ID or prediction ID returned from a compute request'. The description adds only marginal context by linking the parameter to the use cases (video generation, batch jobs), which is helpful but not essential.

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

Purpose5/5

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

The description clearly states the tool polls async compute job status and specifies it is for video generation and batch jobs that return 'processing'. This distinguishes it from sibling tools like spraay_compute_video_generation (which likely triggers jobs) and spraay_compute_batch (batch execution). The verb 'poll' and resource 'status' are specific.

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

Usage Guidelines4/5

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

The description explicitly says 'Use for video generation and batch jobs that return processing', providing clear context for when to use this tool. It does not mention when not to use it or list alternatives, but the provided use cases are sufficient guidance for the intended scenario.

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

spraay_compute_sttA

Speech-to-text via Spraay Compute. Transcribe audio from a URL using Whisper. Costs $0.02 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoSTT model (default 'auto' = Whisper)auto
languageNoOptional language hint (e.g. 'en', 'es', 'fr')
audio_urlYesURL of the audio file to transcribe (MP3, WAV, M4A, etc.)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior4/5

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

The description adds transparency by disclosing the cost of $0.02 USDC, which is a behavioral trait beyond the annotations. However, it does not discuss potential side effects like authentication requirements or data storage.

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

Conciseness5/5

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

The description is extremely concise with two sentences, front-loading the purpose and cost. Every word adds value with no redundancy.

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

Completeness4/5

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

For a straightforward speech-to-text tool with an output schema, the description covers the core functionality and cost. Some details like file size limits or supported languages are omitted, but overall it is sufficiently complete.

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

Parameters3/5

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

The input schema has 100% description coverage, and the tool's description adds minimal additional context about parameters beyond stating 'audio from a URL'. The schema already documents 'model', 'language', and 'audio_url' with descriptions.

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

Purpose5/5

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

The description clearly specifies the verb 'transcribe', the resource 'audio from a URL', and the model 'Whisper'. It distinctly sets this tool apart from its sibling 'spraay_compute_tts' which performs text-to-speech.

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

Usage Guidelines3/5

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

The description states what the tool does but does not provide explicit guidance on when to use it versus alternatives, nor does it mention when not to use it. The cost is noted but no usage boundaries are given.

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

spraay_compute_text_inferenceA

Run LLM text inference via Spraay Compute. 11 models across Chutes, Replicate, OpenRouter (DeepSeek, Llama, Qwen, Gemma). Costs $0.003-$0.10 USDC depending on model.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel ID (e.g. 'deepseek-ai/DeepSeek-V3-0324', 'auto' for cheapest). Use spraay_compute_models to list all.auto
messagesYesChat messages array
max_tokensNoMaximum tokens to generate
temperatureNoSampling temperature (0-2)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior4/5

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

Adds cost and provider details beyond annotations. Annotations already indicate non-read-only and non-destructive, but description provides cost range and model count, which aids decision-making.

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

Conciseness5/5

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

Two sentences, front-loaded with the main action, no wasted words. Efficient and clear.

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

Completeness4/5

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

Covers main purpose, model sources, and cost. Output schema exists so return details not needed. Could mention error handling or rate limits but not essential for this moderate-complexity tool.

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

Parameters3/5

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

Schema coverage is 100%, so baseline 3. Description adds context on cost variation by model but does not elaborate on parameter specifics beyond schema.

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

Purpose5/5

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

Clearly states the tool runs LLM text inference, specifies model sources and cost range. Distinguishes from sibling tools like image generation, embeddings, etc.

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

Usage Guidelines3/5

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

Implied use for text inference but lacks explicit guidance on when to use over similar tools like spraay_chat or spraay_bittensor_chat_completions. No exclusions or alternatives mentioned.

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

spraay_compute_ttsB

Text-to-speech via Spraay Compute. Convert text to natural-sounding audio. Replicate TTS models. Costs $0.03-$0.05 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to convert to speech
modelNoTTS model (default 'auto')auto
languageNoLanguage code (default 'en')en

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.3/5.0
Behavior3/5

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

Discloses cost range ($0.03-$0.05 USDC) and references Replicate TTS models, but does not describe output format, latency, or idempotency behavior. Annotations already indicate non-read-only, so description adds limited behavioral context.

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

Conciseness4/5

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

Three sentences covering purpose, action, and cost. No wasted words, but could be slightly more structured. Front-loaded with the core function.

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

Completeness2/5

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

Lacks information about output format (audio URL or binary?), prerequisites, and how model selection affects results. Despite having an output schema, the description should at least hint at the output nature.

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

Parameters3/5

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

Schema description coverage is 100%, with descriptions for text, model, and language. The tool description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states it converts text to speech via Spraay Compute, distinguishing it from speech-to-text and other compute tools. The verb 'convert' and resource 'text-to-speech' are specific.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives or when not to use it. No mention of model selection context or prerequisites.

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

spraay_compute_video_generationA

Generate video from text via Spraay Compute. MiniMax Video 01, Wan 2.1 via Replicate. Async — poll spraay_compute_status for results. Costs $0.40-$0.50 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel: 'auto', 'minimax-video-01', 'wan-2.1'auto
promptYesText prompt describing the video to generate
duration_secondsNoVideo duration in seconds (default 4)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

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

Adds behavioral info not in annotations: async operation, polling, cost. Annotations provide no extra context, so description adds useful transparency beyond them.

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

Conciseness5/5

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

Three efficient sentences with front-loaded purpose. Every sentence adds value: action, models, async/cost. No redundancy.

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

Completeness4/5

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

With output schema present, description covers async polling and cost. Mentions sibling tool for status. Lacks potential details like timeout, but complete enough for typical use.

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

Parameters3/5

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

Schema has 100% coverage for 3 params. Description mentions model names but doesn't add meaning beyond schema's parameter descriptions. Baseline 3 is appropriate.

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

Purpose5/5

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

Description clearly states 'Generate video from text' and lists specific models (MiniMax Video 01, Wan 2.1). Differentiates from siblings like spraay_compute_image_generation by specifying video generation.

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

Usage Guidelines4/5

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

Describes async nature and polling requirement ('poll spraay_compute_status for results') and gives cost range. Implicitly indicates when to use (text-to-video) but no explicit exclusions or alternatives.

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

spraay_contract_readC

Read contract. Costs $0.002 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoargs parameter
chainNochain parameter
methodYesmethod parameter
addressYesaddress parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.5/5.0
Behavior1/5

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

The description says 'Read contract' implying a read-only operation, but annotations have readOnlyHint=false, indicating the tool may have side effects. This is a contradiction. Additionally, while cost is disclosed, the behavioral inconsistency is misleading.

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

Conciseness4/5

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

The description is short and front-loaded with the purpose and cost. No unnecessary words, though more detail could fit without harming conciseness.

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

Completeness2/5

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

Even with an output schema, the description lacks context about what contract reading entails (e.g., which chain, method meaning). The minimal text leaves ambiguity for an agent to correctly select and invoke this tool.

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

Parameters2/5

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

Schema descriptions are minimal ('args parameter', 'chain parameter') and the description adds only 'Provide the listed fields as typed arguments', which does not clarify what each parameter represents. Despite 100% schema coverage, the descriptions are uninformative.

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

Purpose4/5

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

The description clearly states the action (Read contract) and distinguishes from sibling spraay_contract_write. However, it does not differentiate from spraay_explain_contract, which may also involve reading contract data. The verb+resource is specific.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like spraay_explain_contract or spraay_rpc_call. The instruction to 'Provide the listed fields as typed arguments' is basic but does not help with context or exclusions.

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

spraay_contract_writeC

Write contract. Costs $0.01 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoargs parameter
chainNochain parameter
methodYesmethod parameter
addressYesaddress parameter
walletIdNowalletId parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=false (write operation) and openWorldHint=true, plus description adds a cost of $0.01 USDC per call. However, it does not disclose side effects like gas costs on certain chains, required auth, or irreversible changes. The minimal addition beyond annotations merits a 3.

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

Conciseness4/5

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

Two brief sentences that include the core action, cost, and a parameter instruction. No fluff, but could be organized better (e.g., listing parameters in the description itself).

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

Completeness2/5

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

With 5 parameters, an output schema, and many sibling tools, the description lacks crucial context. It does not clarify what 'write' means (e.g., on-chain transaction vs internal record), how the output schema relates, or any dependencies like wallet funding. The description is too sparse for an agent to reliably use.

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

Parameters2/5

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

Schema descriptions are tautological (e.g., 'args parameter', 'chain parameter') and the description only says to provide fields as typed arguments, adding no meaning. For 5 parameters with a write operation, more semantic detail (e.g., what 'args' entails, chain ID format) is needed.

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

Purpose4/5

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

The description states 'Write contract' which is a verb+resource pairing that distinguishes it from the sibling spraay_contract_read. However, it does not specify what kind of contract (smart contract, legal contract, etc.) or the exact scope of writing (e.g., deploying or invoking).

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description does not indicate when to use this tool over alternatives, such as when to use spraay_contract_read vs write. There is no mention of prerequisites, context, or exclusions.

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

spraay_cron_cancelA
DestructiveIdempotent

Cancel a scheduled job by ID. Stops future executions. Data persists in Supabase. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesCron job ID to cancel (e.g. 'cron_abc123')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations indicate destructive and idempotent behavior; the description adds context by stating data persists in Supabase and costs $0.001 USDC, which aligns with the destructive hint and provides extra transparency.

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

Conciseness5/5

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

The description is three concise sentences: action, effect, and cost. No unnecessary words, front-loaded with the core purpose.

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

Completeness5/5

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

For a simple, single-parameter tool with an output schema, the description covers purpose, effect, data persistence, and cost, making it complete for an AI agent to use.

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

Parameters3/5

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

With 100% schema coverage and one parameter (`jobId`), the description does not add more meaning beyond what the schema already provides (e.g., format example). The cost mention is tangential.

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

Purpose5/5

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

The description clearly states the action ('Cancel a scheduled job by ID') and the effect ('Stops future executions'), distinguishing it from cron creation and listing tools.

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

Usage Guidelines3/5

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

The description implies when to use (to stop a scheduled job) but does not explicitly exclude other scenarios or mention alternative tools like `spraay_cron_create` or `spraay_cron_list`.

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

spraay_cron_createA

Create a scheduled job for recurring payments, DCA strategies, reminders, or any gateway action. Supports standard 5-part cron expressions. Data persists in Supabase. Costs $0.005 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesGateway action to schedule (e.g. 'batch.execute', 'swap.execute', 'notify.email', 'payroll.execute', 'xmtp.send')
maxRunsNoMax executions before auto-cancel (omit for unlimited)
payloadYesPayload for the scheduled action (same format as the action's direct API call)
scheduleYesCron expression (e.g. '0 9 * * 1' for every Monday at 9am)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior4/5

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

The description adds behavioral context beyond annotations: it states 'Data persists in Supabase' and 'Costs $0.005 USDC.' Annotations indicate readOnlyHint=false (write), idempotentHint=false, and destructiveHint=false. The description aligns with these and provides useful cost and persistence information. No contradiction.

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

Conciseness5/5

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

Four sentences, all substantive. Front-loaded with purpose, then cron support, persistence, and cost. Every sentence earns its place with relevant information. No fluff or repetition.

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

Completeness4/5

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

Given 4 parameters with nested objects and the presence of an output schema (indicated true), the description covers key aspects: purpose, cron standard, persistence, and cost. It doesn't detail error conditions or how to retrieve the cron ID for cancellation, but these are secondary. Overall, complete enough for effective use.

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

Parameters4/5

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

Schema coverage is 100% (all parameters have descriptions). The description adds value by noting 'Supports standard 5-part cron expressions' and clarifying that the payload format matches the action's direct API call. This provides meaning beyond the schema, but the schema already adequately describes each parameter.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Create a scheduled job for recurring payments, DCA strategies, reminders, or any gateway action.' It specifies the resource (scheduled job) and provides concrete examples. It also mentions support for standard 5-part cron expressions. This distinguishes it from sibling tools like spraay_cron_cancel and spraay_cron_list.

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

Usage Guidelines2/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives. It lacks information about prerequisites, when not to use, or context for choosing this over other cron-related tools. The existence of siblings like spraay_cron_cancel and spraay_cron_list is implied but not addressed.

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

spraay_cron_listA
Read-only

List all scheduled jobs with optional status and action filters. Data persists in Supabase. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNoFilter by action type (e.g. 'batch.execute')
statusNoFilter by job status

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already mark it as readOnlyHint and openWorldHint. The description adds useful behavioral context: data persistence in Supabase and cost ($0.001 USDC). No contradictions.

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

Conciseness5/5

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

Two efficient sentences: first covers core functionality, second adds persistence and cost. No fluff, front-loaded.

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

Completeness5/5

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

For a simple listing tool with output schema and annotations, the description covers purpose, filters, data persistence, and cost. No missing essential information.

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

Parameters3/5

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

Schema coverage is 100%, so baseline 3. The description mentions optional filters but adds no additional meaning beyond what the schema's parameter descriptions already provide.

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

Purpose5/5

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

The description clearly states the verb 'list' and the resource 'scheduled jobs', with optional filters. It distinguishes this tool from other cron tools like create and cancel.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives. It implies usage for listing jobs, but lacks guidance on when not to use it or context with siblings.

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

spraay_defi_positionsB
Read-only

DeFi positions. Costs $0.008 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNochain parameter
addressYesaddress parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds the cost per call ($0.008 USDC) and a note to pass fields as typed arguments, which is marginally helpful but does not significantly expand on behavioral traits beyond annotations.

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

Conciseness4/5

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

The description is very concise with three sentences covering purpose, cost, and usage instruction. It is front-loaded with the key phrase 'DeFi positions'. Every sentence adds value, though it could be slightly more detailed without becoming verbose.

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

Completeness4/5

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

Given the presence of an output schema and high schema coverage, the description covers essential aspects (purpose, cost, read-only, argument passing). It does not mention that address is required, but the schema already specifies that. Reasonably complete for this complexity.

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

Parameters3/5

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

Schema coverage is 100%, so parameters are already documented. The description only says 'Pass the listed fields directly as typed arguments', adding no new meaning 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.

Purpose3/5

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

The description states 'DeFi positions', which indicates the resource but lacks specificity about what type of positions (e.g., liquidity, staked). It does not differentiate clearly from sibling tools like spraay_portfolio_tokens or spraay_balances. The verb is implied but not explicit.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as portfolio tokens or balances. The description mentions cost and read-only nature but provides no context about ideal use cases or exclusions.

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

spraay_escrow_cancelA
DestructiveIdempotent

Cancel an escrow. Depositor can cancel unfunded escrows; depositor or arbiter can cancel funded ones. Data persists in Supabase. Costs $0.002 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
callerYesCaller address — must be depositor (or arbiter for funded escrows)
escrowIdYesEscrow ID to cancel (e.g. 'ESC-A1B2C3D4E5F6')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate destructive and idempotent behavior. The description adds value by disclosing data persistence in Supabase, cost ($0.002 USDC), and authorization conditions. No contradictions with annotations.

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

Conciseness5/5

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

Description is three sentences, front-loaded with the purpose, followed by authorization rules and cost/persistence. No unnecessary words, efficient structure.

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

Completeness4/5

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

Given the simple tool with two parameters, full schema coverage, annotations, and known output schema, the description covers purpose, authorization, persistence, and cost. It could mention irreversibility or error conditions but annotations handle some of that.

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

Parameters3/5

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

Schema coverage is 100% and the description essentially repeats the parameter descriptions from the schema (e.g., caller must be depositor or arbiter for funded escrows). No additional meaning is provided beyond the schema.

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

Purpose5/5

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

The description clearly states it cancels an escrow, specifies conditions based on funding state (unfunded vs funded), and who can cancel. This distinguishes it from sibling tools like create, fund, get, list, and release.

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

Usage Guidelines4/5

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

The description provides clear context on when to use (to cancel an escrow) and who can call it under different states. However, it does not explicitly mention when not to use or compare to alternatives like releasing funds.

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

spraay_escrow_createA

Create a conditional escrow with optional milestones, arbiter, and expiry on Base. Funds are held until release conditions are met. Data persists in Supabase. Returns escrow ID and next-step actions. Costs $0.008 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesToken symbol (e.g. 'USDC', 'USDT', 'DAI', 'EURC', 'WETH')
amountYesEscrow amount in human-readable units (e.g. '5000.00')
arbiterNoOptional third-party arbiter who can release or cancel
depositorYesDepositor/client address who will fund the escrow
expiresInNoExpiry in hours (1-8760, default: 168 = 7 days)
conditionsNoMilestone conditions (e.g. ['Design approved', 'Dev complete'])
beneficiaryYesBeneficiary/freelancer address who receives funds on release

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations are minimal (no idempotent, readOnlyHint false). The description adds valuable behavioral context: 'Funds are held until release conditions are met', 'Data persists in Supabase', and 'Costs $0.008 USDC'. It also mentions return values. No contradiction with annotations.

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

Conciseness5/5

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

Three sentences, front-loaded with the core purpose. No wasted words. Efficient and clear.

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

Completeness4/5

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

Given the tool's complexity (7 parameters, 4 required, Blockchain interaction), the description covers purpose, behavior, persistence, cost, and return type. It could mention prerequisites (e.g., wallet funding) but is largely complete. An output schema exists to describe return structure.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description mentions 'optional milestones, arbiter, and expiry' but does not add detailed parameter semantics beyond what the schema already provides. Each parameter is well-documented in the schema itself.

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

Purpose5/5

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

Description clearly states it creates a conditional escrow, specifies optional features (milestones, arbiter, expiry), and names the blockchain (Base). The verb 'Create' plus resource 'escrow' with qualifiers like 'conditional' and 'optional' make the purpose specific and distinguishable from sibling tools like escrow_fund, escrow_release, etc.

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

Usage Guidelines4/5

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

The description implies when to use by stating it creates an escrow, which contrasts with siblings that fund, release, cancel, or get/list escrows. However, it lacks explicit 'when to use' or 'when not to use' statements. The context of sibling names provides sufficient differentiation.

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

spraay_escrow_fundA

Mark an escrow as funded. Changes status from 'created' to 'funded'. Only works on unfunded, non-expired escrows. Data persists in Supabase. Costs $0.002 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
escrowIdYesEscrow ID to fund (e.g. 'ESC-A1B2C3D4E5F6')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior4/5

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

Discloses that data persists in Supabase and costs $0.002 USDC, which are important behavioral traits beyond annotations. Annotations only provide readOnlyHint; description adds cost and persistence context.

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

Conciseness5/5

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

Three concise sentences, each serving a purpose: purpose, precondition, and additional context (persistence, cost). No unnecessary information.

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

Completeness5/5

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

Covers purpose, precondition, persistence, and cost. With output schema existing, return values need not be explained. Complete for a simple state-change tool.

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

Parameters3/5

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

Schema coverage is 100% and schema already describes escrowId with an example. Description does not add extra parameter semantics beyond what's in the schema.

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

Purpose5/5

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

Clear verb 'Mark as funded' and purpose stated. Distinguishes from escrow siblings (create, cancel, release) by specifying the specific status change from 'created' to 'funded'.

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

Usage Guidelines4/5

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

Explicit precondition: 'Only works on unfunded, non-expired escrows.' Does not explicitly mention alternatives, but context among siblings makes it clear when to use this tool.

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

spraay_escrow_getA
Read-only

Get full escrow details including status, participants, conditions, balance check, and timestamps by ID. Data persists in Supabase. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEscrow ID (e.g. 'ESC-A1B2C3D4E5F6')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, but the description adds valuable context: data persists in Supabase and there is a cost of $0.001 USDC. These details inform the agent about external dependencies and cost implications beyond what annotations provide. No contradiction with annotations.

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

Conciseness5/5

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

The description consists of two concise sentences: first sentence states the core purpose with specific details, second sentence adds essential behavioral context (persistence and cost). No unnecessary words, front-loaded with the main action.

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

Completeness4/5

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

The description covers the tool's purpose, key return fields, data source, and cost. Since an output schema exists, return format details are not needed. It does not explicitly mention authentication requirements, but that is likely implied by the broader system. Overall complete for a read-only single-ID lookup tool.

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

Parameters3/5

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

The input schema has 100% description coverage for its single parameter, so the schema already documents the ID field adequately. The description reiterates 'by ID' but adds no new semantic meaning beyond what the schema provides. Baseline of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Get') and resource ('escrow details'), lists key fields (status, participants, conditions, balance, timestamps) and explicitly mentions the lookup by ID. This clearly distinguishes it from sibling tools like spraay_escrow_list (which likely lists all escrows) or spraay_escrow_create.

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

Usage Guidelines3/5

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

The description implies usage when you have an escrow ID and need full details, but it does not explicitly state when to use this tool over alternatives like spraay_escrow_list, nor does it provide conditions for when not to use it. No sibling tools are referenced.

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

spraay_escrow_listA
Read-only

List escrows by address (depositor, beneficiary, or arbiter) with optional status filter. Data persists in Supabase. Costs $0.002 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by escrow status
addressYesAddress to list escrows for (depositor, beneficiary, or arbiter)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds valuable context: 'Data persists in Supabase' (explaining data source) and 'Costs $0.002 USDC' (cost transparency). No contradictions with annotations.

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

Conciseness5/5

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

The description is two sentences long, with the first sentence clearly stating the purpose and the second adding relevant details (persistence and cost). No unnecessary words.

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

Completeness4/5

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

The description covers purpose, data persistence, and cost. The output schema handles return values. It does not mention pagination or limits, but given the tool's simplicity and the presence of an output schema, it is adequately complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents both parameters. The description restates address and status without adding new semantics or constraints beyond the schema.

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

Purpose5/5

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

The description uses a specific verb 'List' and resource 'escrows', and clarifies the scope 'by address (depositor, beneficiary, or arbiter) with optional status filter'. This clearly distinguishes it from sibling tools like spraay_escrow_get (which likely gets a single escrow) and spraay_escrow_create (which creates).

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

Usage Guidelines4/5

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

The description implies usage for querying escrows by address and filtering by status, but does not explicitly state when to use this tool versus alternatives like spraay_escrow_get or other listing tools. The context of sibling tools provides some differentiation, but no direct guidance on exclusions or alternatives is given.

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

spraay_escrow_releaseA

Release escrow funds to the beneficiary. Returns an unsigned ERC-20 transfer transaction for the depositor to sign. Only depositor or arbiter can release. Data persists in Supabase. Costs $0.005 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
callerYesCaller address — must be depositor or arbiter
escrowIdYesEscrow ID to release (e.g. 'ESC-A1B2C3D4E5F6')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations show readOnlyHint: false and destructiveHint: false. The description adds value by explaining the tool returns an unsigned transaction (not executing directly), mentions cost ($0.005 USDC), and data persistence. No contradiction with annotations.

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

Conciseness5/5

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

Description is three sentences, each delivering key information: action, output, authorization, persistence, cost. No redundant or vague language.

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

Completeness4/5

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

Covers key aspects: action, output (unsigned tx), authorization, persistence, cost. With an output schema present, the description appropriately focuses on behavioral context. Could optionally mention what happens if caller is unauthorized, but not required.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds minimal param info beyond the schema (reiterates caller must be depositor/arbiter), which is already in the schema description. No additional semantic depth.

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

Purpose5/5

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

The description clearly states the action ('Release escrow funds to the beneficiary'), specifies the output ('unsigned ERC-20 transfer transaction'), and distinguishes from sibling escrow tools by detailing the release action and authorization requirement.

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

Usage Guidelines4/5

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

Explicitly states that only the depositor or arbiter can release, providing clear usage context. Does not explicitly mention when not to use or name alternatives, but the authorization constraint is sufficient guidance.

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

spraay_explain_contractA

AI-powered smart contract analysis. Explains what a verified contract does, lists its functions, identifies patterns (ERC-20, ERC-721, etc.), and flags security properties. Costs $0.01 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesContract address to analyze on Base (e.g. '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' for USDC)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior4/5

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

Annotations provide readOnlyHint=false and openWorldHint=true. The description adds crucial disclosure of cost ($0.01 USDC), explaining why readOnlyHint is false. It also states 'AI-powered', implying non-deterministic or model-based analysis. No contradictions with annotations.

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

Conciseness5/5

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

Two concise sentences: first states purpose, second lists capabilities and cost. No wasted words, essential information front-loaded.

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

Completeness4/5

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

Given output schema exists, the description doesn't need to explain return values. It covers core functionality and cost. Minor gap: no mention of behavior if contract is not verified or if analysis fails. Still sufficient for single-param tool with high schema coverage.

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

Parameters3/5

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

Schema coverage is 100% with a single parameter (address) including pattern and example. The description adds no additional semantic meaning beyond the schema—cost and analysis nature are general tool info, not parameter-specific. Baseline 3 applies.

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

Purpose5/5

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

The description clearly states it performs AI-powered smart contract analysis, listing specific outputs (functions, patterns, security properties) and cost. This distinguishes it from siblings like spraay_contract_read (raw data) and spraay_contract_write (mutations).

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

Usage Guidelines3/5

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

The description implies usage for analyzing verified contracts on Base but provides no explicit guidance on when to prefer this tool over other contract-related siblings (e.g., spraay_contract_read, spraay_research_*). Usage context is implied but not articulated.

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

spraay_freeC
Read-only

Free tier catalog. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint. Description adds 'Free to call' and 'Read-only', which aligns but doesn't provide new behavioral context beyond annotations. No contradictions.

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

Conciseness4/5

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

Very short description (two sentences) with no wasted words. However, the first sentence 'Free tier catalog' is too minimal and could be improved without increasing length.

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

Completeness2/5

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

Given the existence of an output schema (not shown) and full parameter coverage, the description fails to explain what the catalog returns or how it relates to other free tools. Incomplete for understanding the tool's full scope.

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

Parameters3/5

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

Schema description coverage is 100% for the single 'params' parameter. The description reiterates that parameters are passed as JSON string, adding no new meaning beyond schema.

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

Purpose3/5

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

Description states 'Free tier catalog' which indicates a general resource, but given many specific spraay_free_* siblings, the purpose is ambiguous. Does it list available endpoints or provide free-tier data? It lacks specificity to distinguish from sibling tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs the many spraay_free_* siblings. Does not state when not to use it or what scenarios are appropriate. The description merely provides usage instructions for the params argument.

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

spraay_free_agent_cardA
Read-only

ERC-8004 agent registry lookup. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint and openWorldHint. Description adds 'Free to call' and specific registry context, enhancing transparency without contradiction.

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

Conciseness5/5

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

Two concise sentences front-loading purpose, cost, and usage. No unnecessary words.

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

Completeness5/5

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

For a simple read-only lookup with output schema, description fully covers purpose, cost, and parameter usage. No gaps.

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

Parameters3/5

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

Schema covers param with description. Description repeats 'JSON string via params' but adds no new meaning beyond schema. Baseline 3 per high coverage.

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

Purpose5/5

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

Description clearly states 'ERC-8004 agent registry lookup' with specific verb and resource. Differentiates from siblings like spraay_free_chain_status or spraay_free_validate_address.

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

Usage Guidelines4/5

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

Explicitly notes 'Free to call. Read-only.' telling when to use and not. Provides instruction on passing params. No explicit alternative naming, but context sufficient.

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

spraay_free_chain_statusA
Read-only

Block height & liveness — 7 EVM chains (cached 30s). Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and openWorldHint=true; the description adds behavioral details like caching ('cached 30s') and scope ('7 EVM chains'), which are not covered by annotations. No contradictions.

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

Conciseness4/5

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

The description is concise, using two sentences to convey purpose, scope, caching, cost, and parameter usage. Front-loaded with the core function. Could be more structured but is efficient.

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

Completeness4/5

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

Given the tool's simplicity (1 parameter, output schema exists, annotations present), the description covers essential aspects: purpose, scope, caching, and parameter format. Missing specific chain names, but overall adequate.

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

Parameters3/5

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

Schema coverage is 100% (the single 'params' parameter has a description). The description reiterates the parameter format but does not explain what query keys/values are valid, adding minimal meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the tool returns 'Block height & liveness' for '7 EVM chains', specifying the core purpose and scope. It distinguishes itself from sibling free tools like spraay_free_gas or spraay_free_nonce by focusing on chain status.

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

Usage Guidelines3/5

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

The description implies usage for checking chain status but does not provide explicit when-to-use or when-not-to-use guidance compared to alternatives. No exclusions or alternative tools are mentioned.

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

spraay_free_convertA
Read-only

Fiat ↔ crypto conversion (unit math + spot). Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the read-only and open-world nature. The description adds 'Free to call', which is nice but not critical beyond annotations. No additional behavioral details like rate limits or auth requirements are disclosed.

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

Conciseness5/5

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

The description is extremely concise, comprising three short sentences that front-load the core purpose and key characteristics. Every sentence earns its place with no redundant or irrelevant information.

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

Completeness2/5

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

Despite having an output schema (so return format is covered), the description fails to explain what keys are expected in the 'params' JSON string. The agent cannot know how to construct the query without additional documentation, which is a significant gap for a tool with a single, opaque parameter.

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

Parameters3/5

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

Schema description coverage is 100%, with the schema describing the 'params' parameter as 'Query parameters as JSON (e.g. {"key":"value"})'. The tool description repeats this without adding new meaning, so it does not significantly enhance understanding beyond the schema.

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

Purpose5/5

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

The description clearly states 'Fiat ↔ crypto conversion (unit math + spot)', providing a specific verb (conversion) and resource (fiat and crypto amounts). It distinguishes itself from sibling tools like spraay_free_prices (which likely provides prices only) and spraay_swap_quote (which is for actual swaps).

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

Usage Guidelines3/5

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

The description indicates the tool is 'Free to call' and 'Read-only', giving context that it's a safe, informational call. However, it does not explicitly state when to use this tool versus alternatives (e.g., spraay_swap_quote for executing trades) or provide any '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.

spraay_free_estimate_batchA
Read-only

Rough batch cost estimate (no live quote). Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already mark readOnlyHint and openWorldHint. The description adds behavioral context: it's a 'rough' batch estimate, 'free', and 'no live quote', plus explains how to pass parameters. No contradictions with annotations.

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

Conciseness5/5

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

Three concise sentences with no redundancy: first covers purpose and nature, second cost and read-only, third usage instructions. Every sentence adds value.

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

Completeness5/5

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

Given the simple tool with one parameter, full schema coverage, and existing annotations plus output schema, the description adequately covers purpose, behavior, and usage. No missing essential information.

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

Parameters3/5

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

The sole parameter 'params' is fully described in the schema (100% coverage). The description only reiterates 'Pass any query parameters as a JSON string via the params argument', adding little meaning beyond the schema's existing description.

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

Purpose4/5

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

The description clearly states the tool provides a 'Rough batch cost estimate (no live quote)', identifying its purpose as a cost estimation tool for batch operations. However, it does not explicitly differentiate from sibling tools like spraay_compute_estimate or spraay_batch_estimate, though 'Free to call' hints at a distinction.

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

Usage Guidelines3/5

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

It mentions 'no live quote' and 'Free to call. Read-only.', which implies it is suitable for rough, cost-free estimates. However, it doesn't provide explicit when-to-use or when-not-to-use guidance, nor mention alternative tools for live quotes or more accurate estimates.

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

spraay_free_gasA
Read-only

Gas prices — 7 EVM chains via Alchemy (cached 15s). Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds behavioral context: data is cached for 15 seconds and sourced from Alchemy. This helps the agent understand staleness and trustworthiness, going beyond what annotations provide.

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

Conciseness5/5

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

Two sentences with no wasted words. Front-loaded with the core purpose and key details (chains, cache, cost, safety). Every sentence adds value, and structure is optimal for quick scanning.

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

Completeness4/5

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

The description covers the tool's purpose, data source, cache duration, cost, safety, and parameter usage. With an output schema present, the agent has enough to invoke the tool correctly. A minor gap is the lack of documentation on what keys the params JSON supports, but given the tool's simplicity, this is acceptable.

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

Parameters4/5

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

Schema coverage is 100% with a single parameter 'params' described as JSON. The description reinforces that query parameters are passed as a JSON string, adding clarity. While the schema already covers it, the description's example and instruction add marginal value.

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

Purpose5/5

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

The description clearly states the tool retrieves gas prices across 7 EVM chains via Alchemy with a 15-second cache. The verb 'gas prices' and resource '7 EVM chains' are specific, and the name 'spraay_free_gas' distinguishes it from siblings like 'spraay_oracle_gas' by highlighting it's free.

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

Usage Guidelines3/5

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

The description notes it's free and read-only, which implies it's suitable for cost-sensitive or safe queries. However, it does not explicitly state when to use this tool over alternatives like 'spraay_oracle_gas' or provide when-not-to-use guidance. The usage context is implied but not fully spelled out.

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

spraay_free_nonceA
Read-only

EVM nonce / tx count for address. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.9/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint, openWorldHint), the description adds that the call is free and explains how to pass parameters as a JSON string. This provides useful behavioral context.

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

Conciseness5/5

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

Three concise sentences: first defines purpose, second notes free/read-only, third explains param passing. No wasted words, front-loaded.

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

Completeness3/5

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

Given the simple tool with one param and an output schema, the description is mostly adequate but fails to clarify what query parameters are needed (e.g., address field). Agent may lack guidance on input format.

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

Parameters3/5

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

The input schema already describes the only parameter 'params' with full coverage. The description repeats that parameters are JSON but does not specify required keys (e.g., address). No additional semantic value beyond schema.

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

Purpose5/5

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

The description clearly states the tool retrieves the EVM nonce (transaction count) for an address. It is specific and distinguishes from sibling tools like spraay_free_gas or spraay_free_prices by naming the exact resource (nonce).

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

Usage Guidelines3/5

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

The description indicates the tool is 'free to call' and 'read-only', providing context for when to use it, but does not explicitly state when not to use it or list alternatives. Usage is implied from the purpose.

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

spraay_free_pricesB
Read-only

USDC/ETH/SOL spot prices (cached 60s). Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.4/5.0
Behavior3/5

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

The description adds 'cached 60s' beyond the annotations (readOnlyHint, openWorldHint), which informs the agent of data staleness. However, it does not describe other behaviors such as rate limits, error handling, or what happens when params are invalid.

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

Conciseness5/5

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

Two concise sentences that front-load the core purpose and key attributes (assets, caching, cost, readonly). No unnecessary text.

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

Completeness2/5

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

Missing details: what valid query parameters are accepted, how to specify which asset, expected response format. The output schema exists but its structure is not described. The tool's full capability is unclear.

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

Parameters3/5

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

The schema covers the single parameter 'params' with a description and example. The tool description redundantly instructs to pass params as JSON via the 'params' argument, adding minimal value. No further semantic detail beyond schema.

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

Purpose5/5

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

The description clearly states the tool provides 'USDC/ETH/SOL spot prices' with caching, which is a specific verb-resource combination. The name 'spraay_free_prices' and annotation 'free to call' make its purpose unambiguous.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus sibling tools like 'spraay_prices' or 'spraay_oracle_prices'. The only usage hint is 'Free to call', which implies a cost advantage but doesn't help with selection.

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

spraay_free_resolveA
Read-only

ENS & Basename → address resolution. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true. The description adds that the tool is free, which is useful context beyond annotations. No contradictions.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, no fluff. Every sentence serves a distinct function.

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

Completeness4/5

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

Given a single parameter, no required params, output schema exists, and annotations, the description covers purpose, free usage, read-only nature, and parameter format. Minor gap: no example of typical key-value pairs.

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

Parameters2/5

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

Schema coverage is 100% (one param described). The description restates 'Pass any query parameters as a JSON string', which adds no meaning beyond the schema. It does not specify valid keys like 'name' or 'domain', reducing clarity.

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

Purpose5/5

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

The description clearly states the tool resolves 'ENS & Basename' to addresses, using a specific verb and resource. It is distinct from sibling tools like spraay_resolve and spraay_free_validate_address.

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

Usage Guidelines3/5

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

The description mentions 'Free to call' and 'Read-only', giving some context, but does not explicitly specify when to use this tool over similar siblings (e.g., spraay_resolve). No when-not-to-use or alternative guidance.

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

spraay_free_timestampB
Read-only

Current Unix timestamp. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already provide readOnlyHint and openWorldHint. The description adds that it's free and returns the current timestamp, which is consistent but adds marginal 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.

Conciseness4/5

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

Two concise sentences front-load the core purpose and then explain the parameter usage. No unnecessary words.

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

Completeness4/5

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

For a simple read-only tool with output schema available, the description covers the essential aspects: what it does, cost (free), side effects (none), and parameter handling. No critical gaps.

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

Parameters3/5

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

Schema coverage is 100% with one parameter. The description reiterates the param usage but adds the phrase 'any query parameters' which could be ambiguous. No significant enrichment beyond what the schema provides.

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

Purpose4/5

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

The description clearly states it returns the current Unix timestamp. The verb 'timestamp' is specific, but it does not differentiate from other spraay_free_* siblings like free_gas or free_nonce, which is acceptable given the name distinction.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It only mentions it's free and read-only, but does not specify use cases or contrast with other timestamp or free tools.

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

spraay_free_uuidA
Read-only

UUID v4 generator (up to 100). Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already provide readOnlyHint and openWorldHint. The description adds that it is 'Free to call' and has a limit of 100 UUIDs, which are useful behavioral details beyond what annotations convey. No contradiction.

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

Conciseness5/5

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

The description is extremely concise with three short sentences, each adding important information (purpose, free/read-only, usage). No unnecessary words.

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

Completeness5/5

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

For a simple UUID generator with one optional parameter, the description covers all essential aspects: what it does, its limitations (up to 100), that it's free and read-only, and how to pass parameters. No gaps given the tool's low complexity.

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

Parameters3/5

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

The schema already describes the 'params' parameter fully (coverage 100%). The description merely restates 'Pass any query parameters as a JSON string via the params argument.' This adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states 'UUID v4 generator (up to 100)' and 'Free to call. Read-only.' This directly tells the agent what the tool does, and distinguishes it from many other 'free_' siblings by specifying UUID generation.

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

Usage Guidelines4/5

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

The description says 'Free to call. Read-only.' and explains how to use the params argument. While it does not explicitly mention when not to use it or alternatives, the tool's simplicity makes the usage obvious.

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

spraay_free_validate_addressA
Read-only

Multi-chain address checksum validation. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, and the description adds context: it's free, read-only, and multi-chain. No contradictions. Additional behavioral context beyond annotations is provided.

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

Conciseness5/5

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

Three concise sentences: purpose, cost/safety, parameter passing. No wasted words, front-loaded with key information.

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

Completeness4/5

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

Description covers purpose, cost, safety, and parameter passing. Output schema exists but is not detailed; however, for a simple validation tool, the context is adequate. Could specify supported chains or address formats.

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

Parameters3/5

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

Schema coverage is 100% with one parameter; the description reiterates how to pass query parameters as JSON, adding minimal meaning beyond the schema's existing description.

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

Purpose5/5

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

Description clearly states 'Multi-chain address checksum validation', a specific verb and resource. It distinguishes from sibling tools like spraay_free_chain_status or spraay_classify_address by focusing on address validation.

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

Usage Guidelines3/5

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

Description mentions it's free and read-only, and how to pass parameters, but does not explicitly state when to use this tool over alternatives, such as spraay_classify_address or other free tools. Guidance is implied but not explicit.

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

spraay_free_validate_batchA

BPA 1.0 payload schema validation. Free to call. Pass the request payload as a JSON string via the body argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesJSON request body

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.7/5.0
Behavior2/5

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

Annotations already indicate non-read-only and non-destructive. Description only adds 'Free to call', which is useful but does not elaborate on behavior like side effects or rate limits.

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

Conciseness5/5

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

Two sentences, front-loaded with the core purpose, then 'Free to call' and usage instruction. No unnecessary words.

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

Completeness5/5

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

Single parameter, simple tool. Output schema exists to describe returns. Description covers purpose, cost (free), and invocation. Complete for this complexity.

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

Parameters3/5

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

Schema coverage is 100% and schema already describes 'body' as 'JSON request body'. Description adds 'pass the request payload as a JSON string', which is slightly more explicit but not significantly beyond schema.

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

Purpose5/5

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

Clearly states it performs 'BPA 1.0 payload schema validation' with a specific verb and resource. Distinguishes from siblings like 'spraay_free_validate_address' by specifying batch validation.

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

Usage Guidelines3/5

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

Implies usage through 'Free to call' but lacks explicit when-to-use, when-not-to-use, or alternatives. Guidance is minimal.

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

spraay_free_x402_checkC

Probe URL for x402 payment support. Free to call. Pass the request payload as a JSON string via the body argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesJSON request body

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.7/5.0
Behavior1/5

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

There is a contradiction: the description implies a read-only operation ('Probe'), while annotations set readOnlyHint to false. No additional behavioral context is provided beyond 'Free to call', leaving ambiguity about side effects.

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

Conciseness5/5

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

The description is extremely concise with two sentences, each serving a distinct purpose (purpose and usage). No unnecessary words.

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

Completeness2/5

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

Given an output schema exists, return values are not required, but the description fails to hint at what the output indicates (e.g., boolean support). Lacks mention of errors, rate limits, or additional context for a simple probing tool.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds minimal value by explaining 'pass the request payload as a JSON string', but does not detail the structure or expected content of the JSON.

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

Purpose4/5

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

The description clearly states the tool's purpose ('Probe URL for x402 payment support') with a specific verb and resource. However, it does not explicitly differentiate from sibling tools like 'spraay_free' or other probes, relying on the name for distinction.

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

Usage Guidelines2/5

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

The description gives usage instructions ('Pass the request payload as a JSON string via the body argument') but does not provide when to use this tool versus alternatives, nor any conditions or exclusions.

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

spraay_gpu_modelsA
Read-only

List all available GPU model shortcuts grouped by category (image, video, LLM, audio, utility). Shows shortcut names, full Replicate model IDs, and descriptions. You can also use any Replicate model by its full ID. FREE — no USDC cost.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds value by clarifying it lists shortcuts and full IDs, and that it is free (no cost), enhancing transparency.

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

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences that front-load purpose and grouping, then add extra information about full ID usage and cost. No superfluous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and existence of output schema, description covers the output content (shortcuts, IDs, descriptions) and cost adequately. Complete for a simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist; baseline 4. Description does not need to explain parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it lists GPU model shortcuts grouped by category, with specific output details and cost information. It distinguishes from siblings by specifying 'GPU' and grouping.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies when to use (when needing GPU model list) but does not explicitly mention when not to use or alternatives among sibling tools like spraay_compute_models.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_gpu_runA

Run AI model inference on GPU via Replicate. Supports image generation (flux-pro, sdxl, ideogram), video generation (wan-video, minimax-video), LLMs (llama-70b, llama-8b, mixtral), audio (whisper transcription, musicgen), and utilities (esrgan upscaling, rembg background removal). Use shortcuts like 'flux-pro' or full model IDs like 'owner/model'. Returns output directly for fast models, or a poll URL for longer jobs. Costs $0.05 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesModel-specific input parameters. Image models: { prompt: '...' }. LLMs: { prompt: '...' }. Whisper: { audio: 'https://...' }. ESRGAN: { image: 'https://...' }.
modelYesModel shortcut (flux-pro, sdxl, llama-70b, whisper, esrgan, etc.) or full Replicate model ID (owner/model-name). Use spraay_gpu_models to list all shortcuts.
versionNoSpecific model version hash (optional — not needed for official models)
webhookNoWebhook URL for async result delivery (optional)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate it is not read-only. The description adds cost ($0.05 USDC) and output behavior (direct output or poll URL for long jobs), which are valuable for an agent. However, it does not detail potential side effects or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: it opens with the purpose, lists supported tasks, explains shortcut usage, and describes output behavior and cost. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multiple model types), full schema coverage, annotations, and an output schema, the description covers the essential aspects: purpose, parameters via examples, cost, and result delivery. It is complete for an agent to use confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds concrete examples for input (e.g., { prompt: '...' } for image models), which helps clarify the free-form 'input' object beyond the schema's generic description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Run AI model inference on GPU via Replicate' and enumerates supported model types (image, video, LLMs, audio, utilities). It distinguishes itself from sibling tools by specifying the Replicate integration and providing a list of shortcuts, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like spraay_compute_image_generation or other compute tools. While it mentions using spraay_gpu_models to list shortcuts, it does not exclude other tools or provide context for when this is the appropriate choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_gpu_statusA
Read-only

Check the status of a GPU prediction by ID. Use this to poll for results on longer-running jobs like video generation or large model inference. Returns output when complete. Costs $0.002 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPrediction ID returned from spraay_gpu_run

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds value beyond annotations by specifying it's for polling and mentioning cost and return behavior. Annotations already indicate read-only, so no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences covering purpose, usage, cost, and behavior with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Fully explains what the tool does, when to use it, what it returns, and cost. With only one parameter and output schema present, it's complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, baseline is 3. Description adds context that the ID comes from spraay_gpu_run, slightly enhancing usability.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it checks GPU prediction status, specifies use case (polling for longer-running jobs), and implicitly distinguishes from sibling spraay_gpu_run.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use for polling longer-running jobs, providing clear context. Does not explicitly state when not to use, but implied by nature of polling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_invoice_createA

Create a payment invoice with a pre-encoded ERC-20 transfer transaction. Supports USDC, USDT, DAI, EURC, WETH on Base. Data persists in Supabase. Returns invoice ID, payment instructions, and unsigned tx. Costs $0.005 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
memoNoInvoice description/memo (e.g. 'Web development - March 2026')
tokenYesPayment token symbol (e.g. 'USDC', 'USDT', 'DAI', 'EURC', 'WETH')
amountYesInvoice amount in human-readable units (e.g. '1500.00' for $1500)
creatorYesInvoice creator/payee wallet address (e.g. '0xYourAddress')
dueDateNoPayment deadline in ISO 8601 format (e.g. '2026-04-15')
recipientNoPayer address — omit for open invoice (anyone can pay)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate a non-read-only, open-world, non-idempotent, non-destructive tool. The description adds valuable context: data persists in Supabase, the returned transaction is unsigned, and there is a cost of $0.005 USDC. This goes beyond the annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the core action, and includes all essential information without fluff. Every clause adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (return values not needed in description) and the 100% parameter coverage, the description covers the tool's purpose, inputs, side effects (data persistence), cost, and constraints. It is sufficient for an AI agent to understand and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add new meaning to the parameters beyond what the schema already provides (e.g., token symbols, amount format, address patterns). The mention of 'pre-encoded ERC-20 transfer' contextualizes the parameters but doesn't add semantic detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action (create a payment invoice with a pre-encoded ERC-20 transfer), lists supported tokens (USDC, USDT, DAI, EURC, WETH) and chain (Base), mentions data persistence (Supabase), return values (invoice ID, payment instructions, unsigned tx), and cost ($0.005 USDC). This distinguishes it from sibling tools like spraay_invoice_get and spraay_invoice_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (creating an invoice with ERC-20 token on Base) but does not explicitly state when not to use it or mention alternatives among the many sibling tools. However, given the specificity, usage is well implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_invoice_getA
Read-only

Look up a specific invoice by ID. Returns full invoice details, on-chain balance check, and payment status. Data persists in Supabase. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesInvoice ID (e.g. 'INV-A1B2C3D4E5F6')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. Description adds value by specifying return content (full invoice details, on-chain balance check, payment status) and persistence in Supabase, plus cost.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no fluff. First sentence states purpose, second covers outputs, third mentions cost. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description adequately covers what the tool does, what it returns, and cost. No additional behavioral context is needed for a simple query tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with description for 'id'. The description does not add significant parameter semantics beyond the schema, but the context of return values indirectly reinforces the parameter's role. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Look up a specific invoice by ID', using a specific verb and resource. It distinguishes from siblings like spraay_invoice_list (list) and spraay_invoice_create (create).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While not explicitly stating when not to use, the description implies usage context (when you have an ID) and includes cost information ($0.001 USDC). No direct alternatives are given, but it's the only get-by-ID tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_invoice_listA
Read-only

List invoices by creator or payer address with optional status filter. Data persists in Supabase. Costs $0.002 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by invoice status
addressYesCreator or payer address to filter by (e.g. '0xYourAddress')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds context that data persists in Supabase and costs $0.002 USDC, which are useful behavioral traits not captured by annotations. This enhances transparency without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, each serving a clear purpose. It is front-loaded with the action and resource, and includes essential details like cost and persistence without redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (context signals indicate true), the description does not need to explain return values. It covers purpose, parameters, behavioral traits (cost, persistence), and is complete for a listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds meaning by specifying that the 'address' parameter can be a creator or payer address, which is not explicit in the schema. It also reinforces the optional status filter, adding value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists invoices by creator or payer address with an optional status filter, which is a specific verb+resource+scope. It distinguishes from siblings like spraay_invoice_create and spraay_invoice_get by specifying the list operation and filtering criteria.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you need to find invoices by address and optionally by status. It provides clear context but does not explicitly exclude alternatives or state when not to use this tool among the invoice-related siblings, like spraay_invoice_get for a single invoice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_kyc_statusA
Read-only

Check KYC verification status by record ID or wallet address. Returns verification level, check results, and expiry. Data persists in Supabase. Costs $0.005 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoKYC record ID (e.g. 'kyc_abc123')
addressNoEthereum address for lookup (alternative to ID)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds value by disclosing data persistence in Supabase and cost ($0.005 USDC), which are not in annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences covering purpose, inputs, returns, and cost. No redundant information, and the most important purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 optional params, output schema exists), the description covers all essential aspects: what it does, inputs, return fields, data persistence, and cost. Nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains the parameters. The description rephrases the alternatives ('by record ID or wallet address') but adds no new meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool's function: 'Check KYC verification status by record ID or wallet address.' It clearly identifies the resource (KYC status), the action (check), and the input alternatives, distinguishing it from sibling tools like spraay_kyc_verify.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool (to check KYC status), but lacks explicit guidance on when not to use it or comparisons to alternatives like spraay_kyc_verify. The usage context is implied and sufficient for most cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_kyc_verifyA

Initiate KYC/KYB verification for compliance-gated payments. Supports individual and business verification at basic, enhanced, or full levels. Data persists in Supabase. Costs $0.05 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoVerification type (default: 'individual')
levelNoVerification level (default: 'basic')
addressYesEthereum address to verify

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds behavioral context: data persists in Supabase and costs $0.05 USDC, beyond annotations which only indicate mutability. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, each sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers key aspects: purpose, levels, cost, persistence. Output schema handles return values. Missing prerequisites but acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 3 parameters with descriptions; the description adds no extra parameter meaning beyond what schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Initiate KYC/KYB verification for compliance-gated payments', specifying verb and resource, and distinguishes itself from siblings like spraay_kyc_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly guides when to use (for initiating verification in compliance-gated payments), but lacks explicit exclusions or alternative tool references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_logs_ingestA

Ingest structured logs for debugging and monitoring agent workflows. Accepts up to 100 entries per batch. Data persists in Supabase. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
entriesYesArray of 1-100 log entries

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds value beyond annotations by specifying cost ($0.001 USDC), persistence in Supabase, and batch size limits. Annotations provide readOnlyHint=false, destructiveHint=false, etc., and the description does not contradict them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with three sentences covering purpose, batch limit, persistence, and cost. No wasted words; front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter tool with full schema coverage and annotations, the description is quite complete. It covers purpose, batch constraints, persistence, and cost. Minor omissions like error handling are acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents the 'entries' parameter thoroughly. The description does not add additional meaning or context beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool ingests structured logs for debugging and monitoring, distinguishing it from the sibling spraay_logs_query. It specifies batch limits and cost, but does not explicitly differentiate from other similar tools, though it is unique among siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for debugging and monitoring but lacks explicit guidance on when to use this tool versus alternatives, such as the query tool. No when-not-to-use or explicit alternatives are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_logs_queryA
Read-only

Query structured logs by service, level, and time range. Returns matching log entries sorted newest first. Data persists in Supabase. Costs $0.003 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNoFilter by log level
limitNoMax results to return (default: '50', max: '500')
sinceNoStart time in ISO 8601 format (e.g. '2026-03-01T00:00:00Z')
serviceNoFilter by service name (e.g. 'batch-agent')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds useful context about data persistence (Supabase) and cost ($0.003 USDC), but does not mention pagination, rate limits, or result truncation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences, each adding distinct information: purpose and filters, sorting behavior, and contextual details (persistence and cost). It is front-loaded and free of redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and annotations, the description covers the tool's core function, sorting, cost, and data persistence. It does not mention pagination or the default/ maximum limit, but these are noted in the schema. Overall, it is complete enough for a query tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already described in the schema. The description only summarizes the filters ('service, level, and time range') without adding new meaning or usage constraints beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Query'), the resource ('structured logs'), and the available filters ('by service, level, and time range'). It also notes the return sorting ('newest first'), which distinguishes it from ingestion or audit tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives like spraay_audit_query or spraay_logs_ingest. The purpose is clear but the context for selection 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.

spraay_modelsA
Read-only

List all 200+ AI models available on the Spraay x402 Gateway. Returns model IDs, providers, and context window sizes. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. Description adds cost ($0.001 USDC) and output specifics, which are behavioral traits beyond annotations. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with purpose, efficient. Every word adds value: action, scope, output, cost.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and presence of output schema, description covers all needed: purpose, return details, cost. Complete for a simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters, so description naturally adds no param info. With 100% schema coverage (no params), baseline 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it lists all 200+ AI models on the Spraay x402 Gateway. Specifies return fields (model IDs, providers, context window sizes). Distinguishes from sibling model tools that are more specialized (e.g., spraay_compute_models, spraay_bittensor_models).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies this is the primary tool for listing all models, but does not explicitly guide when to use sibling model tools. Missing when-not-to-use or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_notify_emailA

Send an email notification via AgentMail for payment confirmations, alerts, receipts, or general communication. Supports subject, CC, and reply-to. Costs $0.003 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoCC email address
toYesRecipient email address (e.g. 'user@example.com')
bodyYesEmail body content (plain text or HTML)
replyToNoReply-to email address
subjectNoEmail subject line

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the cost ($0.003 USDC), which is beyond annotations. Annotations already indicate it's not read-only, not idempotent, and not destructive. The description adds context on supported fields but could mention idempotency or error behavior. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences that are front-loaded with purpose, immediately followed by features and cost. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (send email), the description covers purpose, features, and cost. The output schema is present but not needed for completeness. Could mention if HTML is allowed (schema says plain text or HTML) but it's in parameter description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema itself describes all parameters. The description adds value by summarizing supported features (subject, CC, reply-to) and the cost, which is not in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sends an email notification via AgentMail, specifies use cases (payment confirmations, alerts, receipts, general communication), and lists supported features (subject, CC, reply-to). This distinguishes it from siblings like spraay_notify_sms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear use cases and notes the cost, implying when to use (for notifications) but does not explicitly state when not to use or provide alternatives. The distinction from SMS is implicit via naming.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_notify_smsA

Send an SMS notification for payment alerts (simulated — Twilio integration coming). Requires E.164 phone format. Costs $0.005 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesPhone number in E.164 format (e.g. '+14155551234')
bodyYesSMS message body (max 1600 characters)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations show it's not read-only, not idempotent, not destructive. Description adds important behavioral context: it's simulated (Twilio integration coming) and costs $0.005 USDC per message, which is beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff. First sentence states purpose and current status; second adds requirements and cost. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description adequately covers purpose, prerequisites, cost, and simulation status. Missing details about error handling or behavior when parameters are invalid, but those are covered by schema constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions. Description adds the E.164 format requirement (already in schema) and cost context, but does not significantly enhance meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action ('Send an SMS notification') and resource ('payment alerts'). Distinguishes from siblings like spraay_notify_email by specifying SMS. Also notes it's simulated, adding clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context: requires E.164 format and costs USDC. Doesn't explicitly state when to use instead of other notification methods, but the purpose is implied. No exclusions or alternatives mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_notify_statusA
Read-only

Check delivery status of a previously sent email or SMS notification by notification ID. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNotification ID returned from spraay_notify_email or spraay_notify_sms (e.g. 'ntf_abc123')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds a cost disclosure ($0.001 USDC) and confirms it is a status check, which is non-destructive. This extra context is valuable and does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, focused sentence that conveys the essential information (action, resource, input, cost) with no unnecessary words. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple nature of the tool (one input, output schema exists), the description covers all necessary details: what it does, what input is required, where that input comes from, and cost. It is complete without needing to describe return values due to the presence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes the 'id' parameter with full coverage (100%). The description adds concrete context: it specifies the origin of the ID (from spraay_notify_email or spraay_notify_sms) and provides an example format ('ntf_abc123'), enhancing understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Check delivery status'), the resource ('previously sent email or SMS notification'), and the input ('by notification ID'). It distinguishes from sibling notification tools that send rather than check status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly guides use by mentioning the ID comes from spraay_notify_email or spraay_notify_sms, indicating it should be called after sending. It does not explicitly state when not to use or provide alternatives, but the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_oracle_fxA
Read-only

Get stablecoin exchange rates with depeg detection. Returns cross-rates between USDC, USDT, DAI, and EURC. Costs $0.002 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseNoBase stablecoin for rate calculation (default: 'USDC'). Options: USDC, USDT, DAI, EURC

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint, openWorldHint) are present; the description adds the key behavioral trait of 'depeg detection' and discloses cost. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose and key differentiator, then details. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema and simple input, the description covers purpose, assets, feature (depeg detection), and cost. Fully sufficient for the complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one optional parameter described. The description adds meaning beyond the schema by mentioning depeg detection and cost, which are not in the parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get stablecoin exchange rates with depeg detection.' It specifies the exact stablecoins involved (USDC, USDT, DAI, EURC) and that it returns cross-rates, distinguishing it from sibling tools like spraay_oracle_gas and spraay_oracle_prices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly guides usage by specifying the domain (stablecoin rates) and cost ($0.002 USDC). It does not explicitly mention when not to use or provide alternatives, but the context is clear enough for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_oracle_gasA
Read-only

Get current gas prices on Base in gwei. Returns base fee, priority fee, and estimated transaction costs. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true, so the description adds value by disclosing the cost ($0.001 USDC) and clarifying the specific data returned. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two front-loaded sentences: first states purpose, second lists returns and cost. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists and there are no input parameters, the description covers the key points: network, unit, what is returned, and cost. Complete for a simple read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has zero parameters, so schema coverage is 100%. The description does not need to add parameter info and provides no misleading statements. Baseline score of 4 for no parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets current gas prices on Base in gwei, lists the specific returns (base fee, priority fee, estimated tx costs), and the tool name distinguishes it from sibling oracle tools like spraay_oracle_fx and spraay_oracle_prices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context (Base network, paid) but does not explicitly state when to use versus alternatives like spraay_free_gas or spraay_oracle_prices. No exclusion criteria are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_oracle_pricesA
Read-only

Get real-time on-chain token prices with confidence scores from Uniswap V3 QuoterV2 on Base. Returns USD prices for ETH, WETH, cbBTC, USDT, DAI, EURC, and more. Costs $0.003 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokensNoComma-separated token symbols (e.g. 'ETH,cbBTC,USDT'). Omit to get all supported token prices.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, indicating read-only and non-exhaustive behavior. The description adds value by disclosing cost ($0.003 USDC) and source, which are beyond annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, with no unnecessary words. The verb 'Get' appears first, making the purpose immediately clear. Every sentence adds value: source, tokens, cost.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values are covered. The description mentions source, real-time nature, confidence scores, token examples, and cost – all necessary context for a simple price retrieval tool. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema already provides a detailed description of the 'tokens' parameter (comma-separated, optional). The description adds little beyond 'and more' – meaning it doesn't significantly enhance understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'get' and the resource 'real-time on-chain token prices' with specifics about the source (Uniswap V3 QuoterV2 on Base) and examples of tokens (ETH, WETH, cbBTC, USDT, DAI, EURC). It distinguishes from sibling price tools by mentioning confidence scores and cost.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for real-time token prices on Base but does not explicitly state when to use this tool versus alternatives like spraay_free_prices or spraay_prices. No exclusions or when-not-to-use guidance are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_payroll_estimateA

Estimate gas and fees for a payroll batch before executing. Returns estimated gas in wei and USD. Costs $0.002 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNoPayment token symbol (default: 'USDC')
employeeCountYesNumber of employees to pay (1-200)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate it's not read-only nor destructive, and the description adds that it costs $0.002 USDC, providing useful cost transparency. It does not detail other potential side effects, but the estimation nature is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences: the first states the core action, the second adds return format and cost. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description adequately covers the key aspects (action, return, cost). It could mention prerequisites or limit warnings but is sufficient for a simple estimation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with each parameter having a description. The description adds no additional parameter-specific meaning beyond the schema, but it does provide output context (gas in wei and USD) that indirectly helps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Estimate gas and fees') and the resource ('payroll batch before executing'). It specifies the return values (gas in wei and USD) and cost, distinguishing it from related tools like spraay_payroll_execute.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly guides usage by stating 'before executing', indicating it's a pre-execution step. However, it does not explicitly list when not to use it or compare it to alternatives like spraay_batch_estimate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_payroll_executeA

Execute a payroll batch payment via Spraay V2 contract on Base. Pay up to 200 employees in a single transaction with any stablecoin. Returns unsigned transaction data. Costs $0.02 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesPayment token symbol (e.g. 'USDC', 'USDT', 'DAI')
senderYesEmployer/sender wallet address
employeesYesArray of 1-200 employee payment objects

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate write (readOnlyHint=false), not destructive. Description adds that it returns unsigned transaction data and costs $0.02 USDC, providing useful behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each essential: operation, batch size, return type, cost. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers key aspects: action, constraints (200 employees), return type, and cost. Missing details on prerequisites or idempotency, but output schema exists. Complete enough for execution tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions. Description provides example values (e.g., '2500' for amount) but adds no novel semantics beyond schema. Baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb+resource: 'Execute a payroll batch payment via Spraay V2 contract on Base'. Specifies batch size (200 employees), stablecoin, and return type. Distinguishes from siblings like spraay_payroll_estimate and spraay_payroll_tokens.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternatives mentioned. It's implied for executing payroll after estimation, but no guidance on prerequisites or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_payroll_tokensA
Read-only

List all stablecoins supported for payroll on Base. Returns symbols, addresses, and decimals. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the description adds non-critical details like cost and return contents. This is adequate but does not provide deep behavioral insight beyond what is already known.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. First sentence states purpose, second adds return details and cost. Highly concise and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema, the description does not need to detail return format. It includes cost information, which is a useful behavioral context. Could mention frequency or pagination, but not necessary for a simple list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, the description adds meaning by specifying return fields (symbols, addresses, decimals) and cost, which the empty schema does not convey. Baseline for 0 params is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'List' and resource 'stablecoins supported for payroll on Base', clearly distinguishing it from sibling tools like spraay_tokens (general tokens) and spraay_payroll_estimate/execute.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly states when to use (retrieve supported stablecoins for payroll on Base), but does not explicitly mention when not to use or provide alternatives, which is acceptable given its straightforward nature.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_portfolio_nftsC
Read-only

Portfolio NFTs. Costs $0.005 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesaddress parameter
networksNonetworks parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description's 'Read-only' is redundant. It adds cost information ($0.005 per call), which is useful behavioral detail. No other behavioral traits (rate limits, data freshness) are disclosed. The description adds some value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences with no fluff. It front-loads the resource name but lacks a verb. Efficient, but a verb-phrase start would improve clarity. Still, it conveys key points (cost, read-only, usage) succinctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return value explanation is not needed. However, the description does not clarify what 'networks' means or the scope of NFTs returned (e.g., all NFTs for an address or specific collection?). With only two parameters and high schema coverage, it is minimally sufficient but misses context that could help the agent understand the tool's full behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with minimal descriptions ('address parameter', 'networks parameter'). The description adds no further meaning; 'Pass the listed fields directly as typed arguments' just restates schema existence. Baseline 3 is appropriate as schema already documents parameters, though it could benefit from clarifying 'networks' format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Portfolio NFTs' identifies the resource but lacks an explicit verb like 'get' or 'list'. It conveys the domain but is vague compared to sibling spraay_portfolio_tokens, which likely does similar for tokens. The purpose is inferable but not precisely stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions cost and read-only nature, which are helpful, but provides no guidance on when to use this tool vs. alternatives like spraay_portfolio_tokens or other NFT-related tools. It does not state exclusions or context for choosing this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_portfolio_tokensC
Read-only

Portfolio tokens. Costs $0.005 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesaddress parameter
networksNonetworks parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description adds cost per call and instruction to pass fields directly, but this is minimal. No disclosure of error handling or output details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short but not effectively front-loaded. 'Portfolio tokens' is a noun phrase that doesn't earn its place. The cost and read-only info are useful, but overall it's under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool with 2 params and output schema, the description still fails to explain the core purpose. An agent would have incomplete context to invoke correctly, as it doesn't clarify what the tool returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema; schema descriptions are basic ('address parameter'). No elaboration on parameter format or acceptable values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Portfolio tokens' without a verb, making it unclear if the tool retrieves, lists, or something else. The name suggests portfolio, but it does not specify the action, unlike typical tool descriptions that start with 'Get' or 'List'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool relative to alternatives like spraay_tokens or spraay_portfolio_nfts. It only states it's read-only and costs money, but not context for choosing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_pricesA
Read-only

Get live on-chain token prices on Base from Uniswap V3 pools. Returns USD prices with timestamps. Costs $0.002 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNoSpecific token symbol (e.g. 'WETH', 'cbBTC'). Omit to get all supported token prices.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds cost ($0.002 USDC) and return format (USD prices with timestamps) beyond annotations. Annotations already mark readOnlyHint and openWorldHint. No contradictions; sufficient behavioral context for a simple read tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single sentence plus cost mention, front-loading the action. Every sentence provides value; no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low complexity (1 optional param, output schema exists), the description covers all essential aspects: source (Base, Uniswap V3), output (USD prices, timestamps), and cost. Annotations handle safety and variability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Parameter semantics are fully covered by the input schema (100% coverage), which already describes the 'token' parameter. Description adds no extra meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it gets live on-chain token prices on Base from Uniswap V3 pools, returning USD prices with timestamps. Verb 'Get' and specific resource distinguish it from sibling tools like spraay_free_prices and spraay_oracle_prices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies use for live Base Uniswap V3 prices but lacks explicit when-to-use or alternatives. No direct contrast with other price tools or conditions for opting out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_biomedical_by_pmidA
Read-only

Paper metadata by PubMed ID. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
pmidYespmid parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint. Description adds cost ($0.001 per call) and reiterates read-only nature, providing behavioral context beyond annotations. Does not address error behavior or rate limits, but output schema covers returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, front-loaded with the core purpose. No redundant information; every sentence serves a purpose (purpose, cost, safety, usage instruction).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with output schema, the description covers purpose, cost, and safety. Missing explicit error handling details, but contextual completeness is high given low complexity and sibling differentiation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% but the schema parameter description ('pmid parameter') is tautological. The tool description clarifies that this is a PubMed ID, adding meaningful semantics beyond the schema. Baseline of 3 is raised to 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Paper metadata by PubMed ID', clearly identifying the verb (retrieve) and resource (paper metadata), and distinguishes it from siblings like search and related tools that operate on queries or related papers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage context: use when you have a PubMed ID and need metadata. However, no explicit guidance on when not to use this tool or alternatives like spraay_research_biomedical_search, leaving room for ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_chemistry_bioactivityA
Read-only

Biological assay results for a PubChem compound. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYescid parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description adds behavioral context: cost ($0.002 per call) and the requirement to pass fields directly. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler. The first sentence states the core action, the second adds cost and usage notes. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple input (one parameter) and the presence of an output schema, the description adequately covers what the tool does, its cost, its read-only nature, and how to invoke it. No gaps for this complexity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% but parameter description is minimal ('cid parameter'). The tool description adds meaning by stating it provides bioassay results for a PubChem compound, clarifying that 'cid' is a PubChem compound ID.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides biological assay results for a PubChem compound. This distinguishes it from sibling tools like spraay_research_chemistry_compound (compound properties) and spraay_research_chemistry_similarity (similarity search).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes cost and read-only info, and instructs to pass listed fields directly. However, it does not explicitly differentiate when to use this versus similar sibling tools, leaving usage guidance vague.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_chemistry_compoundA
Read-only

PubChem compound by name, formula, or CID. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
cidNocid parameter
nameNoname parameter
formulaNoformula parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description reinforces read-only and adds cost information ($0.002 USDC per call), which is valuable beyond annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, front-loaded with key info. Each sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists and the tool is a simple lookup, the description covers the essential: resource, methods, cost, and read-only. However, it could mention that the parameters are optional search criteria and possibly the response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions are tautological ('cid parameter', etc.) and uninformative. The tool description mentions 'by name, formula, or CID' but does not explain the parameters' semantics or when to use each. With high schema coverage but poor descriptions, the tool description fails to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the resource (PubChem compound) and the lookup methods (by name, formula, or CID). It distinguishes from sibling tools like spraay_research_chemistry_bioactivity and spraay_research_chemistry_similarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions cost and read-only nature but does not provide explicit when-to-use or when-not-to-use guidance compared to alternatives. It implies use when you have a compound identifier but lacks exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_chemistry_similarityA
Read-only

Find structurally similar compounds in PubChem. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYescid parameter
thresholdNothreshold parameter
max_recordsNomax_records parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description adds valuable behavioral context: cost per call and a reminder to pass fields as typed arguments. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences: purpose, cost, read-only, and parameter guidance. No fluff or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While output schema exists and purpose is clear, the description lacks details on how threshold and max_records affect results, and what 'structurally similar' means. Adequate but not fully complete for a chemistry tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, but descriptions are minimal ('cid parameter', etc.). The tool description does not clarify the meaning of threshold or max_records beyond the schema. Baseline 3 applies due to high coverage, but no added value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool finds structurally similar compounds in PubChem, using a specific verb and resource. It distinguishes from sibling chemistry tools (e.g., bioactivity, compound) by focusing on similarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the tool is read-only and costs $0.002, implying safe usage, but does not provide explicit when-to-use or alternatives among the many research tools. The usage context is 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.

spraay_research_demographics_censusA
Read-only

US Census data by state, county, or zip. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNogeo parameter
yearNoyear parameter
datasetNodataset parameter
variablesNovariables parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds value by stating the cost ($0.001 per call) and reinforcing the read-only nature. This provides behavioral transparency beyond annotations, though it does not detail error handling 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (two sentences, four clauses) and front-loaded with the purpose. It efficiently conveys key information such as cost and usage instruction, though it could be slightly more structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (4 string params, none required) and the presence of an output schema, the description is adequate. It covers cost, readonly nature, and geographic scope. Missing details like return format are handled by the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with basic descriptions for each parameter. The description does not add meaning beyond the schema, merely advising to pass fields directly. With high schema coverage, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides 'US Census data by state, county, or zip,' which is specific and distinct from sibling tools. The verb 'research' in the name and the explicit mention of geographic scopes make the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a usage instruction ('Pass the listed fields directly as typed arguments') and notes cost and read-only status, which helps with usage decisions. However, it does not provide guidance on when to use this tool versus alternatives, such as the related sibling 'spraay_research_demographics_datasets'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_demographics_datasetsA
Read-only

Search Data.gov datasets by keyword. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesq parameter
rowsNorows parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, and the description adds cost ($0.001 USDC per call) and a directive to pass arguments directly. This provides useful behavioral context beyond annotations, though it does not detail response behavior (output schema covers that).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of four short, front-loaded sentences: purpose, cost, safety, and usage instruction. Every sentence adds value without redundancy, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low parameter count and existence of output schema, the description covers purpose, cost, and safety. However, it fails to explain the 'rows' parameter or any usage specifics like rate limits. The instruction 'pass the listed fields directly as typed arguments' is vague but acceptable for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema descriptions are minimal ('q parameter', 'rows parameter') with 100% coverage but no meaningful explanation. The description implies 'q' is a keyword but does not explain 'rows' (likely page size). No additional semantics are provided beyond what the parameter names suggest.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Search', the resource 'Data.gov datasets', and the method 'by keyword'. This distinguishes it from sibling tools like spraay_research_demographics_census (specific census data) and other research search tools, providing a specific and actionable purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for searching Data.gov datasets by keyword but does not explicitly state when not to use it or mention alternatives like spraay_research_demographics_census for census-specific data. The cost and read-only hint provide context but no exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_dictionary_defineA
Read-only

Dictionary definition with phonetics and examples. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNolang parameter
wordYesword parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint. The description adds the cost per call and instructions to pass fields as typed arguments, which are valuable behavioral details 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences that front-load purpose and key constraints (cost, read-only, invocation style). Every sentence is necessary and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with an output schema and annotations, the description covers purpose, cost, safety, and invocation. No critical information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters with descriptions. The description adds no additional meaning to the parameters, only a generic instruction to pass fields directly, so it does not improve on the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides dictionary definitions with phonetics and examples. However, it does not differentiate from sibling tools like spraay_research_dictionary_phonetics or spraay_research_dictionary_synonyms, which could cause ambiguity in selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions cost ($0.001 per call) and read-only nature, offering some usage context. But it does not explicitly state when to use this tool versus alternatives or provide any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_dictionary_phoneticsA
Read-only

Phonetic transcription and audio URL. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
wordYesword parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description's 'Read-only' is consistent. The description adds valuable behavioral context, such as the cost of $0.001 USDC per call, which is beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences, front-loaded with the core purpose. Every sentence adds value: purpose, cost, read-only, and argument handling. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a single required parameter, annotations, and the presence of an output schema (which covers return values), the description provides sufficient context. It covers purpose, cost, safety, and argument usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the schema already describes the 'word' parameter. The description's instruction to 'pass the listed fields directly as typed arguments' adds no new meaning beyond the schema, so baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides 'phonetic transcription and audio URL,' a specific verb+resource combination. It distinguishes itself from sibling tools like 'dictionary_define' and 'dictionary_synonyms' by focusing on phonetics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions cost ($0.001 USDC per call) and read-only nature, giving some context. However, it does not provide explicit guidance on when to use this tool versus alternatives, nor does it state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_dictionary_synonymsA
Read-only

Synonyms and antonyms for a word. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
wordYesword parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds cost information ($0.001 USDC per call) and reiterates read-only, which is consistent and provides additional value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, using four short sentences. The last sentence about passing fields is somewhat redundant given the input schema, but overall efficient and front-loaded with the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and an output schema, the description adequately communicates purpose, cost, and usage. It is complete enough for an AI agent to understand what the tool does and how to call it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter 'word' with a generic description. The description clarifies that the parameter is the word for which synonyms/antonyms are retrieved, adding meaning beyond the schema. Schema coverage is 100%, so the description compensates for the poor schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides 'Synonyms and antonyms for a word,' which is a specific verb+resource. It distinguishes itself from sibling tools like 'spraay_research_dictionary_define' and 'spraay_research_dictionary_phonetics' by focusing on synonyms/antonyms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions cost and read-only nature but does not explicitly state when to use this tool versus alternatives like the define or phonetics tools. Usage context is implied by the name but not elaborated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_papers_by_authorA
Read-only

Papers by author name or ORCID (OpenAlex). Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNopage parameter
orcidNoorcid parameter
authorNoauthor parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and openWorldHint=true. The description adds cost per call and source (OpenAlex), but does not disclose behaviors like pagination, error handling, or what happens when both author and orcid are provided. Value added beyond annotations is moderate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loading purpose, then cost and usage notes. It avoids fluff but could be more structured (e.g., bullet points). Still efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given existing annotations and output schema, the description covers main purpose and cost, but omits pagination behavior, optionality of parameters, and potential error cases. Adequate for simple tool but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions are minimal ('page parameter'). The description says to pass fields directly, but fails to clarify format (e.g., full name vs. fragment, ORCID URI format) or the relationship between 'author' and 'orcid' (e.g., are they mutually exclusive?). The description adds insufficient meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves papers by author name or ORCID from OpenAlex, distinguishing it from siblings like spraay_research_papers_by_doi (by DOI) and spraay_research_papers_search (general search).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions cost and read-only nature, but does not explicitly guide when to use this tool vs other paper-related siblings (e.g., by author vs search vs trending). It provides basic context but lacks exclusionary guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_papers_by_doiA
Read-only

Paper metadata by DOI (OpenAlex). Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiYesdoi parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint. The description adds cost ($0.001) and source (OpenAlex), and clarifies parameter passing ('directly as typed arguments'), which goes beyond annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only three sentences, front-loads purpose, cost, and behavior, and contains no extraneous information. Every sentence is valuable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with annotations and an output schema, the description covers the key aspects: purpose, cost, read-only, and parameter passing. It is sufficient for an agent to understand and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description for 'doi' is minimal ('doi parameter'), and the tool description does not elaborate on what the DOI should be (e.g., format, examples). The generic instruction about passing fields does not add specific semantic meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves paper metadata by DOI using OpenAlex, which is a specific verb+resource. This distinguishes it from sibling tools like spraay_research_scholarly_by_doi and spraay_research_papers_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions cost and read-only nature, providing some context, but does not explicitly state when to use this tool vs alternatives like spraay_research_scholarly_by_doi. No exclusion criteria or alternative names are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_papers_citationsA
Read-only

Citation graph - cited-by count and references. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoid parameter
doiNodoi parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description's 'Read-only' is redundant. It adds cost information ($0.002 per call) and a usage hint ('Pass the listed fields directly as typed arguments'), but does not disclose behavior when both id and doi are provided, or error handling for missing parameters. The openWorldHint annotation suggests incomplete documentation, and the description does not fill that gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first states the purpose concisely, and the second adds cost, safety, and usage hint. It is front-loaded with the key functionality and contains no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists (not shown), so return values are documented separately. However, the description omits prerequisites (e.g., need for a paper identifier), potential error conditions, or behavior when both parameters are provided. Given the tool's simplicity, it is acceptable but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% by parameter count, but the individual descriptions ('id parameter', 'doi parameter') are uninformative. The main description adds that the tool is about citations, implying id/doi identify a paper, but does not explain the difference between id and doi or specify that one must be provided. Baseline is 3 due to high coverage, and no additional value is provided beyond that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Citation graph - cited-by count and references' clearly states a specific verb+resource: it provides citation graph data (incoming cited-by count and outgoing references). This distinguishes it from sibling tools like spraay_research_papers_by_doi or spraay_research_papers_search which focus on paper metadata or search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions cost and read-only nature, which is helpful but does not provide explicit guidance on when to use this tool versus alternatives like spraay_research_papers_by_doi or spraay_research_papers_search. It lacks 'when not to use' or specific context about prerequisites or fallback options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_preprints_by_idA
Read-only

arXiv preprint metadata by ID. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds cost information and guidance to pass fields as typed arguments, which provides additional behavioral context beyond annotations. There is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of three short sentences that immediately convey purpose, cost, read-only nature, and argument style. No redundant information, and the most critical information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (single parameter, output schema present, annotations provided), the description covers the essential aspects: purpose, cost, behavioral constraints, and parameter usage. It does not include examples or input format specifics, but the output schema mitigates the need for return value explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter 'id' with a vague description 'id parameter' (100% coverage). The description clarifies that the id is an arXiv preprint ID, adding meaning beyond the schema. It also provides guidance on how to pass the parameter ('directly as typed arguments').

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves arXiv preprint metadata by ID. The tool name and description together specify the exact resource and action, distinguishing it from sibling tools like spraay_research_preprints_search and spraay_research_preprints_recent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates it is read-only and costs $0.001 USDC, implying it should be used when you have a specific arXiv ID. However, it does not explicitly mention when to use this tool versus alternative tools (e.g., search or recent preprints), nor does it provide exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_preprints_recentB
Read-only

Latest arXiv preprints by category. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNocategory parameter
max_resultsNomax_results parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and openWorldHint=true. The description adds value by stating cost ($0.002 per call) and a usage hint about passing parameters as typed. No contradictions with annotations, but no additional behavioral details beyond cost.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with four sentences, each providing essential information: purpose, cost, read-only nature, and parameter handling. Information is front-loaded and there is no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two optional string parameters and an output schema (plus annotations), the description covers purpose, cost, read-only, and parameter usage. It is complete enough for an agent to understand and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions are trivial ('category parameter', 'max_results parameter'). The tool description adds that category is an arXiv category, which provides some meaning. However, it does not explain the format (e.g., 'cs.AI') or any constraints for max_results. With 100% schema coverage baseline, the description adds marginal value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Latest arXiv preprints by category' clearly states the tool's purpose: retrieving recent preprints from arXiv, filtered by category. The name 'recent' distinguishes it from sibling tools like 'spraay_research_preprints_search' and 'spraay_research_preprints_by_id'. However, the verb is implicit (not 'get' or 'list'), so not perfectly specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives. It mentions 'by category' but does not explain when to use this over the search or by-id variants. There is no when-not-to-use or alternative tool suggestions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_scholarly_by_doiA
Read-only

Full Crossref metadata for any DOI. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiYesdoi parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint. The description adds useful behavioral details: cost ($0.001 per call) and the scope ('Full Crossref metadata'). No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences with no wasted words. Every sentence adds value: purpose, cost, read-only hint, and calling convention.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema, the description adequately covers all necessary context: what it does, cost, read-only nature, and parameter passing. Complete for a simple lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter 'doi'. The schema description is minimal ('doi parameter'), and the tool description does not add meaning beyond stating to pass the fields as typed arguments. The parameter name is self-explanatory, so score is baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns 'Full Crossref metadata for any DOI'. The verb 'get' is implied, and the resource is specific. Distinguished from siblings by specifying 'Full Crossref metadata', which is more comprehensive than related tools like spraay_research_papers_by_doi.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage when a DOI is available but does not explicitly contrast with alternatives like spraay_research_scholarly_search or spraay_research_papers_by_doi. No when-not-to-use guidance provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_scholarly_citations_countA
Read-only

Citation count and references for a DOI. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiYesdoi parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and openWorldHint=true. The description adds cost and states 'Read-only', but does not disclose additional traits like rate limits or result structure. Output schema covers return format, so this is acceptable but not enhanced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is brief (three sentences) and front-loaded with purpose. The sentence 'Pass the listed fields directly as typed arguments' is slightly redundant with schema, but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool (1 param, output schema exists, annotations cover safety), the description is largely complete: purpose, cost, read-only. Could explicitly contrast with similar tools for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter 'doi' with schema description 'doi parameter' is minimal. The description does not add extra meaning (e.g., format, example). Since schema coverage is 100%, baseline is 3; no additional value provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides 'Citation count and references for a DOI', with a specific verb (get) and resource (citation count/references) and input (DOI). This distinguishes it from siblings like spraay_research_scholarly_by_doi (full metadata) and spraay_research_papers_citations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Cost and read-only nature are stated, but no explicit guidance on when to use vs. alternatives (e.g., spraay_research_scholarly_by_doi). The description does not exclude cases where more detail is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_research_scholarly_journal_infoA
Read-only

Journal metadata by ISSN. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
issnYesissn parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds that it costs $0.001 USDC per call, which is not covered by annotations, and confirms read-only behavior. However, it does not disclose error handling or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with three sentences. The purpose is front-loaded, and every sentence adds value: purpose, cost/read-only, and invocation instruction. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description does not need to detail return values. However, it lacks context about what journal metadata is returned (e.g., title, publisher) and prerequisites. With many sibling tools, more clarity on scope would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, issn, is described in the schema as 'issn parameter'. The description adds 'Pass the listed fields directly as typed arguments', which is generic and does not enhance understanding. Since schema coverage is 100%, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Journal metadata by ISSN', specifying the verb (retrieve metadata) and resource (journal by ISSN). The tool name also indicates it's for scholarly journal info, distinguishing it from sibling tools like spraay_research_papers_by_doi or spraay_research_biomedical_by_pmid.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly guide when to use this tool versus alternatives. It lacks statements like 'Use when you have an ISSN; for other identifiers use other tools.' The context is implied but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_resolveA
Read-only

Resolve ENS names (.eth) and Basenames (.base.eth) to wallet addresses, or perform reverse lookup from address to name. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesENS name (e.g. 'vitalik.eth'), Basename (e.g. 'satoshi.base.eth'), or address for reverse lookup (e.g. '0xd8dA...')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate readOnlyHint=true and openWorldHint=true, so the description is not required to reiterate that. The description adds valuable behavioral context: it clarifies that both forward lookups (name to address) and reverse lookups (address to name) are supported, and it discloses the cost of $0.001 USDC. These details go beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise, consisting of just two sentences. Every word serves a purpose: it states the function, the supported name types, the lookup directions, and the cost. There is no redundancy or irrelevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (single parameter, clear schema, available output schema), the description covers all essential aspects: supported name services, both operations (forward and reverse), and cost. No additional information is needed for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides a detailed description of the 'name' parameter with formatting examples and mode hints. With 100% schema coverage, the baseline is 3. The tool description adds general context but no additional parameter-specific semantics beyond the cost mention.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool resolves ENS names and Basenames to wallet addresses and can perform reverse lookups. The verb 'resolve' and the specific resources (ENS, Basenames, addresses) make the purpose unambiguous. However, it does not differentiate itself from the sibling tool 'spraay_free_resolve' that likely provides a free alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the cost ($0.001 USDC) but provides no explicit guidance on when to use this tool versus its free counterpart or any prerequisites. There's no mention of when not to use it or alternatives, leaving the agent to infer based on cost alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_robots_completeA

Report Task Complete (RTP). Free to call. Pass the request payload as a JSON string via the body argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesJSON request body

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false, destructiveHint=false, etc. The description adds 'Free to call' but does not disclose other behavioral traits like side effects or state changes beyond what annotations provide. This is adequate but not enhanced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two short sentences, front-loading the purpose. Every part is useful with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and output schema, the description is minimal. It explains how to call it but does not clarify what constitutes a 'request payload' or prerequisite conditions (e.g., an active task). Lacks some context for a new agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter 'body' described as 'JSON request body'. The description adds 'Pass the request payload as a JSON string via the body argument', reinforcing the schema but not significantly adding new semantic meaning. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Report Task Complete (RTP)', which is a specific verb and resource. It distinguishes itself from sibling tools like spraay_robots_list, spraay_robots_status, etc., by focusing on completion rather than other robot operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'Free to call' but provides no explicit guidance on when to use this tool versus alternatives like spraay_robots_task or other completion mechanisms. It lacks context on prerequisites or 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.

spraay_robots_deregisterC

Remove Robot (RTP). Free to call. Pass the request payload as a JSON string via the body argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesJSON request body

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description says 'Remove Robot', implying a destructive action, but annotations set destructiveHint to false. This is a contradiction. Additionally, no behavioral traits (e.g., irreversibility, needed permissions) are disclosed beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at three sentences and front-loaded with the main action. However, it is too brief, missing important details about the action's effects and usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations explaining side effects, the description is insufficient. It lacks details on what happens upon deregistration, error conditions, or response format even though an output schema exists. The tool's context among siblings is not leveraged.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 1 parameter (body) with 100% coverage. The description says 'Pass the request payload as a JSON string via the body argument', which merely restates the schema's description ('JSON request body'), adding no new meaning. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Remove Robot (RTP)', which is a specific verb and resource. Among siblings like spraay_robots_register or spraay_robots_update, this tool's purpose is distinct. However, 'RTP' is unexplained, slightly reducing clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., spraay_robots_update). No prerequisites, user roles, or context cues are provided. The description only says 'Free to call' and how to pass the payload.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_robots_listB
Read-only

Discover robots. Costs $0.005 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_priceNomax_price parameter
capabilityNocapability parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint. The description adds cost ($0.005 per call) and an instruction on parameter passing. While useful, it lacks details like rate limits, authentication, pagination, or response structure. The description does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences with no redundant words. It front-loads the core purpose ('Discover robots'), then adds cost, read-only status, and an instruction. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema (so return values need not be explained), the tool is a list operation with two optional filters. The description lacks information on how filters affect results, pagination, ordering, or limits. Sibling tools exist, but no context is provided for when to use this list vs other robot tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% but parameter descriptions are tautological ('max_price parameter'). The description says 'Pass the listed fields directly as typed arguments' but does not clarify what max_price or capability represent (e.g., unit, source). The description adds minimal semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Discover robots' which gives a clear verb and resource. The name includes 'list', and sibling tools have distinct verbs (register, update, etc.), so the tool's purpose is distinguishable even without explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'Read-only', implying it should be used for retrieval, not modification. No explicit exclusions or alternatives are mentioned. The sibling tools suggest alternatives (e.g., status, profile), but no guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_robots_profileB
Read-only

Robot profile. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
robot_idYesrobot_id parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint. Description adds cost info ($0.002 USDC per call), which is valuable. The rest ('Read-only', 'Pass the listed fields...') adds minimal behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short and front-loaded with key info. Could be more structured (e.g., bullet points) but no excessive verbiage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple read-only tool with one parameter and an output schema. Includes cost and read-only nature, though could mention typical usage or scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema describes 'robot_id' as just 'robot_id parameter', a weak definition. Tool description adds no meaning, only instructing to pass fields directly. No clarification of what robot_id represents (e.g., unique identifier) or examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states 'Robot profile' which implies fetching detailed info for a specific robot, and mentions 'Read-only'. It distinguishes from siblings like spraay_robots_list (list) and spraay_robots_status, but lacks a verb like 'Get' or 'Retrieve'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. Mentions cost and read-only, but doesn't explain scenarios or compare to other robot tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_robots_registerB

Register Robot (RTP). Free to call. Pass the request payload as a JSON string via the body argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesJSON request body

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate mutation (readOnlyHint=false) and non-idempotent (idempotentHint=false). Description adds 'Free to call' but doesn't elaborate on side effects, required permissions, or behavior on duplicate calls. Adequate but minimal beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no extraneous words. Purpose is front-loaded ('Register Robot'). Ideal for quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description is minimal; it doesn't explain the payload structure or what registration implies. Given output schema exists, return format is covered, but the tool's purpose could be expanded. Adequate for a simple tool but could be more informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already describes 'body' as 'JSON request body' with 100% coverage. Description restates 'Pass the request payload as a JSON string via the body argument,' adding no new semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Register' and resource 'Robot' clearly indicate the tool's function. It distinguishes from siblings like deregister and list. However, 'RTP' is unexplained and the description could be more specific about what registration entails.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like spraay_robots_update or spraay_robots_complete. 'Free to call' is a minor note but does not provide context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_robots_statusA
Read-only

Poll task status. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYestask_id parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint. The description adds cost information and a minor instruction to pass fields directly, but does not expand on other behavioral aspects like rate limits, idempotency, or side effects beyond what annotations cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at two sentences, front-loading the purpose immediately. Every sentence adds value (purpose, cost, readonly, usage hint) with no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a polling tool with output schema and annotations, the description is minimal. It lacks context about when to use (e.g., after submitting a task via robots_task), what the output contains (though covered by output schema), and preconditions. It meets minimum viability but could be more helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter (task_id) described minimally as 'task_id parameter'. The description adds no additional meaning beyond 'Pass the listed fields directly', which is redundant. Baseline 3 applies since schema covers all parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Poll task status', clearly indicating the verb (poll) and resource (task status). It distinguishes from sibling tools like robots_list (list robots) and robots_task (likely manage tasks) by focusing on polling status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions cost ($0.002 per call) and readonly nature, providing operational context. However, it does not explicitly state when to use this tool versus alternatives like robots_list or robots_task, nor does it provide preconditions (e.g., task must exist).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_robots_taskA

Dispatch robot task (RTP). Costs $0.05 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYestask parameter
robot_idYesrobot_id parameter
parametersNoparameters parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and idempotentHint=false, so the description's claim of 'Dispatch' aligns. The description adds the cost ($0.05 USDC), which is useful behavioral context. However, it does not discuss side effects, error conditions, or success/failure behavior beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, efficient and front-loaded with the core purpose. It could be slightly improved by ordering information more logically, but it is already concise and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description need not explain return values, but it lacks context about valid task values, the structure of the parameters object, required permissions, or rate limits. The cost is mentioned, but overall, the description leaves gaps in understanding tool usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% but descriptions are minimal ('task parameter', 'robot_id parameter'). The description adds only 'Provide the listed fields as typed arguments', which does not enhance understanding of parameter meaning or expected values. Baseline is 3 given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Dispatch robot task (RTP)', specifying the exact action and resource. The name 'spraay_robots_task' distinguishes it from sibling tools like spraay_robots_complete or spraay_robots_register, which handle different robot operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions cost but provides no explicit guidance on when to use this tool versus alternatives like spraay_robots_complete or spraay_robots_update. The usage is implied by the purpose, but there is no when-to-use or when-not-to-use information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_robots_updateB

Update Robot (RTP). Free to call. Pass the request payload as a JSON string via the body argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesJSON request body

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-readOnly, non-idempotent, and non-destructive. The description adds 'Free to call' which implies no cost, but does not elaborate on side effects, authorization needs, or update semantics beyond what annotations imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose ('Update Robot'), immediately followed by cost and invocation instructions. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite simple schema and output schema presence, the description lacks key context: what 'RTP' stands for, what fields can be updated, and any behavioral implications. This may lead to incorrect tool selection or invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage for the single 'body' parameter. The description restates it as 'request payload', adding minimal context. Baseline 3 is appropriate since schema covers meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The tool name 'spraay_robots_update' and description 'Update Robot (RTP)' clearly indicate the action (update) and resource (robot). However, it does not differentiate from sibling tools like spraay_robots_complete or spraay_robots_register, and the acronym 'RTP' is unexplained.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only states 'Free to call' and how to pass the payload, but provides no guidance on when to use this tool versus alternative robot tools, nor any prerequisites or 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.

spraay_rpc_callA

Make a premium multi-chain JSON-RPC call via Alchemy (EVM) or Helius (Solana). Supports Base, Ethereum, Arbitrum, Polygon, BNB Chain, Avalanche, and Solana. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesChain identifier (e.g. 'base', 'ethereum', 'arbitrum', 'polygon', 'bnb', 'avalanche', 'solana')
methodYesJSON-RPC method (e.g. 'eth_getBalance', 'eth_blockNumber', 'eth_call', 'eth_getTransactionReceipt')
paramsNoRPC method parameters as array (e.g. ['0xAddress', 'latest'])

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide minimal behavioral info (readOnlyHint=false, openWorldHint=true). Description adds cost details and provider names but does not disclose that the call may be mutating depending on the method (e.g., eth_sendRawTransaction). No contradiction with annotations. Some behavioral context is added, but more could be said about side effects or authorization.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: one sentence with a clear list of supported chains and cost. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists (not shown), so return values are documented. Description covers tool purpose, supported chains, providers, and cost. It lacks info on rate limits or auth, but given complexity and presence of output schema, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers all 3 parameters with descriptions (100% coverage). Description adds explicit chain examples and cost, which is helpful but not essential since schema already describes chain with examples. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it makes a premium multi-chain JSON-RPC call, explicitly listing supported chains (Base, Ethereum, Arbitrum, etc.) and providers (Alchemy/Helius). This distinguishes it from sibling tools like spraay_rpc_chains (which lists available chains) and contract-specific tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description indicates this is a paid (premium) RPC call costing $0.001 USDC, implying it should be used when high-quality, multi-chain RPC access is needed. It does not explicitly exclude use cases or mention alternatives (e.g., free RPC tools like spraay_free_*), but context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_rpc_chainsA
Read-only

List all chains supported by the Spraay RPC proxy and their allowed JSON-RPC methods. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark readOnlyHint and openWorldHint as true. The description adds value by disclosing the cost ($0.001 USDC) and specifying that the output includes allowed JSON-RPC methods, which enriches the agent's understanding of behavior beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—one sentence plus a cost note—and front-loaded. Every word is useful, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has zero parameters and an output schema (indicated by context signals). The description fully covers what the tool does, its cost, and output scope, making it complete for selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the description does not need to explain them. Baseline 4 is appropriate as the description adequately describes the tool's purpose without param details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists all chains and their allowed JSON-RPC methods, with a specific verb 'List' and resource 'chains supported by the Spraay RPC proxy'. It distinguishes from siblings like spraay_bridge_chains by specifying 'RPC proxy'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a cost note but does not provide explicit guidance on when to use this tool versus alternatives. It implies usage for querying supported chains, but no exclusions or context about similar tools like spraay_bridge_chains.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_sctp_invoiceB

Submit invoice. Costs $0.02 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
poIdYespoId parameter
amountYesamount parameter
currencyNocurrency parameter
supplierIdYessupplierId parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false (write operation) and no destructive hint. The description adds cost details, which is useful, but lacks disclosure of side effects, success/failure behavior, or asynchronous nature. It meets a baseline but does not go beyond annotations significantly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences covering purpose, cost, and basic instruction. Every word earns its place, and there is no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema and multiple related siblings, the description fails to explain what the tool returns, prerequisites (e.g., valid poId/supplierId), or any workflow context. It is insufficient for a complex submission tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each parameter has a descriptive label. However, the descriptions in the schema are minimal ('poId parameter', etc.), and the tool description adds no further semantics beyond instructing to 'Provide the listed fields as typed arguments.' No additional meaning is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Submit invoice' which is a clear verb+resource indicating the core function. However, it does not differentiate from sibling tools like spraay_invoice_create or other invoice-related tools, missing an opportunity to specify scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides cost information ($0.02 USDC per call) but offers no guidance on when to use this tool versus alternatives such as spraay_sctp_pay or spraay_sctp_invoice_by_id. No when/why/when-not context is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_sctp_invoice_by_idA
Read-only

Get invoice. Costs $0.005 USDC per call. Read-only. Provide the path parameter to fetch a single record.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPath parameter that identifies the resource

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds cost information and confirms read-only, which is redundant with annotations but not contradictory. No additional behavioral details (e.g., response format, error cases, or authentication) are provided beyond what annotations cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: one sentence plus separate phrases for cost and read-only. It is front-loaded with 'Get invoice', making the purpose immediately clear. However, the structure could be more organized, e.g., grouping cost and read-only with usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, read-only, output schema exists), the description covers the essential points. However, it lacks differentiation from the similar sibling 'spraay_invoice_get' and does not mention any limitations or special considerations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with a clear description for the 'id' parameter. The description adds that it is a 'path parameter' and that it fetches a single record, but this is already implied by the name and schema. Thus, it adds marginal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'invoice', and specifies that it fetches a single record via a path parameter. The name 'spraay_sctp_invoice_by_id' is specific and distinguishes from siblings like 'spraay_invoice_get' and 'spraay_sctp_invoice'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions cost and read-only nature, which are useful, but provides no guidance on when to use this tool versus alternatives like 'spraay_invoice_get' or 'spraay_sctp_invoice'. There is no explicit 'when to use' or 'when not to use' information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_sctp_invoice_verifyB

Verify invoice (AI). Costs $0.03 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
invoiceIdYesinvoiceId parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, suggesting it may modify state but is not destructive. The description adds cost information but does not clarify side effects (e.g., whether the invoice is marked as verified) or the nature of the verification process. Beyond annotations, behavioral details are lacking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with three short sentences. Each sentence provides distinct value: purpose, cost, and usage instruction. No unnecessary words, and the key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (single parameter) and the presence of an output schema, the description is minimally adequate. It conveys the core action and cost but does not explain what the verification entails or what the output represents. More context about the AI verification process would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter 'invoiceId' with a basic description). The description adds no additional meaning beyond stating to provide the fields as typed arguments. Baseline 3 is appropriate as the schema already provides sufficient information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's purpose as verifying invoices, with an AI component. While it does not explicitly differentiate from siblings like 'spraay_sctp_invoice' or 'spraay_sctp_invoice_by_id', the mention of AI verification implies a distinct function. The verb 'verify' and resource 'invoice' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions a cost of $0.03 USDC per call and instructs to provide fields as typed arguments, but provides no guidance on when to use this tool vs. alternatives like invoice retrieval tools. There is no explicit when-not or context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_sctp_payA

Execute supplier payment. Costs $0.10 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
batchNobatch parameter
invoiceIdYesinvoiceId parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses cost ($0.10 USDC per call), which is important behavioral info not in annotations. However, it does not describe what happens on success/failure, whether the operation is reversible, or any side effects beyond the cost.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with purpose and cost. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks context about prerequisites (e.g., need for an invoice), behavior of the 'batch' parameter, and expected result format. Output schema likely covers return values, but for a payment tool, more guidance on use cases would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already documented. The description adds no extra meaning beyond 'the listed fields as typed arguments,' which is merely a restatement. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Execute supplier payment.' This is a specific verb+resource, and it distinguishes the tool from sibling tools like spraay_sctp_invoice, spraay_sctp_po, etc. by focusing on the payment action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives (e.g., when to use spraay_sctp_invoice vs this). No prerequisites or conditions are mentioned, leaving the agent without decision context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_sctp_poB

Create purchase order. Costs $0.02 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
currencyNocurrency parameter
lineItemsYeslineItems parameter
supplierIdYessupplierId parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-read-only (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds that it costs $0.02 per call, which is a useful behavioral trait. However, no other side effects or behaviors are disclosed, such as rate limits 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with one sentence that front-loads the purpose. However, critical details are omitted, so it is not maximally effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite a simple 3-parameter schema and the existence of an output schema, the description lacks important context: what the tool returns (e.g., PO ID), whether it is idempotent, and any validation rules. The description feels incomplete for a creation action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all three parameters, though they are minimal ('currency parameter', etc.). The description says to 'Provide the listed fields as typed arguments' but adds no further meaning beyond the schema, so it meets the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create purchase order' with a specific verb and resource. It distinguishes from sibling tools like spraay_sctp_po_by_id which retrieves an existing PO.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. There are no prerequisites mentioned, such as needing a supplier, and no comparison with related tools like spraay_sctp_invoice or spraay_sctp_pay.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_sctp_po_by_idA
Read-only

Get purchase order. Costs $0.005 USDC per call. Read-only. Provide the path parameter to fetch a single record.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPath parameter that identifies the resource

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. Description adds cost ($0.005) and explicitly states 'Read-only', reinforcing but not adding significant new behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-loaded with purpose, cost, read-only nature, and usage. Every sentence earns its place with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given output schema exists and tool is simple (one parameter), description is complete. It covers purpose, cost, read-only behavior, and parameter usage without needing return format details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with description 'Path parameter that identifies the resource'. Description adds minimal clarification: 'to fetch a single record' — baseline score as schema already covers semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Get purchase order', specifying the verb and resource. It distinguishes from sibling spraay_sctp_po by emphasizing 'by id' and 'fetch a single record', making purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tells user to 'Provide the path parameter to fetch a single record'. Implicitly guides that if you have an ID, use this tool; otherwise use spraay_sctp_po. Lacks explicit exclusion of alternatives but sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_sctp_supplierB

Register supplier. Costs $0.02 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesname parameter
walletYeswallet parameter
paymentPrefsNopaymentPrefs parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description discloses the call cost ($0.02 USDC), which is useful beyond annotations. However, no details on side effects, idempotency, auth requirements, or return behavior. Annotations provide some context but description adds only cost.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with front-loaded purpose. Minimal and efficient, no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite output schema existence, the description lacks context on registration outcomes, prerequisites, or process. For a registration tool with 3 parameters, more is needed (e.g., what a supplier is, what happens on success). Incomplete for a write operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. Description adds no meaningful parameter information beyond 'Provide the listed fields as typed arguments', which is generic. Parameter names are self-explanatory but no extra semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Register supplier' with a specific verb and resource. It is distinct from sibling tools like spraay_sctp_supplier_by_id, so purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Only cost is mentioned, but no when-to-use, prerequisites, or when-not-to-use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_sctp_supplier_by_idA
Read-only

Get supplier. Costs $0.005 USDC per call. Read-only. Provide the path parameter to fetch a single record.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPath parameter that identifies the resource

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint. The description adds that it costs $0.005 USDC per call and is read-only, which is valuable behavioral context beyond metadata.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is extremely concise with no wasted words. It front-loads the purpose ('Get supplier.') and efficiently conveys cost, safety, and usage in two sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with output schema and annotations, the description covers purpose, cost, and usage. It lacks error scenarios but is complete for typical use cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a generic description for the 'id' parameter. The tool description does not add any additional semantic information about the parameter, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get supplier' and 'fetch a single record', specifying the verb and resource. It distinguishes from sibling 'spraay_sctp_supplier' (likely a list) by indicating this is a fetch by ID.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description tells the user to provide the path parameter and mentions the cost, implying when to use (to get a specific supplier). It does not explicitly exclude alternatives, but the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_search_extractA
Read-only

Extract clean, structured content from specific URLs — perfect for RAG pipelines. Returns the full text content of each page, ready for LLM consumption. Up to 5 URLs per request. Costs $0.015 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYesArray of 1-5 URLs to extract content from (e.g. ['https://docs.base.org/overview'])

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description adds behavioral details: returns full text content, cost, and URL limit, which augment the annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences that front-load the purpose and immediately convey the value proposition. Every sentence adds necessary information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the description covers all essential aspects: what it does, output format, limits, and cost. The presence of an output schema means return values need not be detailed here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers the single parameter completely (100% coverage). The description restates the URL limit but adds no new semantic information beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool extracts clean, structured content from specific URLs, distinguishing it from search tools among siblings. It specifies the output is full text for LLM consumption, leaving no ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the tool is for RAG pipelines and limits to 5 URLs per request with a cost, but does not explicitly state when not to use it or provide alternatives. However, the context of siblings makes the intended use clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_search_qnaA
Read-only

Ask a question and get a direct, synthesized answer with cited sources. Searches the web, extracts relevant content, and generates a comprehensive answer. Great for research and fact-checking. Costs $0.02 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language question (e.g. 'What is x402 protocol and how does it work?')
topicNoTopic focus: 'general' (default), 'news', 'finance'

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. Description adds behavioral context: web searching, content extraction, answer synthesis, citations, and cost ($0.02 USDC). This goes beyond annotations but could include rate limits or data freshness details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences with front-loaded purpose: first sentence states the primary action. No redundant information. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, description needn't detail return values. Covers the main action, result format (synthesized answer with citations), and cost. Could include guidance on query formulation for optimal results, but sufficient for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage, including an example for query and enum options for topic. The description adds no new semantic meaning beyond what the schema provides, meeting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it answers questions by searching the web and generating a synthesized answer with citations. It distinguishes itself from generic search (spraay_search_web) by focusing on Q&A and synthesis, but does not explicitly differentiate from summarization tools like spraay_summarize.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Indicates it is 'great for research and fact-checking' and mentions cost, implying usage context. However, it does not specify when not to use, nor does it reference alternative tools like spraay_search_web for raw results or spraay_summarize for summarization.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_search_webA
Read-only

Search the web and get clean, LLM-ready results via Tavily. Returns extracted content (not just links), plus an AI-generated answer. Supports basic and advanced search depth, domain filtering, and topic focus (general, news, finance). Costs $0.01 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (e.g. 'latest Base ecosystem developments', 'x402 protocol explained')
topicNoTopic focus: 'general' (default), 'news' (recent events), 'finance' (markets/crypto)
max_resultsNoNumber of results to return (default: 5, max: 20)
search_depthNoSearch depth: 'basic' (fast, default) or 'advanced' (deeper extraction, better results)
exclude_domainsNoExclude results from these domains
include_domainsNoOnly include results from these domains (e.g. ['docs.base.org', 'ethereum.org'])

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description adds value by disclosing the cost ($0.01 USDC), the return type (extracted content + AI answer), and optional configuration. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences pack a lot of information: main purpose, key features, and cost. No redundancy or unnecessary detail. Front-loaded with the verb 'search' and the resource 'web'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a web search tool with multiple parameters and optional output schema, the description covers the essential aspects: what it returns, supported features, and cost. It lacks details about pagination or result formatting, but the output schema likely fills that gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema itself documents parameters well. The description adds meaningful context: examples for query, explains enum values for topic and search_depth, and shows usage patterns for include/exclude_domains with array examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches the web via Tavily, returns extracted content and an AI-generated answer, and lists features like depth, filtering, and topic focus. It distinguishes from sibling tools like spraay_search_extract and spraay_search_qna by emphasizing web search with enrichment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use: when you need LLM-ready web results with content extraction and AI answers. It mentions supported features (depth, domain filters, topics) but does not explicitly contrast with alternatives like spraay_search_extract or spraay_search_qna, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_solana_helius_assetB
Read-only

Helius DAS single asset. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds the cost ($0.002 USDC per call) and a note to pass fields as typed arguments, which provides some additional behavioral context beyond the annotations. No contradictions are present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and mostly concise, consisting of three clauses. However, the first clause 'Helius DAS single asset' is not a full sentence and could be clearer. It efficiently conveys cost and read-only status without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description need not explain return values. The tool is simple with one parameter. However, the description does not elaborate on what constitutes a 'single asset' (e.g., NFT or token) or any error conditions. It is adequate but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'id' has a trivial schema description ('id parameter'). Schema coverage is 100%, so baseline is 3. The tool description does not add any extra semantic meaning to the parameter beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Helius DAS single asset' and 'Read-only', which implies retrieving a single asset. However, it does not explicitly use a verb like 'Get' or 'Retrieve', and the phrasing is somewhat fragmented. The name and context distinguish it from sibling tools like spraay_solana_helius_assets_by_owner.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions cost and read-only nature but does not explicitly state that it should be used when a single asset ID is known, nor does it mention any conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_solana_helius_assets_by_ownerB
Read-only

Helius DAS assets. Costs $0.003 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNopage parameter
limitNolimit parameter
ownerYesowner parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states 'Read-only' and mentions cost, adding value beyond annotations (readOnlyHint and openWorldHint). No contradictions. Could disclose more about pagination or limits, but sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences, front-loaded with purpose and cost. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given existence of output schema, description is adequate but minimal. It doesn't explain that it returns a list of assets for a given owner, but the tool name implies that. Could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions are minimal ('page parameter', 'limit parameter', 'owner parameter'). The description adds no additional meaning, only repeating to pass fields as typed arguments. With schema coverage 100%, it relies on weak param descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Helius DAS assets' and the tool name implies assets by owner, which is clear enough. However, it doesn't explicitly define what 'assets' means (e.g., NFTs, tokens) or how it differs from the sibling 'spraay_solana_helius_asset'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'spraay_solana_helius_asset'. The description only says 'Pass the listed fields directly as typed arguments,' which is not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_solana_jupiter_quoteC
Read-only

Jupiter swap quote. Costs $0.005 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesamount parameter
inputMintYesinputMint parameter
outputMintYesoutputMint parameter
slippageBpsNoslippageBps parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds the cost of $0.005 USDC per call and reiterates 'Read-only'. It does not cover error handling, output format, or rate limits. While cost is a useful addition, other behavioral aspects are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with three short sentences, front-loading the purpose. However, it could be slightly more informative without losing conciseness. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a swap quote tool and the existence of an output schema, the description is minimal. It does not explain what a quote is for, how it works, or the meaning of fields like slippageBps. The output schema covers return shape, but the description still lacks context for an agent to understand the tool's role fully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, but each parameter's description is merely the parameter name (e.g., 'amount parameter'), providing no real semantics. The description adds no further meaning about parameters (e.g., what units 'amount' expects, format of mint addresses). Thus, it fails to add value beyond the weak schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Jupiter swap quote', identifying the tool's purpose. However, it lacks specifics on what the quote contains (e.g., expected output amount), which could be improved. It distinguishes from sibling spraay_solana_jupiter_swap_tx by indicating this is a quote, not a swap execution, but doesn't differentiate from other quote tools like spraay_swap_quote.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal usage guidance: 'Pass the listed fields directly as typed arguments.' It does not explain when to use this tool vs alternatives (e.g., spraay_swap_quote), nor does it mention prerequisites or contexts where it should not be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_solana_jupiter_swap_txB

Jupiter swap transaction. Costs $0.01 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteResponseYesquoteResponse parameter
userPublicKeyYesuserPublicKey parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses cost per call, which is useful beyond annotations. Annotations indicate mutation (readOnlyHint=false) and non-idempotency, but description does not elaborate on side effects or that it returns a transaction needing signing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence plus cost note, very concise. But could add missing context without hurting conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks crucial context: this tool returns a transaction to be signed (implied by output schema but not explained), and relies on a quote from sibling tool. The description does not provide the full picture for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions are tautological; tool description only says 'provide typed arguments.' No guidance on how to obtain quoteResponse (e.g., from spraay_solana_jupiter_quote) or format of userPublicKey. Schema coverage high but meaning is nearly zero.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it's a Jupiter swap transaction, distinguishing it from quote tools and other swap tools by name and description. However, does not explicitly differentiate from similar sibling like spraay_swap_execute.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage for executing a swap on Jupiter, but no explicit guidance on when to use vs alternatives (e.g., spraay_swap_execute) or prerequisites (e.g., a quote).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_solana_pyth_priceB
Read-only

Pyth price feed. Costs $0.005 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
feedIdYesfeedId parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses the cost ($0.005 per call) and confirms read-only nature, adding value beyond the annotations (readOnlyHint, openWorldHint). No behavioral contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Exceptionally concise: two sentences cover purpose, cost, safety, and parameter usage. No redundant information. Front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 1 parameter, output schema, and annotations, the description is moderately complete but lacks explanation of the 'feedId' parameter's meaning (e.g., a Pyth price feed identifier). This omission could cause incorrect use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description for 'feedId' is minimal ('feedId parameter'), and the tool description only says 'Pass the listed fields directly as typed arguments,' which adds no semantic meaning about what the feedId represents. Baseline for 100% coverage is 3, but the description fails to compensate for the poor schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a noun phrase 'Pyth price feed' rather than an explicit verb, and does not clarify that it returns a single price for a specific feed ID. It fails to distinguish from the sibling 'spraay_solana_pyth_prices' which likely returns multiple prices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides cost and read-only nature, which are helpful usage guidelines. However, no guidance on when to use this tool vs alternatives (e.g., spraay_solana_pyth_prices) or 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.

spraay_solana_pyth_pricesA
Read-only

Pyth batch prices. Costs $0.008 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
feedIdsYesfeedIds parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the read-only claim adds no new info. The disclosure of cost is additional behavioral context, but no other traits (e.g., rate limits, auth needs) are mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (two sentences), front-loaded with the purpose, and every word adds value. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and simple input requirements, the description covers the essential points. It could clarify the format of feedIds (e.g., comma-separated), but overall it is sufficiently complete for a low-complexity tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% but the parameter description 'feedIds parameter' is minimal. The tool description says 'Pass the listed fields directly as typed arguments' but does not explain the format or expected content of feedIds.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Pyth batch prices,' which indicates the tool retrieves batch price data from Pyth. The name includes 'batch' to distinguish it from the sibling spraay_solana_pyth_price for single prices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions cost ($0.008 USDC per call) and read-only nature, providing context for usage. However, it does not explicitly compare with sibling tools or specify when to use batch vs single.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_stellar_batchC

Stellar batch payments. Costs $0.02 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountsYesamounts parameter
recipientsYesrecipients parameter
sourceSecretYessourceSecret parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false (mutation) and openWorldHint=true, but the description only adds cost ($0.02 USDC per call). It does not explain side effects, like blockchain transaction finality, failure modes, or that sourceSecret is sensitive. The description adds minimal behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (2 sentences) and front-loads the purpose. It is concise but lacks structure, making it less scannable. Every word earns its place, but no additional structure is provided.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that this is a payment tool with side effects and a required private key, the description is incomplete. It does not mention batch limits, source of funds, return format (though output schema exists), or error handling. The agent needs more context to use this tool safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions are tautological ('amounts parameter', 'recipients parameter', 'sourceSecret parameter'), and the tool description adds no meaning beyond 'Provide the listed fields'. The agent cannot infer that sourceSecret is a private key, amounts are numbers, or recipients are addresses.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Stellar batch payments', clearly indicating the tool performs batch payments on Stellar. This distinguishes it from siblings like spraay_stellar_estimate or spraay_batch_execute, but the purpose could be more explicit (e.g., 'Execute a batch of Stellar payments').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool vs alternatives like spraay_stellar_estimate or spraay_batch_execute. It does not mention prerequisites, batch size limits, or context for using this payment tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_stellar_estimateC

Stellar batch estimate. Costs $0.001 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
recipientCountYesrecipientCount parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly states 'Costs $0.001 USDC per call,' which is a behavioral trait not covered by annotations. Annotations (readOnlyHint: false, etc.) are present but the description adds non-obvious cost info. However, it does not disclose whether the tool modifies state or if there are rate limits, which would improve transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (two sentences) and front-loaded with the main purpose. Every sentence adds some information, though the second sentence about providing typed arguments is somewhat redundant with the schema. It is concise but could be more informative without losing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema (existence known but not shown) and only one parameter, the description fails to explain what the output represents or how the estimate is computed. The purpose is unclear, and important context (e.g., blockchain, relation to 'spraay_stellar_batch') is missing. The description is incomplete for agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (the only parameter 'recipientCount' is described in schema as 'recipientCount parameter'). The description adds no additional meaning beyond the schema; it merely says to provide fields as typed. Baseline score of 3 is appropriate as the description does not enhance understanding of the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Stellar batch estimate' which gives a general purpose but lacks specificity about what is being estimated (cost, time, or something else). The tool name suggests cost estimation for a Stellar batch, but the description does not confirm this. It is not a tautology but is vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'spraay_batch_estimate' or 'spraay_stellar_batch'. There is no mention of prerequisites, use cases, or exclusions. The only usage advice is to 'Provide the listed fields as typed arguments,' which is trivial.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_storage_getA
Read-only

Retrieve previously pinned content from IPFS/Arweave by CID. Returns the stored data. Costs $0.002 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesContent identifier (CID) to retrieve (e.g. 'QmXoypizj...' or 'bafybeig...')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds the cost ($0.002 USDC), which is valuable behavioral information beyond the annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action and resource, followed by return value and cost. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity, presence of output schema, and annotations, the description fully explains what the tool does and its cost. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already describes the 'cid' parameter with examples. The description adds no further semantic meaning beyond what is in the schema, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the action ('Retrieve'), the resource ('previously pinned content'), and the method ('by CID'). It clearly distinguishes from sibling tools like spraay_storage_pin and spraay_storage_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving pinned content and mentions cost, but does not provide explicit guidance on when to use vs. alternatives or when not to use the tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_storage_pinA

Pin content to IPFS via Pinata for permanent decentralized storage. Returns CID (content identifier) for retrieval. Supports text, JSON, and base64 data. Costs $0.005 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesContent to pin — JSON string, plain text, or base64-encoded binary
providerNoStorage provider (default: 'ipfs')
contentTypeNoMIME type (default: 'application/octet-stream', e.g. 'application/json', 'text/plain')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate write operation (readOnlyHint=false) and non-idempotent. Description adds crucial behavioral info: cost ($0.005 USDC) and permanence, which is not in annotations. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no redundant information. All sentences are meaningful: action, output, supported types, cost. Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With output schema present, description adequately covers purpose, parameters, and return value. Could mention error cases or rate limits, but for a simple tool it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters. Description adds concrete examples for 'data' (text, JSON, base64), enhancing schema's generic description. Other parameters get little extra, but enough for clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Pin content to IPFS'), the purpose ('permanent decentralized storage'), and the output ('Returns CID'). It distinguishes from siblings like spraay_storage_get and spraay_storage_status by focusing on creation of a pin.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when permanent storage is needed, but does not explicitly state when not to use it or mention alternatives like spraay_storage_status. It only mentions IPFS despite offering an arweave provider.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_storage_statusA
Read-only

Check the pin status of a storage request by pin ID. Returns pinning progress and confirmation. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPin request ID (e.g. 'pin_abc123')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description adds value by disclosing cost ($0.001 USDC) and that it returns pinning progress and confirmation. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. Front-loaded with action and resource, then outcome and cost. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given output schema existence (context indicates true), the description adequately describes return value (progress/confirmation) and cost. Lacks error handling details but sufficient for a simple status check.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description adds only a restatement of 'by pin ID' with a minor example in schema. No additional semantic value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Check' and the resource 'pin status of a storage request by pin ID'. It specifies the return value and distinguishes from siblings like spraay_storage_pin and spraay_storage_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use after pinning to monitor progress but does not explicitly contrast with sibling tools or state when not to use it. Usage context is clear but lacks explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_summarizeA

AI intelligence briefing for any wallet address or transaction hash. Returns structured risk assessment, entity classification, activity summary, and actionable insights. Costs $0.008 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesAddress (0x..., 40 hex chars) or transaction hash (0x..., 64 hex chars) to summarize
contextNoContext hint to improve analysis (e.g. 'defi', 'nft', 'governance', 'bridge', 'mev')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond annotations: it reveals the cost ($0.008 USDC) and specifies return types (structured risk assessment, etc.). Annotations already indicate readOnlyHint=false (aligning with the cost/not purely read) and openWorldHint=true (possible external side effects). The description does not contradict annotations and provides useful additional transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: first clearly states the tool's purpose and outputs, second mentions cost. It is front-loaded with the most important information, and every sentence adds value with no redundant or vague phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (2 params, 1 required, has output schema), the description adequately covers input types and return categories. It mentions cost, which is critical for agent decision-making. However, it could optionally note that the tool works for both addresses and transactions, which it does, but that is covered. An output schema exists, so return value details are not required in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema: it reiterates input types but does not elaborate on syntax or format beyond what the schema already provides. The optional 'context' parameter is well-described in the schema, and the description adds no further clarification.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('summarize') and the resource ('wallet address or transaction hash'), and specifies the output ('structured risk assessment, entity classification, activity summary, actionable insights'). It distinguishes itself from sibling tools by focusing on a broad intelligence briefing, while siblings like classify_address or classify_tx are more narrow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for gaining intelligence on addresses/txs and mentions the cost, but does not provide explicit when-to-use or when-not-to-use guidance. With many sibling tools that may overlap (e.g., spraay_classify_address, spraay_analytics_wallet), the agent would benefit from alternatives or exclusion criteria, which are absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_swap_executeA

Execute a token swap via Uniswap V3 on Base. Returns unsigned transaction data for the caller to sign and broadcast. Get a quote first with spraay_swap_quote. Costs $0.01 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenInYesInput token symbol (e.g. 'USDC') or contract address
amountInYesAmount to swap in human-readable units
slippageNoSlippage tolerance in percent (default: 0.5, max: 50)
tokenOutYesOutput token symbol (e.g. 'WETH') or contract address
recipientYesRecipient address for swap output (e.g. '0xYourWallet')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states the tool returns unsigned transaction data, meaning it does not broadcast the transaction. It also discloses the cost ($0.01 USDC). This adds significant behavioral context beyond the annotations, which already declare readOnlyHint and destructiveHint as false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long and front-loads the core action, followed by output details, prerequisite, and cost. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the description covers the essential aspects: what it does (swap on Uniswap V3 on Base), output (unsigned tx), prerequisites (get quote), and cost. The presence of an output schema further supports completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not elaborate on the parameters, but the schema already provides adequate descriptions for all 5 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes a token swap via Uniswap V3 on Base, specifies the output as unsigned transaction data, and distinguishes from the sibling tool spraay_swap_quote by advising to get a quote first.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly directs the agent to first get a quote using spraay_swap_quote and mentions the cost ($0.01 USDC). It does not list alternative tools or when not to use, but the prerequisite is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_swap_quoteA

Get a swap quote from Uniswap V3 on Base. Returns expected output amount, price impact, and route details. Use spraay_swap_tokens to see available tokens. Costs $0.002 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenInYesInput token symbol (e.g. 'USDC', 'WETH', 'DAI') or contract address
amountInYesAmount to swap in human-readable units (e.g. '1000' for 1000 USDC)
tokenOutYesOutput token symbol (e.g. 'WETH', 'USDC') or contract address

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=false, destructiveHint=false, idempotentHint=false. The description adds behavioral context beyond annotations by specifying the cost ($0.002 USDC) and the platform (Uniswap V3 on Base). It does not contradict any annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences, front-loaded with the main action, and includes a prerequisite and cost. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is a quote retrieval with an output schema, the description covers the essential elements: platform, chain, output details, prerequisite, and cost. It could mention time-sensitivity of quotes, but that is not critical. Overall, it is sufficiently complete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with detailed parameter descriptions. The tool description adds minimal parameter information but does not re-explain them, which is acceptable. The mention of return details ('expected output amount, price impact, and route details') provides context for the output but not for parameters. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get a swap quote from Uniswap V3 on Base.' It specifies the output (expected output amount, price impact, route details) and is distinct from siblings like spraay_swap_tokens (which shows available tokens) and spraay_swap_execute (executes swap).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description directs users to use spraay_swap_tokens to see available tokens, which is helpful context. It also notes the cost ($0.002 USDC) as a usage consideration. However, it does not explicitly mention when not to use this tool or distinguish it from other quote tools like spraay_solana_jupiter_quote or spraay_bridge_quote.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_swap_tokensA
Read-only

List all tokens available for swapping on Spraay via Uniswap V3 on Base. Returns symbols, addresses, and decimals. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint, so the description adds value by disclosing the fixed cost ($0.001 USDC) and the specific return fields. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first states the purpose concisely, and the second lists return fields and cost. No unnecessary words, and the key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no parameters and an output schema, the description is adequate. It covers purpose, return fields, cost, and DEX specifics. It does not mention pagination or limits, but that is acceptable for a straightforward read-only tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters (100% coverage), so the baseline is 4. The description does not need to add parameter semantics since there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies 'List all tokens available for swapping on Spraay via Uniswap V3 on Base' with a specific verb and resource, and states the return fields (symbols, addresses, decimals). This distinguishes it from sibling tools like spraay_swap_quote and spraay_swap_execute.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool should be used before performing swaps to see available tokens. It does not explicitly state when not to use it or provide alternatives, but the context from sibling tool names (spraay_swap_quote, spraay_swap_execute) makes the usage clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_tax_calculateA

Calculate crypto tax gain/loss using FIFO method for up to 500 transactions. Returns per-event breakdown and aggregate summary with short/long-term classification. Data persists in Supabase. Costs $0.01 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
transactionsYesArray of 1-500 transaction objects for tax calculation

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate it's not read-only and not destructive. The description adds valuable behavioral context: data persists in Supabase, costs $0.01 USDC, and has a 500-transaction limit. This goes beyond annotations to inform the agent of side effects and constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that includes all essential information: calculation method, transaction limit, return structure, persistence, and cost. No unnecessary words; front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of crypto tax calculation and the presence of an output schema and full parameter documentation, the description adequately covers key aspects. It mentions method, limit, return format, persistence, and cost, though it could have clarified payment prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented in the schema. The description does not add additional meaning beyond what the schema provides, such as parameter format or usage tips. The baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool calculates crypto tax gain/loss using FIFO method with a transaction limit of 500. It uses a specific verb ('Calculate') and resource ('crypto tax gain/loss'), and distinguishes itself from sibling tools like spraay_tax_report by specifying the method and scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like spraay_tax_report. It lacks context on prerequisites, exclusions, or situations where a different tool would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_tax_reportA
Read-only

Retrieve a previously calculated tax report by ID, or list all reports. Data persists in Supabase. Costs $0.02 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
reportIdNoTax report ID from spraay_tax_calculate (e.g. 'tax_abc123'). Omit to list all reports.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint and openWorldHint. Description adds cost transparency ($0.02 USDC) and storage backend (Supabase), which are useful behavioral details beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero fluff. Front-loaded with the core function, followed by important context. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (single optional param, read-only). Description covers both usage modes (by ID or list all), mentions cost and persistence. Output schema exists, so return format is not needed here. Complete for the complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with a thorough description of the reportId parameter. The description adds the origin of the ID ('from spraay_tax_calculate'), which provides extra context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Retrieve a previously calculated tax report by ID, or list all reports.' This specifies the verb and resource and distinguishes it from sibling 'spraay_tax_calculate' by indicating it is the retrieval counterpart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage after calculation by referencing 'previously calculated' and the param description ties the ID to 'spraay_tax_calculate'. Provides two use cases (by ID or list all) but lacks explicit when-not-to-use or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_tokensC
Read-only

Tokens. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint. Description reinforces 'Read-only' and adds parameter passing instruction. Does not contradict annotations, but adds little beyond them regarding limits or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: three brief sentences. Front-loaded with purpose and key traits. Could be improved with more specific action, but no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only tool with output schema, the description is minimal but covers essentials (free, read-only, parameter format). Lacks detail on what tokens are returned or scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter description. The description restates the parameter format ('Pass any query parameters as a JSON string') but adds no new semantics beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Tokens' which is vague; it doesn't specify the action (list, query, get). It adds 'Free to call. Read-only' which clarifies it's a read operation but lacks a clear verb. Distinguishes from siblings only by name, not description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like spraay_swap_tokens or spraay_portfolio_tokens. No mention of prerequisites or use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_webhook_deleteA
DestructiveIdempotent

Delete a registered webhook by ID. Removes it permanently from Supabase. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhookIdYesWebhook ID to delete (e.g. 'whk_abc123')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds meaningful context beyond annotations: it states the action is permanent ('Removes it permanently') and mentions a cost ('$0.001 USDC'). It aligns with the destructiveHint annotation. It doesn't contradict any annotations. The idempotentHint is not addressed, but that's a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise: two sentences that immediately convey action, resource, effect, and cost. No redundant words. Front-loaded with the critical verb 'Delete'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description is clear, it omits details such as expected behavior when the webhook ID does not exist, error handling, or response structure. Given there is an output schema, this is partly compensated, but the description could be more complete for a destructive operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers the only parameter (webhookId) with 100% coverage and includes a description. The tool description does not add additional semantic information beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Delete', 'Removes it permanently') and the resource ('webhook by ID'). It distinguishes itself from sibling webhook tools (register, list, test) by focusing on deletion. The verb is specific and the resource is well-defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for permanent removal of a webhook, which is sufficient. However, it lacks explicit guidance on when not to use it (e.g., for temporary disabling) or mentions of alternatives. The context is clear but not elaborated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_webhook_listA
Read-only

List all registered webhooks with their status, subscribed events, and delivery stats. Data persists in Supabase. Costs $0.001 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by webhook status

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description adds valuable context: data persistence (Supabase) and cost ($0.001 USDC). This goes beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences: the first explains the main function, the second adds cost and persistence information. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (not shown but noted) which covers return values, the description adds sufficient context about data persistence and cost. For a list tool with one optional filter parameter, it is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage (the 'status' parameter includes a description). The tool description does not add further meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all registered webhooks and specifies the fields returned: status, subscribed events, and delivery stats. It is distinct from sibling tools like spraay_webhook_delete, spraay_webhook_register, and spraay_webhook_test.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention any exclusions. However, the purpose is clear enough that an agent can infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_webhook_registerB

Register a webhook endpoint to receive real-time POST events for payments, escrows, swaps, invoices, and more. Returns webhook ID and HMAC secret for signature verification. Data persists in Supabase. Costs $0.003 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebhook URL to receive POST events (e.g. 'https://yourapp.com/webhook')
eventsYesEvents to subscribe to (e.g. ['payment.sent', 'escrow.funded', 'swap.completed'])

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate write operation (readOnlyHint=false) and non-destructive. The description adds cost ($0.003 USDC) and data persistence in Supabase, but lacks details on idempotency, duplicate handling, or authentication requirements. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences efficiently convey purpose, output, and additional context (cost, persistence). No extraneous information, though could be slightly more structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With output schema present, description need not detail return values, but it does mention webhook ID and HMAC secret. However, given the financial cost and stateful nature, additional context about prerequisites or error conditions would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions. The description reinforces the URL and events purpose with examples but does not add significant new meaning beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool registers a webhook endpoint for receiving real-time POST events, specifying the types of events (payments, escrows, etc.) and what is returned (webhook ID and HMAC secret). This distinguishes it from sibling webhook tools like list, delete, and test.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. While the cost and persistence are mentioned, there is no advice on when not to use it or conditions for re-registration. Given sibling tools exist for managing webhooks, usage context is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_webhook_testA

Send a test ping event to a registered webhook to verify delivery and signature validation. Data persists in Supabase. Costs $0.002 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhookIdYesWebhook ID to test (e.g. 'whk_abc123')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool sends a ping event, data persists in Supabase, and costs $0.002 USDC, adding context beyond annotations (which indicate mutation but not destructive). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each substantive and without redundancy. Front-loaded with the action and purpose, followed by persistence and cost details. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple input schema (one parameter) and presence of output schema, the description is complete enough. It could be improved by noting whether the call is synchronous or async, but current content is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter 'webhookId' is already described in the schema. The description adds a placeholder example ('whk_abc123'), providing marginal additional value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Send a test ping event' and the resource 'registered webhook', with purpose 'to verify delivery and signature validation'. It distinguishes from sibling webhook tools (register, list, delete) by specifying test functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage after registering a webhook, but does not explicitly state when to use this tool versus alternatives or mention prerequisites like webhook registration or activation. It lacks explicit 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.

spraay_xmtp_inboxA
Read-only

Read XMTP inbox messages for an Ethereum address. Returns decrypted messages from the production XMTP network. Costs $0.002 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax messages to return (default: '20', max: '100')
addressYesEthereum address to check inbox for

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds valuable behavioral traits: returns decrypted messages from the production network, and specifies a cost of $0.002 USDC, which is beyond what annotations cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences that state purpose, result, and cost. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description does not need to explain return values. It sufficiently covers purpose, result type, network, and cost for a read-only tool with strong annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does not add any parameter-specific meaning beyond what the schema provides (address pattern, limit defaults).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it reads XMTP inbox messages for an Ethereum address, using specific verb 'Read' and resource 'XMTP inbox messages'. It also mentions cost. However, it does not explicitly differentiate from siblings, though the sibling 'spraay_xmtp_send' is for writing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., spraay_xmtp_send). No when-not or context-specific advice is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_xmtp_sendA

Send an encrypted XMTP message to any Ethereum address on the XMTP production network. Messages are end-to-end encrypted. Costs $0.003 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesRecipient Ethereum address (must have XMTP enabled)
contentYesMessage content to send
contentTypeNoContent type (default: 'text/plain')

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral traits beyond annotations: end-to-end encryption and a cost of $0.003 USDC. Annotations indicate mutation (readOnlyHint=false) but no contradiction. It does not detail side effects or idempotency, but added cost and encryption are useful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no wasted words. It front-loads the main action and adds encryption and cost context concisely.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, encryption, cost, and network. With an output schema present, the description need not explain return values. It could mention prerequisites like recipient having XMTP enabled, but schema details that. Overall sufficient for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all three parameters. The main description does not add further parameter details beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sends an encrypted XMTP message to any Ethereum address, with a specific verb and resource. It distinguishes from siblings like spraay_xmtp_inbox and other messaging tools through encryption and network mention.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for sending encrypted XMTP messages but lacks explicit guidance on when to use vs alternatives like spraay_chat or spraay_xmtp_inbox. It includes cost and encryption as usage context but no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_xrp_batchC

XRP batch payments. Costs $0.02 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountsYesamounts parameter
recipientsYesrecipients parameter
senderSecretYessenderSecret parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds cost transparency ($0.02 per call) beyond what annotations provide. However, it lacks details on side effects, reversibility, or required permissions. Annotations already indicate non-read-only and non-idempotent, so the description adds moderate value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (two sentences) and front-loaded with purpose, but it omits critical details. It is concise but not sufficiently informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite an output schema existing, the description fails to explain prerequisites, parameter formats, or the payment process itself. An agent would not know how to construct valid recipients and amounts arrays.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema descriptions are tautological ('amounts parameter', etc.), and the description only says 'Provide the listed fields as typed arguments' without explaining what each parameter means or expects. No enhancement over schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'XRP batch payments', which identifies the specific verb and resource. It is distinguishable from siblings by name and chain, but no explicit differentiation is provided.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like spraay_batch_execute or spraay_xrp_estimate. The cost mention is a use condition, but no exclusivity or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_xrp_estimateB

XRP batch estimate. Costs $0.001 USDC per call. Provide the listed fields as typed arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
recipientCountYesrecipientCount parameter

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate it is not read-only, not destructive, and not idempotent. The description adds behavioral transparency by disclosing that each call costs $0.001 USDC, which is valuable beyond the annotations. However, it does not detail other behavioral aspects like rate limits or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of two short sentences. The first states the purpose, the second provides cost and usage instruction. No wasted words; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema (not needed to explain return values), the description covers basic purpose and cost. However, it lacks specificity about what the estimate returns (e.g., cost in XRP or USDC) and does not clarify if this is a prerequisite for other actions like spraay_xrp_batch. Adequate for a simple tool but not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter, recipientCount, described in schema). The description adds no further meaning beyond the schema's minimal description; it only instructs to provide the listed fields. With high schema coverage, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'XRP batch estimate', which distinguishes it from sibling tools like spraay_xrp_batch and spraay_batch_estimate. It indicates the tool provides an estimate for XRP batch operations, though it could be more specific about what is estimated (cost? transactions?).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions a cost of $0.001 USDC per call, which warns about monetary cost. However, it does not provide guidance on when to use this tool versus alternatives like spraay_batch_estimate or spraay_xrp_batch, nor does it state prerequisites or avoidances.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spraay_xrp_infoC
Read-only

XRP Ledger info. Costs $0.001 USDC per call. Read-only. Pass any query parameters as a JSON string via the params argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoQuery parameters as JSON (e.g. {"key":"value"})

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the gateway call succeeded; false when it returned an error.
dataNoThe gateway response payload on success. The exact shape depends on the tool (see the tool description and the JSON in the text content block).
errorNoHuman-readable error message, present only when ok is false.

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint. Description adds cost and read-only confirmation but no further behavioral details like required permissions or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff, front-loaded with purpose and cost. Efficiently communicates essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite simplicity, description lacks details on what data the 'params' JSON should contain (e.g., ledger_index, account) and what the output will provide. Incomplete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and describes the params field as JSON string. Description repeats this without adding new meaning or examples beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states 'XRP Ledger info' which is vague about what specific information is retrieved. Does not distinguish from sibling tools like spraay_xrp_estimate or spraay_xrp_batch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. No mention of prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.1/5.0
Disambiguation2/5

Many tools have overlapping purposes, e.g., multiple tools for balances (spraay_balances, spraay_analytics_wallet, spraay_portfolio_tokens), AI inference (spraay_chat, spraay_gpu_run, spraay_compute_text_inference), and token prices (spraay_prices, spraay_oracle_prices). Agents would struggle to select the correct tool among these overlapping options.

Naming Consistency4/5

All tools follow the consistent pattern 'spraay_{category}_{action}', with categories like agent, analytics, compute, research, etc. Subcategories use underscores (e.g., spraay_research_biomedical_search). Minor inconsistency: some action parts are nouns (e.g., spraay_free_chain_status) rather than verbs, but overall pattern is clear and predictable.

Tool Count2/5

With 162 tools, this server is extremely bloated for a single MCP server. While the server covers many domains, a typical well-scoped server has 3-15 tools. This scale makes it unwieldy for agents to navigate and likely includes many rarely-used tools.

Completeness4/5

The server covers an impressively broad range of functionalities: blockchain (balances, swaps, escrow, bridge, payroll, tax), AI (chat, compute, image gen, research), utilities (storage, webhooks, notifications, RPC), and more. Minor gaps exist (e.g., no wallet withdrawal tool), but the surface is remarkably comprehensive for the stated domain.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/plagtech/spraay-x402-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server