Sairen
Sairen is a remote MCP (FastMCP/SSE) server exposing ~44 deterministic, pay-per-call (x402 USDC) or free microservices for autonomous AI agents — covering web/data extraction, security scanning, crypto market data, agent commerce, distributed state, and reliability primitives.
Free utilities (zero auth): NTP atomic time (
get_precision_time), malformed-JSON repair (repair_malformed_json), LLM context trimming (trim_llm_context), node telemetry (get_node_telemetry_stats), public IP/egress discovery (what_is_my_ip_tool), webhook polling and scratchpad reads/unlocks.Extraction & compression: scrape any URL to clean Markdown (
extract_web_markdown), compress PDF/DOCX to token-optimized Markdown (compress_document_tool), filter/aggregate tabular JSON/CSV via in-memory SQL (filter_tabular_data), LSH near-duplicate detection (lsh_dedup), anchor natural-language dates to ISO-8601 UTC (parse_temporal_expression_tool).Safety & security: prompt-injection/SSRF/shell-injection scanning (
scan_payload_safety), honeypot/canary-tracker detection in HTML (canary_detector), URL fetch-safety classification (classify_url), bot-challenge risk scoring (challenge_risk_tool), tool-argument schema coercion (coerce_tool_arguments).Cryptographic & factual verification: Merkle/Ed25519/ECDSA/preimage proof verification (
verify_cryptographic_proof), hallucination/citation grounding checks (verify_fact_grounding), multi-model consensus arbitration (arbitrate_consensus).Crypto & market data: Base DEX spot prices/liquidity (
get_dex_spot_price), Solana DEX quotes via Raydium/Orca (get_solana_dex_price), Base EIP-1559 gas oracle (get_base_gas_oracle), pre-flight tx simulation and revert decoding (simulate_transaction_oracle), cross-chain bridge route/fee comparison (bridge_oracle), multi-chain address inspection (inspect_blockchain_address), wallet/contract risk and OFAC screening (check_address_risk).Agent commerce: post/claim/prove/release bounty escrows (
create_task_bounty_escrow,claim_task_bounty,submit_task_proof,get_task_escrow_status,release_task_bounty), reverse-auction RFPs (create_rfp_auction,submit_rfp_bid,get_rfp_status,accept_rfp_bid), machine-to-machine invoicing (agent_invoice).Distributed state & coordination: TTL key-value scratchpad with namespacing (
scratchpad_set/scratchpad_get) and advisory mutex locks (scratchpad_lock/scratchpad_unlock), idempotency/dedup vault (idempotency_vault), sliding-window rate limiting (throttle_check).Reliability plumbing: circuit breaker guard (
circuit_breaker_guard), dead-letter queue with retry lifecycle (dead_letter_queue), upstream AI/RPC health checks (check_dependency_health), raw endpoint probing (probe_upstream_endpoint), delayed/recurring webhook scheduling (cron_trigger_oracle), ephemeral webhook listeners (create_webhook_listener).Code & compute: sandboxed code execution (
code_sandbox_tool), fuzzy search/replace patching tolerant of LLM whitespace drift (apply_fuzzy_patch), CSPRNG-driven random decisions (dice, cards, coin flips, UUIDs —random_decision_oracle), zero-browser web search (search_web), DNS propagation/DNSSEC resolution (dns_propagation_oracle), WHOIS/RDAP fraud screening (whois_lookup).Access model: connect via SSE endpoints (global
/sseor domain profiles like/sse/defi,/sse/security,/sse/agentops,/sse/resilience) from Claude Desktop, Cursor, VS Code, or via npx/Docker; paid tools settle per-call in USDC on Base or Solana via the x402 HTTP 402 standard, with amock_tx_hashsignature for development.
Provides real-time liveness and latency monitoring for OpenAI's LLM API endpoints, helping agents assess provider health.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SairenCan you repair this malformed JSON from the LLM output?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Project Sairen - Model Context Protocol (MCP) Node
High-performance, zero-UI computational infrastructure for autonomous AI agents, coding assistants, and multi-agent swarms.
Connect over remote FastMCP SSE to equip Claude Desktop, Cursor, VS Code, Windsurf, or custom LangChain/AutoGen agents with 43 deterministic, machine-native capabilities—ranging from 100% free multi-agent cleanup utilities to pay-per-call microservices settled via the x402 open standard.
⚡ Free Developer Utilities (Zero Auth Required)
These foundational utilities are 100% free with zero authentication, zero API keys, and zero payment signatures required. They solve the most common multi-agent execution failure modes:
Tool Identifier | FastMCP Tool | Description & Problem Solved | Latency | Cost |
|
| Syntax Recovery & Schema Healing: Deterministic C-accelerated parser that auto-closes unclosed braces/brackets, fixes unquoted keys, strips trailing commas, normalizes single quotes, and rescues malformed LLM outputs. |
| Free ($0.00) |
|
| LLM Context Pruner: Intelligent multi-agent conversation pruner and deduplicator. Trims bloated tool call histories and repetitive messages while preserving critical system instructions. |
| Free ($0.00) |
|
| Stratum-2 NTP Atomic Clock: Returns physical UTC timestamps, nanosecond Unix epochs, ISO 8601 formatting, and 4-point round-trip delay telemetry. Eliminates clock drift and timestamp hallucinations. |
| Free ($0.00) |
|
| Public Egress Discovery: Detects caller's public outbound IP, TLS handshake ciphers, and routing headers for agents operating behind proxies or VPNs. |
| Free ($0.00) |
Related MCP server: agent-toolkit-mcp
🎯 Domain-Scoped SSE Profiles (Zero Context Bloat)
Loading 40+ tool definitions into a single model prompt can consume over 12,000 prompt tokens and induce tool selection confusion. Sairen solves this by providing lean, domain-scoped SSE endpoints. Connect only to the tools your agent actually needs:
┌──────────────────────────────┐
│ https://sairen.omniapps.ca │
└──────────────┬───────────────┘
│
┌───────────────────┬───────────────────┼───────────────────┬───────────────────┐
▼ ▼ ▼ ▼ ▼
[/sse/defi] [/sse/security] [/sse/agentops] [/sse/resilience] [/sse]
(10 Tools, DeFi) (8 Tools, Security) (12 Tools, Runtime) (7 Tools, Rel.) (Global Stream)Profile URL | Domain Focus | Canonical Tools Included | Ideal For |
| Autonomous Finance & Settlement |
| Trading bots, treasury managers, bounty escrows, arbitrage swarms |
| Safety, Risk & Verification |
| Security auditors, prompt injection shields, compliance bots, fact verification |
| Agent Runtime & Tooling |
| Coding assistants (Cursor, Claude), scrapers, patch healers, execution runners |
| Distributed Reliability & State |
| Multi-agent orchestrators, queue workers, fault-tolerant pipelines |
| Global Discovery Stream | All 43 services + | General-purpose clients, registry inspectors, catalog indexers |
🔍 Progressive Tool Discovery (search_tools & describe_tools)
When connected to the global SSE endpoint, autonomous agents can discover tools on demand without loading all schemas up-front:
// Example: Agent discovers tools for checking crypto prices
search_tools({
"query": "dex spot price",
"domain": "defi"
})Returns:
{
"matches": [
{
"name": "get_dex_price",
"description": "Live spot price oracle across Base EVM and Solana DEXs (Uniswap v3, Aerodrome, Raydium, Orca)",
"price_usdc": "$0.0010",
"domain": "defi",
"recommended_profile_url": "https://sairen.omniapps.ca/sse/defi"
}
]
}Then retrieve the exact schema using describe_tools(["get_dex_price"]).
🚀 1-Click Client Configuration
Sairen operates as a high-availability remote SSE server. No packages to compile, zero Python/Node environment issues, and zero host memory footprint.
1. Claude Desktop
Add this configuration to your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"sairen-agentops": {
"type": "sse",
"url": "https://sairen.omniapps.ca/sse/agentops"
},
"sairen-security": {
"type": "sse",
"url": "https://sairen.omniapps.ca/sse/security"
}
}
}(Or point to https://sairen.omniapps.ca/sse for the global catalog).
2. Cursor IDE
In Cursor, navigate to Settings > Features > MCP, or add this to .cursor/mcp.json in your workspace:
{
"mcpServers": {
"sairen": {
"type": "sse",
"url": "https://sairen.omniapps.ca/sse/agentops"
}
}
}3. VS Code / Windsurf / Cline
Add to your workspace mcp.json:
{
"servers": {
"sairen": {
"type": "sse",
"url": "https://sairen.omniapps.ca/sse"
}
}
}4. NPX CLI Remote Bridge
Run directly using npx from any terminal:
# Connect to global catalog:
npx sairen-mcp
# Connect to a domain-scoped profile (recommended for small context windows):
npx sairen-mcp security
npx sairen-mcp defi
npx sairen-mcp agentops
npx sairen-mcp resilience5. Docker Container
# Run isolated container bridge with security profile:
docker run -d --name sairen-mcp \
-e SSE_URL=https://sairen.omniapps.ca/sse/security \
ghcr.io/1tylermitchell/sairen_mcp:latest🛠️ Comprehensive Tool Catalog
Below is the complete inventory of all 43 microservices active on Project Sairen, organized across the 13 canonical categories:
1. ⏱️ Sync & Time
time(get_precision_time) —[Free / Zero Auth]
Stratum-2 NTP atomic time with nanosecond Unix epochs, ISO 8601 formatting, and 4-point round-trip telemetry. Eliminates clock drift and LLM timestamp hallucinations.
2. 📄 Extractor & Parsing
extractor(extract_web_markdown) —[$0.0050 USDC]
High-density web scraper stripping HTML/CSS/JS bloat into clean, LLM-ready token-compressed Markdown. Zero headless browser overhead.temporal_parser(parse_temporal_expression) —[$0.0005 USDC]
Parses natural language relative dates ("next Tuesday at 4pm EST", "end of Q3") into deterministic UTC timestamps and cron schedules.doc_compress(compress_document) —[$0.0005 USDC]
Lossless text compression pipeline that strips boilerplate, redundant whitespace, and noise words, cutting prompt token consumption by 30-50%.
3. 🛡️ Safety & Firewalls
json_repair(heal_json_schema) —[Free / Zero Auth]
Deterministic sub-3ms syntax recovery for truncated or malformed JSON outputs. Rescues unquoted keys, single quotes, and missing brackets.safety_firewall(scan_payload_safety) —[$0.0010 USDC]
Sub-5ms firewall inspecting agent inputs and outputs for prompt injections, SSRF addresses, shell injection sequences, and sensitive credentials.canary_detector(scan_canary_tokens) —[$0.0020 USDC]
Detects tracking pixels, zero-width steganography, DNS canaries, and invisible honeypots in untrusted external web content.url_safety_classifier(classify_url) —[$0.0005 USDC]
Classifies target URLs for phishing, internal IP leakage, cloud metadata SSRF endpoints (169.254.169.254), and domain spoofing.schema_coercer(coerce_schema_arguments) —[$0.0002 USDC]
Strict Pydantic/JSON-Schema validator and type coercer that normalizes agent tool arguments before dangerous function execution.
4. 🔐 Security & Cryptographic Proofs
proof_verifier(verify_cryptographic_proof) —[$0.0002 USDC]
Verifies ECDSA (secp256k1), Ed25519, and Merkle tree inclusion proofs with zero custodial exposure.consensus_arbiter(arbitrate_consensus) —[$0.0010 USDC]
Multi-agent consensus engine that aggregates outputs from multiple LLM evaluators and resolves majority verdicts or outlier rejections.challenge_risk(score_challenge_risk) —[$0.0005 USDC]
Assesses bot challenge friction, Cloudflare Turnstile, and Captcha presence on target endpoints before initiating scrape jobs.fact_grounding(verify_fact_grounding) —[$0.0005 USDC]
Cross-checks model assertions against verifiable factual anchors and calculates hallucination confidence metrics.
5. 🌐 Oracles & Market Data
dex_oracle(get_dex_price) —[$0.0010 USDC]
Direct on-chain spot price quoter across Uniswap v3 & Aerodrome on Base, with multi-RPC failover.solana_dex(get_solana_dex_price) —[$0.0010 USDC]
Real-time Solana DEX price oracle fetching Raydium and Orca pool reserves and token prices.wallet_risk(screen_wallet_risk) —[$0.0020 USDC]
Sub-1ms OFAC sanctions, Tornado Cash mixer, and wallet risk screening for EVM addresses using in-memory trie indexes.address_inspector(inspect_address) —[$0.0010 USDC]
Multi-chain balance, bytecode, and ledger inspector across Base, Ethereum, Solana, and Polygon.dns_oracle(query_dns_records) —[$0.0005 USDC]
Multi-vantage global DNS propagation consensus and DNSSEC validation across Anycast resolvers.whois_lookup(query_whois) —[$0.0005 USDC]
RDAP/WHOIS registrar intelligence screener calculating domain age, registration state, and risk tier.dependency_health(check_dependency_health) —[$0.0003 USDC]
Real-time liveness, response latency, and incident grid for upstream AI APIs (OpenAI, Anthropic, DeepSeek, Groq).search_oracle(search_web) —[$0.0020 USDC]
Autonomous search oracle returning high-signal grounded URLs with zero tracking or human ad bloat.
6. ⛽ DEX & Gas Optimization
gas_oracle(get_base_gas_oracle) —[$0.0001 USDC]
EIP-1559 base fee, priority fee, and L1 data gas oracle on Base L2.simulated_tx(simulate_transaction_oracle) —[$0.0005 USDC]
Pre-flight EVM transaction simulator that estimates gas and decodes contract reverts before broadcasting.bridge_oracle(compare_bridge_routes) —[$0.0010 USDC]
Compares cross-chain bridge fees, slippage, and speeds across Across, Stargate, CCTP, and deBridge.
7. 🤝 Autonomous Commerce
task_escrow(create_task_bounty_escrow) —[$0.0100 USDC]
Programmatic milestone escrow for multi-agent autonomous gig contracts, release conditions, and dispute arbitration.rfp_market(create_rfp_auction) —[$0.0050 USDC]
Broadcasts reverse auction Requests for Proposal (RFPs) for agent swarms to bid on compute and data tasks.agent_invoice(generate_agent_invoice) —[$0.0010 USDC]
ERC-681 / Solana Pay compatible machine-to-machine invoicing and payment receipt oracle.
8. ⏳ Async & Scheduling
webhook_buffer(create_webhook_listener) —[$0.0010 USDC]
Provisions ephemeral public webhook URLs and in-memory ring buffers for asynchronous callback collection.cron_trigger(schedule_cron_trigger) —[$0.0005 USDC]
Autonomous delayed webhook execution and recurring cron trigger scheduler.
9. 🧠 Distributed State
scratchpad(manage_scratchpad) —[$0.0001 USDC]
High-speed ephemeral key-value store for sharing state, intermediate findings, and flags across multi-agent swarms.idempotency_vault(manage_idempotency_key) —[$0.0002 USDC]
Atomic idempotency lock and response cache that prevents duplicate order submissions and double-spending.
10. 🛡️ Resilience & Reliability
circuit_breaker(circuit_breaker_guard) —[$0.0001 USDC]
Adaptive circuit breaker that detects failing upstream microservices and protects agent workflows from cascading timeouts.throttle_guard(throttle_check) —[$0.0001 USDC]
Distributed token-bucket rate limiter ensuring agent swarms do not exhaust downstream API quotas.dead_letter_queue(manage_dead_letter) —[$0.0010 USDC]
Dead-letter queue for capturing, inspecting, leasing, and retrying failed tool executions.
11. 💻 Code & Compute
code_sandbox(execute_code_sandbox) —[$0.0020 USDC]
Safe, isolated evaluator executing arithmetic, algorithmic logic, and deterministic transformations.diff_patcher(apply_fuzzy_patch) —[$0.0005 USDC]
Fuzzy Levenshtein diff healer that applies code edits even when the LLM hallucinated slight line number or whitespace drift.table_filter(filter_tabular_data) —[$0.0010 USDC]
In-memory SQL query engine running relational filters over CSV/JSON tabular data before ingestion (~75%+ token reduction).lsh_dedup(calculate_lsh_dedup) —[$0.0003 USDC]
MinHash / Locality-Sensitive Hashing (LSH) near-duplicate document and web content detector.random_choice(sample_random_choice) —[$0.0001 USDC]
Cryptographically secure random sampling, weighted distribution, and UUIDv4 generation oracle.
12. 📡 Infrastructure Telemetry
telemetry(query_telemetry) —[Free / Zero Auth]
Real-time node latency, uptime, error rates, and capacity metrics.recover(recover_service_failure) —[Free / Zero Auth]
Autonomous diagnostic and fallback suggestion engine for failed API calls.what_is_my_ip(get_egress_ip) —[Free / Zero Auth]
Public outbound IP and network route detector.
💳 Economic Protocol & x402 Micropayments
Project Sairen implements the open x402 HTTP Payment Required standard. This eliminates API keys, subscriptions, credit cards, and KYC friction:
1. Client sends tool request
2. Node returns HTTP 402 with EIP-712 / Solana challenge
3. Agent signs payment ($0.0001 - $0.0100 USDC on Base L2 or Solana)
4. Client attaches X-Payment-Signature: <tx_hash>
5. Node settles instantly and executes payloadSupported Settlement Rails
Base (Ethereum L2): USDC Contract
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913Solana Mainnet: USDC Mint
EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
Developer Integration & Mock Mode
For local development, integration tests, or CI/CD pipelines, attach a test signature header to execute any microservice without live wallet funds:
X-Payment-Signature: mock_tx_hash🌐 Live Architecture & Open Discovery Specifications
Project Sairen is intentionally machine-discoverable. Agents and scrapers can inspect live contracts and telemetry directly:
Public Production Node: https://sairen.omniapps.ca
FastMCP SSE Remote URL:
https://sairen.omniapps.ca/sseAgent Discovery Beacon:
https://sairen.omniapps.ca/.well-known/agent.jsonOpenAPI 3.1 Schema:
https://sairen.omniapps.ca/openapi.jsonLLM Context Summary:
https://sairen.omniapps.ca/llms.txtNode Status & Uptime:
https://sairen.omniapps.ca/v1/statusGitHub Repository: https://github.com/1tylermitchell/sairen_mcp
📄 License & Operating Principles
Released under the MIT License.
All endpoints operate under a zero-UI, machine-to-machine SLA: sub-50ms execution latency, deterministic JSON contracts, and autonomous x402 settlement.
Available Tools
64 toolsaccept_rfp_bidA
[Free / $0.0000 USDC] Accepts the winning bid for an RFP, locking in the supplier terms,
transitioning the RFP to MATCHED, and closing further bidding. Free execution.
Args:
rfp_id: Target RFP ID.
bid_id: Winning bid ID to accept.
buyer_id: EVM wallet address of the RFP creator.
| Name | Required | Description | Default |
|---|---|---|---|
| bid_id | Yes | ||
| rfp_id | Yes | ||
| buyer_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the main effects (locks terms, transitions to MATCHED, closes bidding) and notes free execution, but does not mention permissions, reversibility, error handling, or requirements (e.g., that buyer_id must be the RFP creator). This is moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise, front-loading the purpose and then listing arguments. The pricing note is extra but harmless. The structure is clear, though the args section could be integrated more tightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and moderate complexity (state transition with three parameters). The description states the effect but lacks preconditions (e.g., bid must be valid, buyer must be creator) and error scenarios. It is adequate but not comprehensive for a state-changing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides a brief but clear meaning for each parameter: rfp_id is 'Target RFP ID', bid_id is 'Winning bid ID to accept', and buyer_id is 'EVM wallet address of the RFP creator'. This adds value beyond the bare schema, though it could include more detail on validation or sources.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Accepts the winning bid for an RFP' and lists specific outcomes (locking terms, transitioning to MATCHED, closing bidding). This is a distinct verb+resource that differentiates it from siblings like submit_rfp_bid or get_rfp_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (to accept a winning bid) but does not explicitly state when to use this tool versus alternatives like submit_rfp_bid or get_rfp_status. No exclusions or conditions are provided, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_invoiceA
[Cost: $0.0010 USDC on Base & Solana] Autonomous agent-to-agent micro-invoicing.
Issue EIP-712 payment challenge invoices, verify on-chain settlement proofs,
and manage the full A2A invoice lifecycle (create → settle → expire/cancel).
Enables peer-to-peer agent hiring without custodial wallets or human intermediaries.
Actions:
create — Issue a new invoice with EIP-712 typed-data challenge.
Params: {
"payee_agent_id": "agent:sairen/extractor",
"amount_usdc": "0.005",
"payer_agent_id": "agent:claude/orchestrator", # optional
"token": "USDC", # optional (default USDC)
"chain": "base", # optional (base|solana|arbitrum|...)
"service_description": "Web page extraction", # optional
"ttl_seconds": 3600 # optional (60–86400)
}
verify — Confirm settlement with transaction hash or EIP-712 signature.
Params: {"invoice_id": "inv_...", "tx_hash": "0x..."}
status — Inspect current invoice state.
Params: {"invoice_id": "inv_..."}
cancel — Void a pending invoice (payee-initiated).
Params: {"invoice_id": "inv_..."}
list — Query invoices by payer, payee, or state.
Params: {"payer_agent_id": "agent:...", "state": "pending", "limit": 10}
Invoice States: pending → settled | expired | cancelled
Args:
action: Lifecycle action (create/verify/status/cancel/list).
params: Action-specific parameter dictionary.
payment_signature: x402 Base USDC transaction hash (defaults to dev mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | create | |
| params | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It does well by revealing cost, on-chain settlement verification, lifecycle state transitions, cancel/expire semantics, and the dev mock key default for payment_signature. It does not detail failure modes, return shapes, or error conditions, but the disclosed behavior is substantial and non-contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well structured: cost and core purpose first, then Actions with inline params, Invoice States, and Args. The Args section partially repeats the schema, and the action parameter details could be trimmed, but the organization and front-loading keep it navigable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex financial lifecycle tool with no output schema and no annotations, the description is unusually complete: it defines all actions, state transitions, parameter examples, defaults, and payment signature behavior. It stops short of specifying response/output formats or error handling, which would round out an agent's ability to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is generic and has 0% description coverage, but the description richly compensates. It provides per-action parameter dictionaries with concrete examples, defaults, units, allowed chains, and value ranges such as ttl_seconds (60–86400) and amount_usdc '0.005'. This is far more than the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a crisp, specific definition: 'Autonomous agent-to-agent micro-invoicing' and enumerates the exact lifecycle actions (create, verify, status, cancel, list) and invoice states. It clearly distinguishes this tool from financial sibling tools like create_task_bounty_escrow and release_task_bounty by focusing on A2A payment-challenge invoices rather than escrow/bounty workflows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states when to use the tool: for peer-to-peer agent hiring and A2A micro-invoicing without custodial wallets or human intermediaries. It provides clear operational context through the action list, though it does not explicitly name alternatives or state exclusion criteria relative to sibling tools like create_task_bounty_escrow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_fuzzy_patchA
[Cost: $0.0005 USDC on Base & Solana] Resilient fuzzy code search/replace patcher.
Heals indentation shifts, whitespace drift, and minor line mutations that break LLM edits.
Args:
original_code: Full original file or source string.
search_target: Code snippet or block to locate and replace.
replacement_code: New code content to substitute in.
min_similarity: Fuzzy line tolerance threshold (0.5-1.0, default: 0.75).
language: Optional language for syntax validation ('python', 'json').
payment_signature: Optional x402 Base/Solana USDC transaction hash (defaults to developer mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | ||
| original_code | Yes | ||
| search_target | Yes | ||
| min_similarity | No | ||
| replacement_code | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses cost, fuzzy-healing behavior, optional syntax validation, and the payment_signature default to a mock key. Yet it omits what the function returns, whether the original string is mutated in place, and failure behavior when no sufficiently similar match is found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: cost and core purpose come first, followed by a tight parameter list. Each sentence adds information, though the arg list could be slightly tightened without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with no output schema and no annotations, the description covers invocation essentials well: pricing, all parameters, defaults, and optional syntax validation. However, it does not state the return value, error behavior, or whether the patch is purely functional, which leaves an agent uncertain about the tool's outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does thoroughly. Every parameter is explained with its meaning, format, constraints, or default: original_code as full source, search_target as the block to locate, min_similarity with range and default, language with allowed examples, and payment_signature with chain and mock-key behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific action ('fuzzy code search/replace patcher') on a specific resource (code), and adds distinguishing detail about healing indentation shifts and whitespace drift. It is clear but does not name or explicitly differentiate from sibling tools like repair_malformed_json or code_sandbox_tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'that break LLM edits' implies this tool is for repairing failed or imperfect LLM-generated replacements, giving some usage context. However, there is no explicit guidance on when to prefer this over alternatives or when not to use it, leaving the agent to infer the selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arbitrate_consensusB
[Cost: $0.0006 USDC on Base & Solana] Deterministically arbitrate consensus across multiple model outputs in <5ms. Eliminates expensive LLM-as-a-judge spans by detecting decision alignment, numeric convergence, and dissenting outliers.
| Name | Required | Description | Default |
|---|---|---|---|
| candidates | Yes | ||
| entity_keys | No | ||
| decision_key | No | ||
| numeric_keys | No | ||
| payment_signature | No | ||
| agreement_threshold | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does mention deterministic behavior, a sub-5ms latency, and a cost figure, which are useful. However, it fails to disclose what the output looks like (despite an output schema), how it handles edge cases (e.g., ties, insufficient candidates), whether the operation is read-only or has side effects, and any failure modes. The description reads more like a promotional pitch ('Eliminates expensive LLM-as-a-judge spans') than a transparent behavioral contract.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero filler. It front-loads the cost and core purpose, then adds a performance/benefit statement. Every word earns its place, and it is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with six parameters, an output schema, and a non-trivial consensus algorithm, this description is incomplete. It does not explain the required 'candidates' format, the meaning of the optional keys, how the agreement_threshold affects results, or what the output contains (though an output schema exists, the description does not bridge the gap between inputs and outputs). An agent would struggle to correctly invoke this tool without probing the schema fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% – the input schema provides only titles, no descriptions. The tool description does not explain any of the six parameters, though it vaguely hints at 'decision alignment' (decision_key) and 'numeric convergence' (numeric_keys). It does not clarify the purpose of entity_keys, payment_signature, agreement_threshold, or the structure of the candidates array. This is insufficient compensation for the low coverage, leaving the agent to guess parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: 'deterministically arbitrate consensus across multiple model outputs', with a clear resource and context. It also hints at the mechanism (detecting decision alignment, numeric convergence, dissenting outliers) which differentiates it from generic aggregation. However, it does not explicitly contrast with a sibling tool like 'random_decision_oracle', though it does mention eliminating LLM-as-a-judge, which is a conceptual alternative. This is strong but not a full 5 because it lacks a direct named sibling comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have multiple model outputs and need a fast, deterministic consensus, and suggests it replaces expensive LLM judgment. However, it does not provide explicit guidance on when NOT to use it (e.g., when inputs are subjective or when nuanced judgment is required) nor name specific alternative tools. The context is clear but the exclusions are left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bridge_oracleA
[Cost: $0.0010 USDC on Base & Solana] Cross-Chain Bridge Route & Fee Oracle.
Deterministic comparison of Across, Stargate, deBridge DLN, and Circle CCTP routes
for autonomous stablecoin transfers across Base, Solana, Arbitrum, OP, and Ethereum.
Actions:
- 'quote': Compare routes for token transfer. Params: {"source_chain": "base", "dest_chain": "solana", "amount": 100.0, "token": "USDC"}
- 'supported': List supported chains, tokens, and bridge protocols.
- 'status': Retrieve cached quote by quote_id. Params: {"quote_id": "..."}
Args:
action: Target operation name ('quote', 'supported', 'status').
params: Dictionary of action parameters.
payment_signature: Optional x402 transaction signature.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | quote | |
| params | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses cost ($0.0010 USDC on Base & Solana) and determinism, and implies caching via the 'status' action. However, it does not mention error behavior, rate limits, idempotency, or whether payment is required (payment_signature is optional). This is a partial disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a header, action list, and args section. It front-loads the purpose and cost, and uses bullet points for clarity. It is not overly verbose given the multiple actions, though it could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three actions and no output schema, the description covers the actions and examples but omits return formats, error handling, and edge cases (e.g., what happens if no routes found). The cost and determinism are noted, but an agent may be unsure what to expect from 'quote' or 'supported' responses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides zero description coverage (0%), so the description must compensate. It does so by explaining the 'action' values, giving concrete examples for 'quote' and 'status' params, and noting that 'params' is a dictionary. This adds meaning beyond the schema's bare type definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: a cross-chain bridge route and fee oracle comparing Across, Stargate, deBridge DLN, and Circle CCTP for stablecoin transfers across specific chains. It names the protocols and chains, and the action list ('quote', 'supported', 'status') makes the scope explicit. This distinguishes it from sibling tools like DEX price oracles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives context (for autonomous stablecoin transfers) and lists actions, but does not explicitly state when to use this tool versus alternatives. There is no mention of exclusions or when to prefer other tools (e.g., DEX spot price tools for on-chain swaps). Since siblings are unrelated, the gap is moderate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_rfpA
[Free / $0.0000 USDC] Cancels an open or expired RFP in the multi-agent reverse auction market.
Keywords: cancel rfp, close auction, abort proposal.
Allows buyer agents to cleanly terminate unfilled or expired requests.
Args:
rfp_id: Target RFP ID to cancel.
buyer_id: EVM wallet address of the RFP creator.
| Name | Required | Description | Default |
|---|---|---|---|
| rfp_id | Yes | ||
| buyer_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries full behavioral burden for a destructive mutation. It discloses the zero cost ('[Free / $0.0000 USDC]') but never says whether cancellation is reversible, what happens to pending bids, whether escrowed funds are refunded, or what authorization is required beyond being the buyer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action and cost are front-loaded and the Args block is compact. The Keywords line and the 'cleanly terminate unfilled or expired requests' sentence partially restate the opening sentence, costing some tokens without adding much.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation with no annotations and no output schema, the description covers the what, the rough when, and both parameters, but leaves the agent without the consequences of the operation (refunds, bid invalidation, reversibility) that matter most before invoking a cancel action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does add real meaning: buyer_id is identified as an 'EVM wallet address of the RFP creator' (a type/identity detail absent from the schema), and rfp_id is scoped as the 'target RFP ID to cancel.' It stops short of format examples, but it clearly beats the bare 'Buyer Id'/'Rfp Id' titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Cancels an open or expired RFP') plus the domain ('multi-agent reverse auction market'), which cleanly separates it from siblings like create_rfp_auction, submit_rfp_bid, accept_rfp_bid and get_rfp_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Allows buyer agents to cleanly terminate unfilled or expired requests' gives clear situational context for when to call it, and the buyer_id arg implies the creator is the authorized caller. It does not, however, state when not to use it or point to alternatives such as letting a bid be accepted instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_task_bountyA
[Free / $0.0000 USDC] Cancels an open or expired task bounty and refunds funds to the creator.
Keywords: cancel escrow, refund bounty, reclaim funds, escrow recovery.
Prevents creator funds from remaining permanently locked if a bounty goes unclaimed or expires past its TTL.
Args:
escrow_id: Target escrow ID to cancel.
creator_id: EVM wallet address of the task creator requesting refund.
| Name | Required | Description | Default |
|---|---|---|---|
| escrow_id | Yes | ||
| creator_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the key behavior beyond the name: funds are refunded to the creator and the tool prevents permanent lockup, plus a cost hint ([Free / $0.0000 USDC]). It omits irreversibility, authorization requirements beyond the creator_id, failure modes (already-claimed escrow), and any confirmation/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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Cost/scope prefix is front-loaded, the purpose sentence follows, and the Args block is terse. The 'Keywords' line is arguably redundant agent-facing filler, but it is short and the overall payload is compact with no wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a fund-moving mutation with no annotations and no output schema, the description covers the side effect, the reason to call it, and both argument meanings. It still leaves gaps an agent might need: whether the caller must be the creator, what happens if the bounty is already claimed or not expired, and whether the refund is atomic/reversible.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it documents both parameters: escrow_id as the target escrow to cancel and creator_id as 'EVM wallet address of the task creator requesting refund'. The EVM-address format hint on creator_id is genuinely additive, though escrow_id's semantics ('target escrow ID') remain thin.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (cancels) and resource (open or expired task bounty) plus the side effect (refunds funds to the creator). The 'task bounty' scoping distinguishes it from siblings such as cancel_rfp, release_task_bounty, and claim_task_bounty without the agent needing to open another schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies when to use it via 'open or expired task bounty' and 'unclaimed or expires past its TTL', which gives the triggering condition. However, it never names the alternative tools (release_task_bounty, claim_task_bounty) or states when not to cancel, so the routing decision is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
challenge_risk_toolB
[Cost: $0.0030 USDC on Base & Solana] Classify bot risk, challenge signals, and safe anti-abuse remediation for agent traffic and scraping pipelines.
Sub-50ms deterministic machine execution.
Args:
input_data: Target payload or query string.
parameters: Optional dictionary or JSON string of execution arguments.
payment_signature: Optional x402 Base USDC transaction hash (defaults to developer mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | ||
| parameters | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It discloses cost, sub-50ms deterministic execution, and mentions 'safe anti-abuse remediation,' but it does not state whether the tool is read-only or has side effects, nor does it mention any authentication or rate limits. It also notes that payment_signature defaults to a developer mock key, which is useful. This is partial disclosure, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise, with a clear purpose statement and a structured argument list. It includes useful extras like cost and speed, which are not redundant. The front-loading of purpose is good. It is not overly verbose, so a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides purpose, parameters, cost, and performance, but lacks any mention of the output format (no output schema), side effects, or usage boundaries versus alternatives. For a classification tool with no annotations, this is incomplete for an agent to fully understand invocation consequences. A 3 is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains each parameter: input_data as a target payload or query string, parameters as an optional dictionary or JSON string, and payment_signature as an optional USDC transaction hash with a default. Since schema coverage is 0%, this is essential and largely compensates. However, it does not elaborate on what execution arguments the parameters dict should contain, so a 4 is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it classifies bot risk, challenge signals, and safe anti-abuse remediation for agent traffic and scraping pipelines. This is a specific verb-resource pair and distinguishes from siblings like classify_url or check_address_risk by focusing on bot risk. However, it does not explicitly name alternatives, so a 4 is appropriate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the intended context (agent traffic and scraping pipelines) but does not provide explicit guidance on when to use this tool versus the many sibling classification tools. There are no exclusions or alternative names mentioned. Given the large sibling set, this is a notable gap, so a 2 is warranted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_address_riskA
[Cost: $0.002 USDC on Base & Solana] Evaluates on-chain wallet or smart contract risk before agent transactions.
Performs real-time bytecode analysis, transaction velocity inspection, fresh/empty throwaway account detection,
and OFAC sanctions list verification on Base L2. Use before sending funds, approving token allowances,
or executing third-party smart contracts.
Args:
address: Target 42-character 0x EVM wallet address or smart contract.
chain: Target chain network (default: base).
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base | |
| address | Yes | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the cost ($0.002 USDC), the real-time analysis nature, the specific checks performed, and the chain scope (Base L2). It also mentions payment_signature as an optional x402 hash or mock key, which hints at payment behavior. It doesn't state failure modes or reversibility, but for a read-only risk check, the disclosed behavior is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the cost and purpose. The Args section is redundant with the schema but adds semantic detail. It earns its place overall, though the cost line could be integrated more elegantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a risk-check tool with no output schema, the description covers the input semantics, the checks performed, and the use case. It doesn't describe the return format (e.g., risk score, boolean, report), which an agent would need to interpret the result. However, the description is otherwise complete for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains 'address' as a 42-character 0x EVM wallet or contract, 'chain' as the target network with default base, and 'payment_signature' as an optional x402 Base USDC transaction hash or developer mock key. This adds meaning beyond the bare schema, though it could be more precise about chain options (e.g., is Solana supported? The cost line mentions Solana but the description says Base L2).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool evaluates on-chain wallet or smart contract risk before agent transactions, with a specific verb ('Evaluates') and resource ('on-chain wallet or smart contract'). It distinguishes itself from siblings like inspect_blockchain_address and scan_payload_safety by listing concrete checks (bytecode analysis, transaction velocity, throwaway detection, OFAC sanctions) and the target chain (Base L2).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use it: 'Use before sending funds, approving token allowances, or executing third-party smart contracts.' It also implies when not to use it (e.g., for URL or payload safety, which are covered by siblings classify_url and scan_payload_safety). This is strong usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_dependency_healthB
[Backward-Compatible Alias] Use 'check_service_health' instead.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | ||
| providers | No | ||
| force_fresh | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. It does not say whether the alias behaves identically to check_service_health, whether it forwards arguments unchanged, whether it is deprecated, or whether calling it emits a warning or error. For a compatibility shim this is a meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence plus bracketed tag is front-loaded and wastes no words, which is appropriate for a trivial alias. It edges below 5 only because the brevity reads as under-specification rather than deliberate compression given the unexplained parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but the definition still omits everything an agent needs beyond the redirect: parameter behavior, aliasing guarantees, and deprecation status. For a 3-parameter tool with zero schema coverage and no annotations, the description is too thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about category, providers, or force_fresh. With three completely undocumented parameters and no compensating prose, an agent has no basis for choosing values or knowing whether they match check_service_health's semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states plainly that this is a backward-compatible alias and names the canonical tool to use instead, which lets an agent distinguish it from check_service_health in the sibling list. However, it never states what the tool actually does (model dependency/service health), so the purpose is carried by the redirect rather than an independent verb+resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit alternative: use 'check_service_health' instead. That is direct routing guidance with no ambiguity. It stops short of a 5 because it doesn't say whether this alias should ever be called (e.g., only for legacy clients) or whether it is slated for removal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_service_healthB
[Cost: $0.0003 USDC on Base & Solana] Universal upstream AI dependency, Web3 RPC, and endpoint health monitor. Keywords: check dependency health, probe upstream endpoint, api health check, service monitor, uptime probe. Checks AI providers (OpenAI, Anthropic, Gemini, Groq), Web3 RPCs (Base, Solana), or performs live TCP/SSL ping of any target URL.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | auto | |
| target | No | ||
| category | No | ||
| providers | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses a per-call cost ($0.0003 USDC) and that a live TCP/SSL ping occurs, which is genuine behavioral context. But it omits auth requirements, rate limits, and what happens on failure or timeout.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads cost, then purpose, then specifics in a compact multi-clause form. The keyword enumeration is somewhat redundant filler, but overall it is appropriately sized and leading with the cost/purpose is effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the description covers the domain of providers and targets. But for a 5-parameter tool at 0% schema coverage with no annotations, the unexplained mode/category/timeout semantics leave real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it only partially does: it names example providers (OpenAI, Anthropic, Gemini, Groq) and target types (URL, Base/Solana RPC). The central parameters mode, category, and timeout_seconds receive no explanation at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (monitors/checks) and resource (AI dependency, Web3 RPC, endpoint health) with concrete examples of providers and targets. However, it does not differentiate itself from siblings like check_dependency_health and probe_upstream_endpoint, which appear to cover the same territory, leaving an agent unable to tell them apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus the near-duplicate siblings (check_dependency_health, probe_upstream_endpoint, dns_propagation_oracle). The keyword list is SEO-style filler for discovery, not usage routing, and 'auto' mode behavior is never explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
circuit_breaker_guardA
[Cost: $0.0002 USDC on Base & Solana] Distributed swarm circuit breaker and fail-fast oracle.
Prevents cascading retry storms and IP bans across multi-agent swarms when upstreams fail.
Args:
service_key: Target upstream identifier (e.g. 'api.coingecko.com', 'base_rpc').
action: 'check' to test upstream state (CLOSED/OPEN), or 'record' to log call outcome.
success: Whether the upstream call succeeded (used when action='record').
status_code: HTTP/RPC status code received (default: 200).
error_message: Optional error reason if the call failed.
payment_signature: Optional x402 Base/Solana USDC transaction hash (defaults to developer mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | check | |
| success | No | ||
| service_key | Yes | ||
| status_code | No | ||
| error_message | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the cost ($0.0002 USDC) and the existence of check/record actions, but does not mention return values, side effects, state changes, or idempotency. It also doesn't clarify whether 'check' is a safe read operation or if 'record' has lasting effects beyond logging. The payment_signature default is mentioned, but the overall behavioral picture is incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and cost, then follows a clear argument-style breakdown. It is longer than strictly necessary but every sentence adds value; the parameter explanations are essential given the lack of schema descriptions. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should explain what it returns (e.g., circuit state, success/failure). It does not. It also omits error conditions, rate limits, or concurrency implications. For a tool with 6 parameters and no annotation coverage, the description is adequate for invoking it but leaves gaps about the response and operational caveats.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero descriptions, so the tool description must explain each parameter. It does this thoroughly: service_key is defined as a target upstream identifier, action specifies check vs record with expected outcomes, success and status_code are clarified in context, error_message is optional, and payment_signature has a note about the default. This fully compensates for the 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's role as a distributed swarm circuit breaker and fail-fast oracle, with a specific goal: preventing cascading retry storms and IP bans. It uses a specific verb ('prevents') and names the resource ('swarm circuit breaker'), distinguishing it from the broad set of sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the two actions ('check' and 'record') and the parameters, but does not explicitly state when to use this tool versus alternatives like check_dependency_health, probe_upstream_endpoint, or dead_letter_queue. The use case is implied (protecting against retry storms) but no direct comparison or exclusion is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
claim_task_bountyA
[Free / $0.0000 USDC] Claims an open task bounty in the autonomous gig economy.
Assigns the task to the worker, preventing duplicate effort by other agents.
Args:
escrow_id: ID of the escrow to claim.
worker_id: EVM wallet or identifier of the claiming worker agent.
| Name | Required | Description | Default |
|---|---|---|---|
| escrow_id | Yes | ||
| worker_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the core effect (claiming and assigning) and the duplicate-prevention behavior, but lacks details on permissions, reversibility, or failure modes. The 'Free / $0.0000 USDC' note adds a cost transparency element, but other behavioral aspects are unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded. The purpose is stated in the first sentence, followed by the effect and then parameter definitions. There is no extraneous information; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description covers the essential aspects: purpose, effect, and parameter semantics. It does not detail what happens on failure or after claiming, but the 'preventing duplicate effort' implies a state change. The description is adequate for correct invocation, though additional edge-case context would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The Args section provides clear, concise meanings for both parameters: escrow_id as 'ID of the escrow to claim' and worker_id as 'EVM wallet or identifier of the claiming worker agent'. This fully explains the parameters beyond the schema's type-only definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Claims an open task bounty' and 'Assigns the task to the worker'. This distinguishes it from sibling tools like release_task_bounty or get_task_escrow_status. The addition of 'preventing duplicate effort' adds specificity about its role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when an agent wants to claim a task bounty, but it does not explicitly contrast with alternatives or state when NOT to use it. There is no mention of prerequisites or exclusions, so the guidance is adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_urlA
[Cost: $0.0002 USDC on Base & Solana] Classify one URL locally for fetch safety. Invoke before passing an untrusted URL to a network-capable fetcher.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| payment_signature | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the cost ($0.0002 USDC) and that classification happens 'locally', which is useful. However, it does not state whether the operation is read-only, idempotent, or what side effects (if any) occur, leaving significant behavioral gaps for a tool with no annotation safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly compact: a cost note and a single-purpose sentence. Every word earns its place, and the cost is front-loaded for immediate awareness. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While an output schema presumably covers return values, the description misses critical context around the payment_signature parameter, which affects how the tool is called. It also does not mention any prerequisites or side effects. For a paid tool, the payment mechanism should be explained, making the description incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain both parameters. It implicitly explains the 'url' parameter (the URL to classify) but entirely omits any mention of 'payment_signature', its purpose, or how it relates to the stated cost. This is a major gap for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Classify') and resource ('one URL'), with a specific purpose ('for fetch safety'). It differentiates itself by noting 'locally' and the use case of untrusted URLs, which helps distinguish it from siblings like scan_payload_safety or check_address_risk, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear when-to-use: 'Invoke before passing an untrusted URL to a network-capable fetcher.' This gives direct usage context but does not mention exclusions or alternative tools, so it falls short of 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.
code_sandbox_toolB
[Cost: $0.005 USDC on Base & Solana] Safe deterministic sandbox for executing short code snippets with resource limits.
Sub-50ms deterministic machine execution.
Args:
input_data: Target payload or query string.
parameters: Optional dictionary or JSON string of execution arguments.
payment_signature: Optional x402 Base USDC transaction hash (defaults to developer mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | ||
| parameters | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses cost ($0.005), safety, determinism, sub-50ms execution, and mentions payment_signature. It does not describe what happens on error, the return format, or isolation details. While it adds some behavioral context (payment requirement, determinism), it is not comprehensive for a sandbox execution tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with cost and key attributes. It lists parameters with brief explanations. It avoids fluff and is efficient, though it could be slightly more structured. It earns a 4 for being concise and to the point, but not a 5 because it lacks some detail that would make it more useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (code execution, payment, resource limits) and no output schema, the description is inadequate. It does not specify supported languages, limits of 'short', how to structure input_data, expected output format, or error behavior. The absence of any output schema means the description must cover return values, which it does not. This leaves significant gaps for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides brief explanations: input_data is a 'payload or query string', parameters is a 'dictionary or JSON string', payment_signature is an 'x402 Base USDC transaction hash'. However, these are insufficient for an agent to know exactly what to pass; e.g., what constitutes a valid payload, what execution arguments are expected, and the format of the signature are unclear. The description only partially compensates for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear purpose: 'executing short code snippets with resource limits' in a 'safe deterministic sandbox'. It identifies the specific action (executing code) and the resource (sandbox). However, it does not differentiate from any sibling tool; no alternative is mentioned. The mention of sub-50ms determinism adds specificity but the lack of sibling comparison keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for short code execution and emphasizes safety and determinism, giving a clear context. It does not state when not to use this tool or name alternative tools. The constraint 'short code snippets' and 'resource limits' suggests applicability but no explicit exclusions or alternatives are provided, so it 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.
coerce_tool_argumentsA
[Cost: $0.0005 USDC on Base & Solana] Automatically heals, coerces, and repairs malformed tool call arguments emitted by smaller open-weight models (Llama-3, Mistral, Qwen).
Casts stringified numbers/booleans, wraps scalar strings into arrays, resolves fuzzy enums, strips extra hallucinated keys, and backfills missing required properties in < 1ms.
Eliminates expensive 2-second LLM re-prompting cycles with 100% deterministic schema conformance.
Args:
raw_arguments: The raw parameter dictionary (or JSON string) produced by the model.
target_schema: The JSON Schema dictionary (or JSON string) declaring expected property types.
strict_keys: If True, strips extra hallucinated keys not in the schema (default: True).
backfill_defaults: If True, backfills missing required fields with schema or type defaults (default: True).
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| strict_keys | No | ||
| raw_arguments | Yes | ||
| target_schema | Yes | ||
| backfill_defaults | No | ||
| payment_signature | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so well: it discloses cost, sub-millisecond latency, deterministic schema conformance, and specific transformations such as casting, array wrapping, enum resolution, key stripping, and backfilling. It omits failure modes and auth details, but the core behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with cost and core purpose, then uses a structured Args block. It is somewhat long, but the length is justified by the low schema coverage and the need to document parameters and payment behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, low schema coverage, and the existence of an output schema, the description covers the operational essentials: inputs, controls, cost, latency, and determinism. It does not explain failure behavior or output format, but those are partially covered by the output schema and the core invocation requirements are clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: the Args section documents all five parameters, including accepted JSON-string forms for raw_arguments and target_schema, defaults for strict_keys and backfill_defaults, and the payment_signature format. This adds substantial meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('heals, coerces, and repairs') on a precise resource ('malformed tool call arguments') and emphasizes deterministic schema conformance. This makes its purpose clear and distinguishes it from generic repair utilities like repair_malformed_json.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear use context: use for malformed arguments from smaller open-weight models and to avoid expensive LLM re-prompting cycles. It does not explicitly name sibling tools or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compress_document_toolA
[Cost: $0.0030 USDC on Base & Solana] Extracts and compresses PDF and DOCX documents into token-optimized Markdown.
Strips visual bloat and repetitive headers/footers to save up to 80% tokens for LLM context windows.
Args:
url: HTTP/HTTPS URL of the PDF or DOCX file to download and compress.
base64_data: Optional base64-encoded binary content of the document.
filename: Optional filename to assist with format detection (e.g. 'paper.pdf').
payment_signature: Optional x402 Base/Solana USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| filename | No | ||
| base64_data | No | ||
| payment_signature | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the cost, the payment requirement (payment_signature), and the transformation behavior (stripping headers/footers, token savings). However, it does not mention failure modes, rate limits, or what happens with invalid inputs or when both url and base64_data 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: it leads with cost, then states purpose, then provides a bulleted Args list. Each sentence earns its place, and the information is front-loaded. While somewhat long, it is not verbose or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (payment, binary input, compression) and the absence of annotations, the description covers the essential inputs, cost, payment signature, and output format. It does not detail error handling or how to obtain a payment_signature, but the presence of an output schema reduces the need to explain return values. Overall, it is fairly complete for an agent to invoke.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description's Args section fully compensates by explaining each parameter's purpose, format, and optionality (e.g., 'HTTP/HTTPS URL', 'Optional base64-encoded binary content'). It does not clarify whether url or base64_data is required or how they interact, but it adds substantial meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'extracts and compresses' with the resource 'PDF and DOCX documents' and the output 'token-optimized Markdown.' It also highlights the benefit of stripping visual bloat. However, it does not explicitly differentiate from sibling tools like extract_web_markdown or trim_llm_context, relying on the reader to infer uniqueness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reducing token consumption in LLM contexts via the 80% savings claim, but it does not explicitly state when to use this tool versus alternatives or when not to use it. There are no exclusions or conditions, so guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_rfp_auctionA
[Cost: $0.005 USDC on Base & Solana] Broadcasts a Request for Proposal (RFP) to the multi-agent reverse auction market.
Lifecycle:
1. Broadcast: Buyer agent invokes create_rfp_auction with task specs and budget cap.
2. Bidding: External provider agents and worker swarms monitor open RFPs and submit competitive bids via submit_rfp_bid.
3. Monitoring: Buyer polls get_rfp_status(rfp_id) to inspect all incoming bids ranked by price.
4. Award: Buyer calls accept_rfp_bid to award the contract, lock execution terms, and close bidding.
Args:
buyer_id: EVM wallet address or agent identifier creating the RFP.
title: Short description of the required task or compute service.
max_budget_usd: Maximum budget in USD for this task.
specifications: Technical parameters, input data requirements, or deliverable formats (JSON dict or string).
ttl_seconds: Duration in seconds before the auction closes (default: 3600).
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| buyer_id | Yes | ||
| ttl_seconds | No | ||
| max_budget_usd | Yes | ||
| specifications | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It discloses the $0.005 USDC cost, the broadcast behavior, optional payment_signature semantics, and the close-bidding effect when later accepted. It does not cover failure modes or return behavior, but the described lifecycle is solid and actionable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but well structured with a lifecycle overview and an Args list. Every section adds useful context, though the lifecycle could be slightly trimmed without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the description covers cost, parameter semantics, and the lifecycle with sibling tools. However, it never explicitly states what the tool returns (e.g., an rfp_id), despite implying it via get_rfp_status(rfp_id), which is a meaningful gap since there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully compensates by explaining every parameter in the Args section, adding meaning beyond bare names and types. For example, specifications is clarified as 'Technical parameters, input data requirements, or deliverable formats' and payment_signature as 'Optional x402 Base USDC transaction hash or developer mock key.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb and resource: 'Broadcasts a Request for Proposal (RFP) to the multi-agent reverse auction market.' It clearly differentiates this tool from siblings by describing the full auction lifecycle and naming related tools like submit_rfp_bid, get_rfp_status, and accept_rfp_bid.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The lifecycle section explicitly explains when the buyer agent should invoke create_rfp_auction and how it fits with the sibling bid, monitoring, and award tools. It gives a clear sequence and names alternatives, making it easy for an agent to decide 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.
create_task_bounty_escrowA
[Cost: $0.01 USDC on Base & Solana] Locks a task bounty into a programmatic escrow vault.
Lifecycle:
1. Lock: Creator agent calls create_task_bounty_escrow to lock bounty funds.
2. Claim: Worker agents or human operators discover open bounties and call claim_task_bounty to reserve the task.
3. Proof: Worker submits proof of completion (SHA-256 hash, URL, or signed message) via submit_task_proof.
4. Release: Creator inspects proof via get_task_escrow_status and executes release_task_bounty to trigger payout.
Args:
creator_id: EVM wallet address or agent identifier posting the bounty.
title: Short task summary.
description: Detailed requirements or deliverables.
bounty_usd: Amount locked in USD.
proof_type: Verification proof type ('sha256_hash', 'signed_message', 'url_delivery').
ttl_seconds: Escrow duration in seconds (default: 7200).
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| bounty_usd | Yes | ||
| creator_id | Yes | ||
| proof_type | No | sha256_hash | |
| description | Yes | ||
| ttl_seconds | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses the cost ($0.01 USDC) and that it locks funds, but it does not mention potential irreversibility, failure modes, or permission requirements. For a financial operation, more transparency would be expected, but the lifecycle adds some context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a cost note, numbered lifecycle, and an Args list. It is slightly verbose but every sentence adds value, 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers purpose, parameters, and lifecycle, it does not mention the return value or what happens on success/failure. Since there is no output schema, the agent would need to know what to expect, making this a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates by explaining every parameter, including formats for creator_id and payment_signature, and defaults for ttl_seconds and proof_type. This adds significant meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Locks a task bounty into a programmatic escrow vault.' It also provides a lifecycle that distinguishes it from sibling tools like claim_task_bounty and release_task_bounty, making the role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a detailed lifecycle showing this tool as the first step, which implicitly tells when to use it. It mentions other tools in the flow but does not explicitly state when not to use it or provide direct alternatives. However, the lifecycle is a strong contextual guide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_webhook_listenerA
[Cost: $0.001 USDC on Base & Solana] Provisions a temporary, public HTTP callback URL for stateless agents.
External systems (GitHub, Stripe, Alchemy, etc.) can send webhooks to this URL,
and the events are buffered in memory for the agent to poll later at its convenience.
Args:
ttl_hours: Lifespan of listener in hours (default: 24, max: 168).
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| ttl_hours | No | ||
| payment_signature | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It discloses the cost, temporary nature, public URL, and memory buffering. However, it does not explicitly state that the listener is destroyed after TTL or that events are lost if not polled in time. It also does not mention any security implications of a public URL, though 'public' is noted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a cost/context line, a clear explanation of purpose, and a formatted Args section. It is front-loaded with the most critical information (cost and purpose) and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values are covered elsewhere. The description covers purpose, usage, cost, parameters, and lifespan. It does not detail what happens on expiry or how to poll, but those are likely covered by sibling tools and the output schema. For a create operation, this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates. It explains ttl_hours with default and max, and payment_signature as an optional transaction hash or mock key. This adds significant meaning beyond the raw schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a temporary public HTTP callback URL for stateless agents, and explains the purpose of buffering webhook events in memory. This distinguishes it from sibling tools like poll_webhook_events, though it does not explicitly name them. The verb 'provisions' and specific resource 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.
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 it (stateless agents, external systems like GitHub/Stripe, events to poll later). It does not explicitly mention alternatives or when not to use it, but the context is sufficient for an agent to understand its role alongside the sibling poll_webhook_events.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cron_trigger_oracleA
[Cost: $0.0005 USDC (delay) / $0.0100 USDC (recurring) on Base & Solana] Autonomous cron scheduler and webhook trigger engine.
Enables stateless AI agents to schedule future execution wakeups and recurring monitoring jobs.
Actions & Parameters:
- 'delay': One-shot delayed webhook. Params: {"webhook_url": "https://...", "delay_seconds": 5..604800, "payload": {...}}
- 'interval': Recurring cron webhook. Params: {"webhook_url": "https://...", "interval_seconds": 60..604800, "max_iterations": 1..100, "payload": {...}}
- 'status': Inspect trigger status and delivery log. Params: {"job_id": "cron_..."} [Free]
- 'cancel': Cancel active trigger. Params: {"job_id": "cron_...", "secret_key": "sk_cron_..."} [Free]
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | delay | |
| params | No | ||
| payment_signature | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden and does well: it discloses pricing per action, which actions are free, parameter ranges, and that the tool triggers webhooks. It does not explain payment_signature mechanics or retry/delivery behavior, but it is substantially more transparent than a minimal mutation description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized: cost and purpose first, followed by a compact action/parameter list. Every sentence adds necessary information, and the structure lets an agent quickly locate the relevant action without wading through prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is strong for a moderate-complexity tool and an output schema exists, so return values need no explanation. However, it omits how the required payment_signature should be obtained or supplied for paid actions, which is a meaningful operational gap for an agent trying to invoke delay or interval successfully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the schema is generic (action, free-form params, payment_signature), so the description becomes the only source of parameter meaning. It specifies the action values and the exact param keys and ranges for delay, interval, status, and cancel. The only notable gap is that the top-level payment_signature parameter is never explained in relation to the stated costs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific capability — 'Autonomous cron scheduler and webhook trigger engine' — and enumerates the four concrete actions (delay, interval, status, cancel) with their effects. This is far more specific than a generic verb and clearly distinguishes the tool from scheduling-adjacent siblings like create_webhook_listener.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states when to use it: stateless AI agents that need future wakeups or recurring monitoring jobs. It also separates free lifecycle actions (status/cancel) from paid scheduling actions. However, it does not explicitly compare against alternatives or state when not to use it, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dns_propagation_oracleA
[Cost: $0.0005 USDC on Base & Solana] Master domain dispatcher for Global DNS Propagation & Resolution Oracle.
Multi-vantage global DNS propagation consensus, DNSSEC validation, and record resolution across Anycast providers.
Actions:
- 'propagate': Check multi-vantage consensus across Anycast resolvers. Params: {"domain": "example.com", "record_type": "A"}
- 'resolve': Detailed lookup with DNSSEC & TXT metadata. Params: {"domain": "example.com", "record_type": "TXT"}
- 'reverse': Reverse PTR lookup for an IP address. Params: {"ip": "1.1.1.1"}
- 'status': Inspect anycast provider health and supported record types.
Args:
action: Target operation name ('propagate', 'resolve', 'reverse', 'status').
params: Optional dictionary of action parameters.
payment_signature: Optional x402 Base USDC transaction hash (defaults to developer mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | propagate | |
| params | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral transparency burden. It discloses the cost, the payment_signature mechanism, the default mock key behavior, and the multi-vantage/DNSSEC nature of the operations. It does not mention rate limits or explicit side effects, but for a read-style DNS oracle this is reasonable coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized: cost and purpose are front-loaded, followed by a compact action list and an Args breakdown. Every line earns its place, with no filler or redundant restating of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete enough to invoke the tool correctly: it defines all four actions, their parameter shapes, and the payment signature expectation. It lacks an output/return format description, but since no output schema exists, a bit more detail about return values would have made this fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does thoroughly. Each action includes concrete parameter examples such as {'domain': 'example.com', 'record_type': 'A'} and {'ip': '1.1.1.1'}, and the Args section explains the top-level action, params, and payment_signature fields. An agent can construct valid calls without further documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a DNS propagation and resolution oracle and enumerates four distinct actions ('propagate', 'resolve', 'reverse', 'status'), each with a specific purpose. This gives an agent a precise picture of what the tool covers and how it differs from generic DNS-related operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use each action, e.g., 'propagate' for multi-vantage consensus, 'resolve' for DNSSEC/TXT metadata, 'reverse' for PTR lookups. However, it does not explicitly mention when not to use this tool versus siblings like whois_lookup or check_address_risk, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_web_markdownA
[Cost: $0.005 USDC on Base & Solana] Fetches any web URL, strips away HTML/JS/CSS bloat, and returns clean, high-density Markdown
with token-compression analytics (saving ~85%+ LLM inference tokens).
Designed specifically for autonomous AI agents needing LLM-ready web content without token waste.
Args:
url: The HTTP or HTTPS URL of the webpage to scrape and convert.
include_images: Whether to include extracted image links in Markdown format (default: False).
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| include_images | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden; it discloses cost ($0.005 USDC), output transformation (strip bloat, Markdown), and token-compression analytics. It could mention failure modes or rate limits, but it covers the most decision-critical behaviors for invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with cost and core transformation, then necessary parameter descriptions. The 'Designed specifically...' sentence slightly reiterates the token-waste benefit, but overall each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description appropriately explains the return type (Markdown with token-compression analytics). It covers cost, purpose, and all parameters; minor gaps around error/edge-case behavior prevent a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are explained in the Args section despite 0% schema coverage. url gets format constraint (HTTP/HTTPS), include_images gets output semantics and default, and payment_signature gets its x402/mock-key meaning—far beyond the bare schema names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb+resource: 'Fetches any web URL... returns clean, high-density Markdown', clearly distinguishing from web search and content manipulation siblings. The 'LLM-ready web content' framing reinforces its specific function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States clear context—designed for autonomous AI agents needing LLM-ready web content from a URL without token waste. Does not explicitly enumerate when not to use it or compare to search_web/classify_url, but the 'any web URL' wording implies direct URL fetching rather than search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
filter_tabular_dataA
[Cost: $0.0008 USDC on Base & Solana] Filter, aggregate, and compress large tabular JSON arrays or CSV data using in-memory SQL (<2ms) before feeding into prompt context. Saves 90%+ of tokens by projecting only relevant columns and rows (e.g. 'SELECT symbol, price WHERE price > 100 ORDER BY price DESC LIMIT 10').
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| query | No | SELECT * FROM data LIMIT 25 | |
| max_rows | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses cost, performance (<2ms), and token savings, which is valuable. However, it does not mention error handling, that the input is not modified, or potential limitations with malformed data. The example query implies read-only behavior but this is not stated explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loading the cost and purpose, and includes a useful example without excessive verbosity. It is well-structured and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers purpose, cost, and an example, it omits critical operational details: the SQL table is implicitly named 'data', the interaction between 'max_rows' and the query's LIMIT clause is unclear, and there is no guidance on input format specifics (e.g., how CSV vs JSON is passed). An agent might struggle to construct a correct query without knowing the table name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides an example SQL query, which clarifies the query parameter syntax, and states the data can be tabular JSON arrays or CSV. However, it does not explain the 'data' parameter's expected structure beyond that, nor the exact role of 'max_rows' or the requirement that the SQL table is named 'data' (though the default query hints at this).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool filters, aggregates, and compresses tabular JSON/CSV data using in-memory SQL, with a concrete example query. It specifies the resource (tabular data) and the action, distinguishing it from generic compression or context-trimming tools by its focus on structured data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for large tabular data before prompt feeding and mentions token savings, which guides when to use it. However, it does not explicitly contrast with sibling tools like compress_document_tool or trim_llm_context, leaving some ambiguity about when one would choose this over those alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_base_gas_oracleA
[Cost: $0.0005 USDC on Base & Solana] Retrieves real-time Base network EIP-1559 gas price parameters and congestion metrics.
Provides recommended maxFeePerGas and maxPriorityFeePerGas for slow, standard, fast,
and instant transaction confirmation to prevent agent transaction reverts and gas overpayment.
Args:
force_refresh: Whether to bypass cache and query RPC directly (default: False).
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| force_refresh | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses cost ($0.0005 USDC) and that force_refresh bypasses cache to query RPC directly, which is useful behavioral context. However, it does not detail return format, error handling, or authentication requirements for the payment_signature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with cost and purpose, then lists parameters compactly. It avoids redundancy but could be more structured; still efficient for the information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only oracle with 2 optional params and no output schema, the description covers purpose and basic param semantics, but lacks details on return structure and potential failure modes, which an agent would need for robust decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description adds only brief explanations: force_refresh wording and payment_signature mention x402 Base USDC transaction hash or developer mock key. It does not explain when to set force_refresh to true vs false, or how to obtain/use the payment signature, leaving ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves real-time Base network EIP-1559 gas price parameters and congestion metrics, and provides recommended maxFeePerGas and maxPriorityFeePerGas for different confirmation speeds. It distinguishes itself from siblings like get_dex_spot_price and get_solana_dex_price by focusing on gas oracle data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for preventing transaction reverts and gas overpayment, and mentions the cost and network (Base & Solana). It does not explicitly state when not to use it or name alternatives, but the context is clear enough for an agent evaluating gas prices before transactions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dex_priceA
[Cost: $0.001 USDC on Base & Solana] Live multi-chain DEX spot price oracle and liquidity quoter.
Keywords: dex price, spot quoter, uniswap, aerodrome, raydium, orca, solana dex price, get_dex_spot_price.
Direct on-chain smart contract pool queries across Base L2 (Uniswap v3, Aerodrome) and Solana (Raydium, Orca).
Returns exact pool reserves, active liquidity, slot/block height, and price quotes.
Supported chains:
- 'base' (default): EVM pairs (WETH-USDC, cbBTC-USDC, AERO-USDC)
- 'solana': SPL pairs (SOL-USDC, BONK-USDC, JUP-USDC, RAY-USDC, WIF-USDC, SOL-USDT)
Args:
pair: Target trading pair symbol (e.g. 'WETH-USDC' for Base, 'SOL-USDC' for Solana).
chain: Target blockchain network ('base' or 'solana', default: 'base').
amount: Token input amount to quote (default: 1.0).
payment_signature: Optional x402 Base/Solana USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | WETH-USDC | |
| chain | No | base | |
| amount | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full load and does disclose two non-obvious traits: a per-call cost of $0.001 USDC and an x402 payment/payment_signature requirement for settling it. It also states what is returned (pool reserves, active liquidity, slot/block height, price quotes). It stops short of stating failure modes, supported-amount limits, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Cost and one-line purpose are front-loaded, followed by supported chains and args in scannable blocks. The 'Keywords:' line is SEO-style padding that adds little for an agent, but overall length is proportionate to a multi-chain tool with four undocumented parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description covers what the tool does, what it costs, what it returns, the supported chains/pairs, and every argument. The main omission is any statement of how this differs from the sibling dex-price tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely does: pair format is exemplified per chain, chain enumerates 'base'/'solana' with the default, amount is described as token input with default 1.0, and payment_signature is explained as an x402 USDC tx hash or mock key. The pair parameter's own default (WETH-USDC) is left to the schema, a minor gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Live multi-chain DEX spot price oracle and liquidity quoter', with named venues (Uniswap v3, Aerodrome, Raydium, Orca) and supported pairs. However, it never differentiates itself from the near-identical siblings 'get_dex_spot_price' and 'get_solana_dex_price' — it even lists 'get_dex_spot_price' as a keyword, which muddies rather than clarifies the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: on-chain pool queries across Base and Solana for spot prices and quotes. The cost line ($0.001 USDC) gives practical context for deciding to call it. But with two obvious sibling alternatives, there is no explicit when-to-use-this-vs-that guidance, so the agent must infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dex_spot_priceA
[Backward-Compatible Alias] Use 'get_dex_price' instead.
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | WETH-USDC | |
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the meaningful behavioral trait that this is a legacy alias, but it says nothing about whether the alias still forwards successfully, whether it behaves identically to get_dex_price, or whether payment_signature is required for calls to succeed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short bracketed clauses, deprecation status front-loaded, replacement named immediately. Nothing extraneous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecation stub whose main message is 'don't use this', the redirect is arguably sufficient. However, if an agent must invoke it for backward compatibility, it gets no parameter semantics, no output shape, and no confirmation the alias still works.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and neither of the two parameters (pair, payment_signature) is explained in the description or schema. The description does not compensate at all; only 'pair' is loosely inferable from the tool name and its WETH-USDC default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a backward-compatible alias and names the canonical sibling, 'get_dex_price', that supersedes it. Combined with the name, an agent can tell this is a legacy spot-price endpoint distinct from its replacement, though the description never states the actual function (fetching a DEX spot price) in its own words.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit routing guidance: 'Use get_dex_price instead.' That is exactly the when-not-to-use-this / use-alternative signal an agent needs, with no inference required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_egress_ipB
[Free / Zero Auth] Discover caller's public egress IP address and network metadata.
Keywords: what is my ip, ip lookup, public ip tool, caller identity, egress probe.
Returns caller's public IPv4/IPv6 address, TLS cipher, reverse DNS hostname, and latency.
Args:
input_data: Optional target payload or query string.
parameters: Optional dictionary of arguments.
payment_signature: Optional x402 Base USDC transaction hash (defaults to developer mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | ||
| parameters | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does reasonably well: it declares the auth model ('Zero Auth'), the payment semantics for x402 Base USDC including the default developer mock key, and the specific return surface (IPv4/IPv6, TLS cipher, reverse DNS, latency). It omits rate limits and failure modes, but the auth/payment disclosure goes meaningfully beyond what structured fields provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The leading purpose sentence is well front-loaded, but the 'Keywords:' line and the 'Args:' block repeating schema fields add bulk without value. The return-values sentence is worth its place; the rest is only partly earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description must cover the return contract, and it does list the fields returned. That said, for a 3-parameter tool with 0% schema coverage it leaves the parameter contract thin and never addresses overlap with the sibling 'what_is_my_ip_tool'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it largely fails: 'input_data' is described only as 'Optional target payload or query string' and 'parameters' as 'Optional dictionary of arguments', both of which are vague restatements. Only 'payment_signature' gets real meaning (x402 USDC tx hash with mock default), leaving two of three parameters semantically empty.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Discover caller's public egress IP address and network metadata', which is unambiguous about what it returns. However, it does not distinguish itself from the sibling tool 'what_is_my_ip_tool', which appears to serve the same purpose, leaving the agent unable to choose between them from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[Free / Zero Auth]' tag gives a cost/auth signal, but there is no explicit when-to-use guidance, no stated exclusions, and no mention of the near-identical sibling 'what_is_my_ip_tool'. The keyword list ('what is my ip, ip lookup') is search bait rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_node_telemetry_statsA
[Free / $0.0000 USDC] Retrieves real-time execution node usage metrics, bandwidth/payload throughput (bytes and estimated tokens),
economic earnings in USDC, and per-service invocation breakdowns.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well by disclosing that the operation is real-time, free ($0.0000 USDC), and read-oriented through 'Retrieves'. It also lists the exact metric families returned, which goes beyond what the empty schema reveals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. The cost marker is useful context, and every clause names a distinct data category the agent would need to know before calling.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only telemetry tool with an output schema present, the description is complete: it names the metric groups and cost profile, and the output schema covers the return structure. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so parameter documentation is not needed. The schema is empty and 100% covered, and the description adds no misleading parameter expectations. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Retrieves') and a concrete resource: execution node usage metrics, with detailed output categories (bandwidth/payload throughput, earnings in USDC, per-service invocations). This clearly distinguishes it from the sibling tools, none of which overlap with telemetry stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit 'use when' or alternative routing is given, but the enumerated data categories make the intended use self-evident. Since no sibling tool covers node telemetry, there are no competing tools that need to be excluded.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_precision_timeA
[Free Promotional Preview / Zero Auth] External Stratum-2 NTP oracle and atomic UTC time synchronization.
Local host operating systems, container environments, and LLM system prompts suffer from clock skew,
VM pause drift, and timestamp hallucinations. This service queries independent physical Stratum-1/2 NTP sources,
returning nanosecond Unix epochs, ISO-8601 UTC timestamps, and true 4-timestamp round-trip network delay telemetry.
Use this tool when establishing multi-agent consensus, verifying time-locked trade deadlines, audit logging,
or detecting local clock drift across multi-cloud agent swarms.
Args:
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses that the tool is a 'Free Promotional Preview / Zero Auth' external service, queries independent Stratum-1/2 NTP sources, and returns specific telemetry. This gives useful expectations about network dependence and output, even if it doesn't mention failure modes or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the key 'Free Promotional Preview / Zero Auth' context and then gives concrete use cases and output details. It is slightly verbose with the clock-skew motivation, but every sentence contributes useful context and the structure is logical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description includes what the tool returns, why it exists, when to use it, and the one optional parameter. Without an output schema, this is reasonably complete for an agent to invoke the tool and interpret results, though error cases and exact response formatting are not specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the parameter. It does: 'payment_signature: Optional x402 Base USDC transaction hash or developer mock key.' This adds meaning beyond the raw schema, though 'developer mock key' is somewhat vague and could be more explicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an external NTP oracle and atomic UTC time synchronization service, with specific outputs: nanosecond Unix epochs, ISO-8601 UTC timestamps, and round-trip delay telemetry. It uses a specific verb and resource, distinguishing it from unrelated sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists use cases: 'establishing multi-agent consensus, verifying time-locked trade deadlines, audit logging, or detecting local clock drift.' It provides clear context for when to use the tool, though it does not explicitly name alternatives or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rfp_statusA
[Free / $0.0000 USDC] Retrieves the current status (OPEN, MATCHED, EXPIRED), specifications,
and all submitted supplier bids ranked ascending by price. Free read endpoint for continuous polling.
Args:
rfp_id: ID of the target RFP to inspect.
| Name | Required | Description | Default |
|---|---|---|---|
| rfp_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry safety/behavioral information, and it does by marking the operation as read-only, free, and suitable for continuous polling, plus describing deterministic bid ordering. It does not cover auth requirements or output/error envelopes, but the key non-mutating behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loads the cost marker, and each line earns its place: cost, purpose, polling guidance, and parameter meaning. There is no filler or redundant detail beyond a minor repetition of 'free.'
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one required parameter, no annotations, and no output schema, the description still explains what is returned (statuses, specs, bids), the ordering, and when it is safe to call. Missing edge-case details such as empty bid lists are minor and unlikely to prevent correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only provides the property name and type, while the description adds that rfp_id identifies the target RFP to inspect. This is adequate for a single required parameter, though it does not give format, provenance, or an example value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Retrieves') with a concrete resource and enumerates the returned data: current status values (OPEN, MATCHED, EXPIRED), specifications, and supplier bids ranked by price. This goes well beyond the tool name and clearly separates it from status tools aimed at other entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Calling it a 'Free read endpoint for continuous polling' clearly signals the intended polling use case and that repeated invocations are expected. It does not explicitly compare against sibling tools or state exclusions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_solana_dex_priceA
[Cost: $0.0010 USDC on Base & Solana] Live on-chain Solana DEX spot price oracle and swap calculator.
Quotes real-time prices across Raydium & Orca with live slot height and token decimals.
Supported pairs: 'SOL-USDC', 'BONK-USDC', 'JUP-USDC', 'RAY-USDC', 'WIF-USDC', 'SOL-USDT'.
Args:
pair: Target trading pair (e.g. 'SOL-USDC', 'BONK-USDC').
amount: Token input amount to estimate output for (default: 1.0).
dex: Target DEX liquidity protocol (default: 'Raydium (Solana Mainnet)').
payment_signature: Optional x402 transaction hash (defaults to developer mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| dex | No | Raydium (Solana Mainnet) | |
| pair | No | SOL-USDC | |
| amount | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does a good job: it discloses a hard cost ($0.0010 USDC), live on-chain behavior, live slot height, token decimals, and that payment_signature defaults to a developer mock key. It doesn't discuss failure modes or side effects beyond payment, but the cost and x402 payment context are significant transparency wins.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: cost and purpose come first, followed by supported pairs and a compact Args list. Each line earns its place, though it does restate some schema defaults like pair='SOL-USDC' and amount=1, which adds slight redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description covers the tool's purpose, supported pairs, all parameters, and payment/cost considerations. It only hints at the output shape via 'live slot height and token decimals', but the information needed to make a correct call is largely present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 0%, the Args block must compensate, and it mostly does: pair is explained with examples, amount is described as the input token amount, dex gets its default and role, and payment_signature is explained as an optional x402 transaction hash. It could be stronger by enumerating valid dex values and clarifying amount units, but every parameter receives meaningful semantic guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a 'live on-chain Solana DEX spot price oracle and swap calculator' that 'quotes real-time prices across Raydium & Orca' and lists supported pairs. This gives a specific verb+resource and separates it from the more generic sibling get_dex_spot_price by emphasizing Solana-specific scope. It doesn't explicitly name the sibling, so it stops just short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: for Solana DEX spot prices and swap estimates with the listed pairs. It provides supported pairs and defaults, giving clear context, but it never explicitly says when not to use it or which alternative tool to choose instead, such as get_dex_spot_price for non-Solana or generic DEX pricing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_escrow_statusA
[Free / $0.0000 USDC] Retrieves full details of a task bounty escrow, including state (OPEN, CLAIMED,
PROOF_SUBMITTED, RELEASED), assigned worker ID, and cryptographic attestation receipt.
Args:
escrow_id: ID of the escrow to inspect.
| Name | Required | Description | Default |
|---|---|---|---|
| escrow_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of explaining behavior. It conveys that the operation is a read ('Retrieves') and includes the price note, but it does not explicitly state that the operation has no side effects or what happens for invalid or missing escrow IDs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the free cost and primary behavior. The Args section adds a little structure, but there is minimal fluff or redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read tool, the description covers the essential return contents and the input. It lacks error-condition details on missing escrows, but those are less critical given the low complexity and explicit state enumeration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the parameter. It merely restates that escrow_id is 'ID of the escrow to inspect,' adding little beyond the schema's existing 'Escrow Id' title and string type. No format, origin, or validation context is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Retrieves') and resource ('task bounty escrow'), and enumerates the returned fields (state, worker ID, attestation receipt). It is clearly distinguishable from mutating siblings such as create_task_bounty_escrow or release_task_bounty.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the read/status tool for escrows, but it never explicitly states when to use it versus alternative lifecycle tools. There is no mention of exclusions or when not to use it, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
heal_json_schemaA
[Cost: $0.0005 USDC on Base & Solana] Universal LLM output JSON syntax healer and schema coercer.
Keywords: repair malformed json, coerce tool arguments, json repair, schema coercer, heal json, parse broken json.
Recovers broken LLM outputs: repairs malformed syntax (unquoted keys, missing brackets/quotes, trailing commas)
and casts loose parameters into strict JSON Schema contracts (fuzzy enums, type conversions, missing defaults).
Args:
content: Raw broken JSON string or dictionary produced by an LLM.
target_schema: Optional JSON Schema dictionary or string to validate and coerce against.
mode: 'auto' (syntax repair first, then schema coercion if target_schema provided),
'syntax_only' (pure syntax repair without type coercion),
'coerce_only' (pure schema type casting).
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | auto | |
| content | Yes | ||
| target_schema | No | ||
| payment_signature | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose important behavioral facts: the tool costs $0.0005 USDC on Base & Solana and payment_signature accepts an x402 transaction hash or developer mock key. Mode behaviors (syntax-first vs coercion ordering) are also explained. It stops short of describing failure/error behavior when output is unrecoverable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The cost line and Args section are front-loaded and useful, but the 'Keywords:' list ('repair malformed json, coerce tool arguments...') is redundant filler that restates the purpose for search rather than informing an agent. The Args block is well-structured, but the keyword sentence does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, and the description covers cost, payment, all four parameters, and the three modes. Given the 0% schema coverage, this is close to complete; only error-handling behavior for unhealable input is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does: content ('raw broken JSON string or dictionary'), target_schema ('optional JSON Schema dictionary or string to validate and coerce against'), payment_signature (x402 hash or mock key). The three mode string values are enumerated with semantics even though the schema declares no enum, adding real value beyond the structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Universal LLM output JSON syntax healer and schema coercer', then concretizes it with 'repairs malformed syntax (unquoted keys, missing brackets/quotes, trailing commas) and casts loose parameters into strict JSON Schema contracts'. It does not, however, differentiate itself from overlapping siblings like repair_malformed_json or coerce_tool_arguments, leaving the agent to infer that this tool is a superset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The mode descriptions provide implicit usage guidance ('auto': syntax repair first, then schema coercion if target_schema provided; 'syntax_only'; 'coerce_only'), which tells the agent how to select a mode but not when to choose this tool over the sibling repair_malformed_json or coerce_tool_arguments. No exclusions or routing are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_addressA
[Cost: $0.001 USDC on Base & Solana] Universal multi-chain address, balance, bytecode, and risk intelligence oracle. Keywords: inspect address, check address risk, wallet risk, sanctions screener, ofac check, address inspector. Inspects cryptocurrency wallets or smart contracts on-chain across Base, Ethereum, Polygon, Solana, Stellar, and XRPL. Auto-detects format, verifies native/USDC balances, bytecode existence, and includes sanctions/drainer risk scores.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | auto | |
| address | Yes | ||
| include_risk_scoring | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does substantial work: it discloses a concrete cost ($0.001 USDC on Base & Solana), the seven supported chains, and that format detection is automatic. It stops short of describing payment mechanics, rate limits, or failure behavior for unsupported formats, so it is strong but not complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Cost and scope are front-loaded, which is good, but the middle 'Keywords:' sentence is pure search-term stuffing that adds no invocation value, and the opener ('Universal multi-chain ... oracle') partly restates the closing sentence. Removing the keyword block would lose nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value enumeration is not required, and the description still signals the payload shape (balances, bytecode, risk scores) plus cost. For a cheap read-only inspection tool the coverage is close to complete; only multi-chain caveats and the optional risk-scoring toggle remain unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely does: 'auto-detects format' explains the chain default of 'auto', 'wallets or smart contracts' clarifies acceptable address values, and 'includes sanctions/drainer risk scores' maps to include_risk_scoring. It never confirms that include_risk_scoring can be disabled to skip that work, leaving one gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Inspects cryptocurrency wallets or smart contracts on-chain') and enumerates exactly what it returns: format auto-detection, native/USDC balances, bytecode existence, and sanctions/drainer risk scores. This is enough for an agent to distinguish it from near-neighbors like check_address_risk or inspect_blockchain_address without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists keywords such as 'check address risk' and 'sanctions screener' but never says when to choose this tool over the sibling check_address_risk or inspect_blockchain_address, nor states any preconditions. Usage is only implied by the enumerated capabilities, and the crowded sibling list makes explicit routing guidance genuinely necessary here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_blockchain_addressB
[Backward-Compatible Alias] Use 'inspect_address' instead.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | auto | |
| address | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose meaningful lifecycle context (deprecated alias, presumably identical behavior to inspect_address), but says nothing about how chain/address are handled, whether it is a pure passthrough, or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short bracketed clauses, front-loaded with the deprecation status followed immediately by the redirect. No wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the alias routing is covered. However, the undocumented parameters and absent behavioral detail (passthrough semantics) leave real gaps for a tool whose schema explains nothing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Two parameters with 0% schema description coverage, and the description adds no meaning for either: no explanation of the 'address' format or the 'chain' parameter's 'auto' default. With low coverage the description was expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a backward-compatible alias but never states what it actually does (inspect a blockchain address) or what 'inspect' means. It does distinguish it from the sibling inspect_address by naming the replacement, which keeps it above a pure tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit routing guidance: use 'inspect_address' instead. The implied condition is that this exists only for callers hardcoded to the old name, but that 'when it is still legitimate to call' case is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_active_rfpsA
[Free / $0.0000 USDC] Discover active Requests for Proposal (RFPs) in the multi-agent reverse auction market.
Keywords: list rfps, find auctions, reverse auction, bid discovery, open RFPs.
Allows supplier agents to browse open RFPs and submit competitive bids without requiring an out-of-band RFP ID.
Args:
status: Filter by RFP status ('OPEN', 'MATCHED', 'EXPIRED', 'CANCELLED'). Default: 'OPEN'.
limit: Maximum results to return (default: 20).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| status | No | OPEN |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden alone. It usefully discloses that the call is free and that no out-of-band RFP ID is required, but omits permissions, rate limits, pagination behavior, and return characteristics for a list endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then structured into Args for each parameter. It is slightly padded by a keyword list and a leading price banner, but remains readable and not excessively long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter list tool with no annotations or output schema, the description covers purpose, usage context, defaults, and enum values. Minor gaps remain around return format and pagination, but the core invocation information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It documents the status enum values ('OPEN', 'MATCHED', 'EXPIRED', 'CANCELLED'), their default of 'OPEN', and that limit is the maximum number of results with a default of 20; only limit bounds or pagination semantics are missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Discover/List') and resource ('active Requests for Proposal'), and distinguishes the tool from siblings like get_rfp_status by noting it does not require an out-of-band RFP ID. The mention of the multi-agent reverse auction market gives enough scope to identify it uniquely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames the tool for supplier agents browsing open RFPs and submitting competitive bids without first knowing an RFP ID. It gives clear usage context but does not state when-not-to-use or name alternative discovery tools such as list_task_bounties.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_task_bountiesA
[Free / $0.0000 USDC] Discover active task bounties in the multi-agent gig economy.
Keywords: list bounties, open tasks, task discovery, gig economy, claimable jobs.
Allows autonomous worker agents to browse open tasks, bounties, and requirements without prior out-of-band IDs.
Args:
status: Filter by escrow status ('OPEN', 'CLAIMED', 'VERIFIED', 'RELEASED'). Default: 'OPEN'.
limit: Maximum number of bounties to return (default: 20).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| status | No | OPEN |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full behavioral burden. It usefully discloses that the call is free ($0.0000 USDC) and gives the default status/limit, but says nothing about permissions, rate limits, pagination, or the shape of returned results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and cost are front-loaded, but the 'Keywords:' line restates the description nearly verbatim and adds no decision-relevant information. The Args block is helpful; the keyword stuffing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter, no-required-input list tool with no output schema, the description covers filtering and defaults adequately. It leaves the return format and result size/ordering undocumented, which an agent listing bounties would want.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: it enumerates the four valid status values ('OPEN','CLAIMED','VERIFIED','RELEASED') and the default, plus the default limit. It omits the limit's range/behavior, so it is strong but not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Discover active task bounties') and adds scope ('without prior out-of-band IDs'), which implicitly separates it from get_task_escrow_status and claim_task_bounty. It does not explicitly name a sibling, so differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: autonomous worker agents browsing open tasks/bounties without needing known IDs. This is exactly the discovery entry point ahead of claim_task_bounty. No explicit when-not conditions or named alternatives are provided, keeping it below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lsh_dedupA
[Cost: $0.0005 USDC on Base & Solana] Sub-millisecond LSH deduplication oracle.
Compute 64-bit SimHash fingerprints, estimate Jaccard similarity via MinHash,
compare texts by Hamming distance, and maintain per-namespace dedup fences to
eliminate redundant agent tool calls and duplicate web scraping payloads.
Actions:
simhash — Compute 64-bit SimHash fingerprint(s).
Params: {"text": "..."} or {"texts": ["...", "..."]}
compare — Hamming distance between two fingerprints or texts.
Params: {"text_a": "...", "text_b": "..."} or
{"fingerprint_a": 12345, "fingerprint_b": 67890}
minhash — Jaccard similarity via MinHash signature comparison.
Params: {"text_a": "...", "text_b": "...", "threshold": 0.8}
dedup — Check text against seen-set fence; add if new.
Params: {"text": "...", "namespace": "my_swarm", "threshold": 3}
stats — Namespace statistics.
Params: {} or {"namespace": "my_swarm"}
clear — Reset namespace or all namespaces.
Params: {} or {"namespace": "my_swarm"}
Args:
action: Sub-action to execute (simhash/compare/minhash/dedup/stats/clear).
params: Action-specific parameter dictionary.
payment_signature: x402 Base USDC transaction hash (defaults to dev mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | simhash | |
| params | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses cost, sub-millisecond performance, stateful seen-set fences, the clear action's reset semantics, and the payment_signature default. It could add return-value details, but it provides substantial behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured: a cost/performance summary, a purpose statement, and a bulleted action reference. Every section adds necessary operational detail, and the action list is easy to scan. No filler or redundant restatement of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-action tool with no output schema and no annotations, the description covers actions, parameters, cost, and payment. It does not specify exact return formats for each action, but the outputs are largely inferable (e.g., Hamming distance, Jaccard similarity). Minor gaps around error handling and persistence prevent a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates. It documents each action's expected params with concrete JSON examples, including text, texts, fingerprints, threshold, and namespace. It also explains payment_signature as an x402 Base USDC transaction hash with a dev mock default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's core function: LSH deduplication via SimHash, MinHash, Hamming distance, and per-namespace dedup fences. It enumerates six distinct actions, making the tool's scope and capabilities unambiguous. This distinguishes it from siblings like throttle_check or idempotency_vault by focusing on similarity-based deduplication.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly names use cases: eliminating redundant agent tool calls and duplicate web scraping payloads. It does not mention alternatives or exclusions, but the intended context is clear enough for an agent to decide when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_dead_letterA
[Cost: $0.0010 USDC on Base & Solana] Ephemeral Dead-Letter Queue and Error Vault for Multi-Agent Swarms.
Keywords: dead letter queue, dlq, failure buffer, retry queue, poison pill queue.
Parks failed task execution payloads, allows recovery supervisor agents to lease/inspect failed runs,
and manages retry lifecycles (ack/nack).
Actions:
- 'push' : Park a failed tool execution (requires tool_name, error_message, payload).
- 'pop' : Lease the oldest failed task for recovery/replay.
- 'peek' : Inspect failed tasks in the queue without dequeuing.
- 'ack' : Acknowledge successful recovery of a task (removes from DLQ).
- 'nack' : Report retry failure (increments retry count; marks dead if limit reached).
- 'stats': Get queue health, depth, and failure reason aggregates.
- 'clear': Purge expired or resolved items from the queue.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| action | No | push | |
| payload | No | ||
| task_id | No | ||
| tool_name | No | unknown | |
| error_type | No | UnknownError | |
| queue_name | No | default | |
| max_retries | No | ||
| ttl_seconds | No | ||
| error_detail | No | ||
| error_message | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and mostly does: it discloses side effects that matter for a mutation tool (ack removes the item, nack increments retry count and marks dead at the limit, clear purges expired/resolved items) plus ephemerality and cost. It omits auth/permission requirements, concurrency/lease behavior, and rate limits, so it is not complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and action list are front-loaded and the action bullets are efficiently structured, but the 'Keywords:' line is SEO padding that earns no place in an agent-facing definition, and the cost banner consumes the first line. Net structure is serviceable but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The action list gives good operational coverage and an output schema exists so return values need not be explained. However, for an 11-parameter, zero-annotation mutation tool, the description leaves most parameters and all permission/lease semantics unexplained, which is a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 11 parameters, so the description must compensate and largely does not. It references only tool_name, error_message and payload (for 'push'), leaving task_id, queue_name, max_retries, ttl_seconds, error_type, error_detail, limit and action undocumented anywhere; the required-parameter statement also conflicts with a schema that marks nothing required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: managing a Dead-Letter Queue / error vault for multi-agent swarms. It is unambiguously distinguishable from every sibling (none of which handle DLQ semantics), and the one-line summary 'Parks failed task execution payloads... manages retry lifecycles' pins down the domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the intended caller ('recovery supervisor agents') and the action list effectively tells the agent which operation to pick for which scenario (push to park, pop to replay, peek to inspect, stats for health). There is no explicit when-not or alternative-tool guidance, but with no overlapping siblings that gap is minor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_idempotency_keyA
[Cost: $0.0002 USDC on Base & Solana] Atomic idempotency vault & execution deduplication fence.
Keywords: idempotency vault, deduplication fence, replay protection, lock key, dedup.
Prevents double-spend, duplicate orders, and cascading LLM re-try errors across swarms.
Actions:
- 'claim': Atomically lock key or retrieve cached output. Params: key, scope, payload, lock_timeout_seconds, ttl_seconds.
- 'resolve': Store execution result and mark COMPLETED. Params: key, scope, output, ttl_seconds.
- 'release': Unlock key immediately on worker error. Params: key, scope, reason.
- 'status': Free inspection of key state and cached result. Params: key, scope.
Args:
action: Vault operation ('claim', 'resolve', 'release', 'status').
key: Optional explicit idempotency key. If omitted in claim, derived from payload SHA-256.
scope: Optional namespace scope to isolate swarms.
payload: Input payload or tool arguments to auto-fingerprint.
output: Result payload to cache upon task completion.
lock_timeout_seconds: Lock duration before timeout (default: 60s).
ttl_seconds: Cache retention duration for completed results (default: 86400s).
reason: Explanation if releasing lock on failure.
payment_signature: Optional x402 transaction hash (defaults to developer mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | ||
| scope | No | ||
| action | No | claim | |
| output | No | ||
| reason | No | ||
| payload | No | ||
| ttl_seconds | No | ||
| payment_signature | No | ||
| lock_timeout_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does a good job: it discloses the cost ($0.0002 USDC on Base & Solana), that claim is atomic, that the key is auto-derived from a payload SHA-256 when omitted, and it gives concrete defaults (lock 60s, TTL 86400s). It still omits what happens on a lock conflict or a resolve against an unclaimed key, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The cost and purpose are front-loaded, and the Actions/Args sections are scannable. It loses a point for the 'Keywords' line, which is SEO-style padding rather than information the agent needs to select or invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-param, no-annotation, no-output-schema mutation/payment tool, the description is thorough: actions, per-action params, defaults, key derivation, and pricing are all covered. The main missing piece is return/conflict semantics (what claim returns when a key is already locked), which an agent would want before relying on it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely does: all nine parameters are given meaning (key derivation, scope isolation, payload fingerprinting, output caching, lock/ttl defaults, reason, payment_signature) and are grouped per action. Minor gap: it does not state the type/shape expectations for 'output' or 'payload' beyond name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource combination ('Atomic idempotency vault & execution deduplication fence') and enumerates four concrete actions (claim/resolve/release/status), so the agent knows exactly what the tool does. However, it never distinguishes itself from similarly-shaped siblings such as scratchpad_lock/scratchpad_unlock or lsh_dedup, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the action list (release 'on worker error', status for 'free inspection'), which hints at the lifecycle, but there is no explicit 'use this when... instead of X' guidance and no exclusions relative to the lock/dedup siblings. Minimum-viable context, not routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_temporal_expression_toolA
[Cost: $0.0002 USDC on Base & Solana] Deterministically converts conversational and relative time phrases ('next Tuesday at 4:30 PM', 'in 3 business days', 'yesterday at close') into strict ISO-8601 UTC and local timezone timestamps in sub-millisecond execution.
Eliminates LLM timestamp hallucinations and schema validation crashes without prompt round-trips.
Args:
query: Natural language date/time expression (e.g. 'next Friday at 5pm', 'in 4 hours', 'Sep 25, 2026 14:00').
reference_time: Optional ISO timestamp to anchor relative calculations against (defaults to current verified UTC time).
timezone: Target timezone name or abbreviation (e.g. 'America/New_York', 'UTC', 'EST', 'Europe/London', 'Asia/Tokyo').
payment_signature: Optional x402 Base/Solana USDC payment transaction hash or authorized key.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| timezone | No | UTC | |
| reference_time | No | ||
| payment_signature | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It discloses cost, deterministic conversion, sub-millisecond execution, and optional payment signatures, which is strong for a parsing tool. It does not explicitly address failure modes or network/auth behavior, but the cost and payment details provide meaningful transparency beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the core action and cost, then provides a compact Args list. Every sentence contributes: purpose, benefit, parameter guidance, and cost. No redundant filler or schema repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema existsryan, the description does not need to explain return values. It covers all four parameters, the anchoring behavior, timezone handling, cost, and payment requirement. For a 4-parameter tool with no annotations and zero schema coverage, this is complete enough for an agent to select and invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully compensate. It does: each of the four parameters is explained with type, purpose, and examples, including the query expressions, optional reference_time anchoring, timezone formats, and payment_signature semantics. This is exactly what an agent needs to call the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-resource pair: "Deterministically converts conversational and relative time phrases ... into strict ISO-8601 UTC and local timezone timestamps." Concrete examples and the contrast with hallucination-prone LLM timestamp generation make the tool's scope immediately distinguishable from siblings like get_precision_time or cron_trigger_oracle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for use: whenever a natural-language time expression needs to be converted into a reliable timestamp, with benefits like eliminating hallucinations and schema validation crashes. It does not explicitly name alternatives or state when not to use the tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
poll_webhook_eventsB
[Free / $0.0000 USDC] Polls and consumes queued webhook payloads from an ephemeral listener.
Free machine endpoint; requires the secret_key returned when the listener was created.
| Name | Required | Description | Default |
|---|---|---|---|
| hook_id | Yes | ||
| secret_key | Yes | ||
| clear_on_read | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does disclose the destructive nature ('consumes' implies payloads are removed from the queue), the auth requirement (secret_key), and the free pricing. However, it does not disclose what happens on an empty queue, whether polling is one-shot or long-polling, or the effect of the clear_on_read flag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler. The pricing and core action are front-loaded, and the auth prerequisite is stated in the second sentence. The '[Free / $0.0000 USDC]' prefix is minor noise but costs little. Efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. But with no annotations, the description should cover more of the behavioral surface: it omits clear_on_read semantics, empty-queue behavior, and any relation to the sibling create_webhook_listener workflow. Adequate for a simple poll tool, but with noticeable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds genuine provenance for secret_key ('returned when the listener was created'), which is useful. But it adds nothing for hook_id or clear_on_read, leaving those to be inferred from their names. Partial compensation at best.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Polls and consumes') and a specific resource ('queued webhook payloads from an ephemeral listener'). This naturally distinguishes it from the sibling create_webhook_listener, which creates the listener rather than polling it, and from dead_letter_queue, which handles failed events. However, it does not explicitly name or contrast any sibling, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied rather than stated: the mention of an 'ephemeral listener' and the requirement of 'the secret_key returned when the listener was created' signals that this tool is used after create_webhook_listener, on the same listener. But there is no explicit 'use this when...' guidance, no exclusions, and no named alternative to route around.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
probe_upstream_endpointA
[Backward-Compatible Alias] Use 'check_service_health' instead.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden, and its key disclosure is the backward-compatibility/deprecation status — genuinely useful because it warns the agent off stale call paths. It still says nothing about how the alias behaves (whether it forwards to check_service_health, timeout semantics, auth, or failure modes).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the [Backward-Compatible Alias] marker and the redirect. Nothing wasted, nothing buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and for a deprecated stub the redirect is the only information an agent truly needs. What is missing is any note on whether calling it still works or is safe to invoke, which would help an agent that encounters it directly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters (url, timeout_seconds), and the description adds nothing about either. Parameter names and the 2.5s default are largely self-explanatory, which keeps this above a 1, but the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never says what the tool actually does (probe an upstream URL); it only declares the tool a legacy alias. The name conveys the underlying function, and the deprecation framing is honest, but an agent gets no statement of purpose beyond 'this is an old name.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit and unambiguous: 'Use check_service_health instead.' It names the exact replacement sibling from the tool list and leaves no inference required about when to use this versus the successor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
random_decision_oracleA
[Cost: $0.0001 USDC on Base & Solana] Master cryptographically secure CSPRNG decision oracle & entropy engine.
Eliminates LLM token prediction bias (e.g., >65% bias on 'heads') in games, arbitrations, simulations, and stochastic branching.
Actions & Parameters:
- 'coin': Flips fair or weighted coins. Params: {"flips": 1..1000, "p_heads": 0.0..1.0}
- '8ball': Consults canonical 20-outcome Magic 8-Ball. Params: {"question": "..."}
- 'fortune': Cracks fortune cookie with aphorism & lucky numbers. Params: {"theme": "all"|"crypto"|"algorithmic"}
- 'number': Generates random numbers. Params: {"min": 1, "max": 100, "count": 1, "unique": true}
- 'chance': Evaluates probability threshold check. Params: {"threshold": 0.0..100.0}
- 'rps': Plays Rock-Paper-Scissors / Lizard-Spock. Params: {"player_move": "rock", "variant": "classic"|"rpsls"}
- 'dice': Rolls polyhedral RPG dice notation. Params: {"notation": "2d6+3"|"1d20"|"4d6d1"}
- 'card': Draws playing cards from standard 52-card deck. Params: {"count": 1..52}
- 'pick': Weighted or uniform item selection. Params: {"items": ["a","b"], "count": 1, "weights": [1,2]}
- 'token': Generates cryptographically secure nonces or UUIDs. Params: {"token_type": "uuid4"|"hex", "byte_length": 16}
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | coin | |
| params | No | ||
| payment_signature | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the $0.0001 USDC cost, cryptographic security, and the full action set. However, it does not explain the payment_signature parameter, whether payment is required before invocation, or failure behavior, which are important for a paid tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured: cost and purpose first, then a compact action/parameter list. No filler, though the list is extensive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the action/parameter space well and an output schema exists, so return values are covered. The missing payment_signature semantics and lack of error/edge-case guidance leave an agent uncertain about how to invoke a paid tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description compensates strongly by documenting each action's parameters with types/ranges/examples. It does not document the top-level payment_signature parameter, which is a notable gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a cryptographically secure random decision/entropy oracle and enumerates its concrete actions (coin, 8ball, fortune, number, chance, rps, dice, card, pick, token). It distinguishes it from sibling tools by its randomness/entropy function, though it is a multi-action tool rather than a single verb+resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear use context: eliminating LLM token prediction bias in games, arbitrations, simulations, and stochastic branching. It does not explicitly state when not to use it or name alternatives, but the context is specific enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
release_task_bountyA
[Free / $0.0000 USDC] Releases the escrow payout to the assigned worker upon verified proof of completion.
Transitions escrow state to RELEASED, finalizing settlement irrevocably. Free execution for the task creator.
Args:
escrow_id: Target escrow ID.
creator_id: EVM wallet address of the task creator.
| Name | Required | Description | Default |
|---|---|---|---|
| escrow_id | Yes | ||
| creator_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior directly, and it does: it states the escrow state transitions to RELEASED and that settlement is finalized irrevocably. This is critical safety information for an irreversible financial action, though it omits authentication requirements and failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core action and irreversibility before the argument list. The cost information is slightly redundant with '[Free / $0.0000 USDC]' repeated as 'Free execution', but overall it contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an irreversible payout tool with no output schema and no annotations, the description covers the essential side effect but omits return/status behavior, error conditions, and whether ownership verification occurs. It is adequate for invoking the tool, but not fully complete for high-stakes settlement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is the only source of parameter meaning. It adds that creator_id is an EVM wallet address and escrow_id is the target escrow ID, which is useful but minimal; validation rules and the relationship between creator_id and the escrow are not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action—releases the escrow payout to the assigned worker—and names the exact state transition (RELEASED). This clearly distinguishes it from worker-side siblings like submit_task_proof and claim_task_bounty.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'upon verified proof of completion' implies the intended workflow position, but the description never explicitly says when to use this tool versus claim_task_bounty or submit_task_proof. No alternatives or exclusions are named, so usage guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repair_malformed_jsonC
[Backward-Compatible Alias] Use 'heal_json_schema' instead.
| Name | Required | Description | Default |
|---|---|---|---|
| raw_text | Yes | ||
| target_schema | No | ||
| payment_signature | No | ||
| target_schema_json | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden and it says essentially nothing about behavior. It does not explain whether calls still succeed, whether they forward to heal_json_schema, what payment_signature implies (apparent x402 payment/auth), or side effects. Beyond labeling itself deprecated, no behavioral context is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the deprecation label front-loaded and the redirect immediately after. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a deprecated alias the description omits whether invocation still works and whether behavior mirrors heal_json_schema, which is the main thing an agent needs to decide between the two.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, and the description adds no parameter information whatsoever. The presence of 'payment_signature' hints at a payment/auth requirement that is never mentioned, leaving the caller to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does not state what the tool does functionally (repair malformed JSON); it only identifies itself as a '[Backward-Compatible Alias]'. The name and the pointer to heal_json_schema let an agent infer the purpose, and it does distinguish itself from that sibling, but the actual operation is never described.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit routing instruction: 'Use heal_json_schema instead.' That tells the agent which alternative to pick. It stops short of stating when, if ever, this alias itself should be invoked (e.g., legacy clients), so it is not fully complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_canary_tokensA
[Cost: $0.0020 USDC on Base & Solana] Sub-2ms honeypot & canary trap scanner for HTML payloads.
Keywords: canary detector, leak probe, token canary, honeypot scanner, prompt injection.
Detects: invisible DOM honeypots, DNS canary tokens (canarytokens.org / interactsh),
zero-width Unicode steganography, CSS url() tracking beacons, pixel-sized iframes/images,
obfuscated trap links, meta-refresh redirects, form honeypot fields, noscript beacons.
Returns structured threat report with risk_score (0–100), threat_level
(clean/low/medium/high/critical), and per-finding positions.
Args:
html: Raw HTML content to scan.
url: Optional source URL for context enrichment.
checks: List of check names to enable (default: all).
Values: dns_canary, zero_width, hidden_elements, css_beacons,
pixel_trackers, trap_links, meta_refresh, form_honeypots,
noscript_beacons, aria_hidden
max_findings_per_type: Max findings per category, 1-50 (default: 10).
payment_signature: x402 Base USDC transaction hash (defaults to dev mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| html | Yes | ||
| checks | No | ||
| payment_signature | No | ||
| max_findings_per_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the cost ($0.0020 USDC on Base & Solana), sub-2ms latency, x402 payment signature requirement, and the structure of the return value, which are all valuable. It does not cover failure modes, rate limits, or error behavior, so it is strong but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with cost and speed, then structured into keywords, detections, return shape, and arguments. It is generally efficient, though the keyword line and the long detection list are somewhat redundant for an agent that does not need search-oriented metadata.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description must explain both behavior and return values; it does so by naming risk_score, threat_level, and per-finding positions. Combined with the detection categories, cost, payment, and parameter docs, an agent has enough context to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry all parameter meaning. It does so thoroughly: it defines html as raw HTML, url as optional source context, checks with allowed values and default-all behavior, max_findings_per_type with a 1-50 range and default of 10, and payment_signature as an x402 Base USDC transaction hash with a dev mock default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: a honeypot and canary trap scanner for HTML payloads. It also enumerates the specific threat classes it detects, which makes the tool's scope clear. However, it does not explicitly differentiate itself from the sibling tool scan_payload_safety or other security-related siblings, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit when-to-use, when-not-to-use, or alternative-tool guidance. It implies the tool is for scanning HTML payloads for canary and honeypot traps, but an agent receives no routing instructions relative to siblings such as scan_payload_safety or extract_web_markdown.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_payload_safetyA
[Cost: $0.002 USDC on Base & Solana] Sub-5ms deterministic security shield scanning raw text, prompts, or tool arguments
for indirect prompt injections, SSRF IP addresses, zero-width unicode steganography, and shell injection attacks.
Scan inputs before feeding them to LLM context to prevent prompt override or credential exfiltration.
Args:
payload: Raw text, user prompt, or JSON tool payload to scan.
strict_mode: Apply stricter risk thresholds (default: False).
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | ||
| strict_mode | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses cost, sub-5ms latency, determinism, and the fact that it scans rather than modifies inputs. However, it does not explain what the response looks like, how failures are reported, or the exact role/payment semantics of the payment signature, leaving meaningful behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tight and front-loaded: cost, latency, behavior, threat scope, and use case appear first, followed by a compact Args block. Every sentence earns its place; there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paid, 3-parameter tool with no output schema and no annotations, the description should explain return values and payment behavior more explicitly. The cost and payment_signature are mentioned, but it is unclear what the agent receives back or what happens if payment is not supplied. This is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the tool description documents all three parameters with meaningful semantics: payload is the raw text/prompt/JSON to scan, strict_mode adjusts thresholds, and payment_signature is an x402 transaction hash or developer mock key. This adds real value beyond the bare schema types and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a precise verb+resource: a security shield that scans raw text, prompts, or tool arguments for a specific set of threats (prompt injection, SSRF IPs, zero-width unicode, shell injection). It clearly distinguishes itself from weakly related siblings like check_address_risk or classify_url by stating its exact coverage and use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly tells the agent when to use it: 'Scan inputs before feeding them to LLM context to prevent prompt override or credential exfiltration.' It provides clear context but does not name specific sibling alternatives or exclusion conditions, so it falls just short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scratchpad_getA
[Free / $0.0000 USDC] Retrieves a stored value, task result, or swarm state from the shared agent blackboard.
Hierarchical key paths are supported (e.g. 'swarm/task-1/status').
If the key does not exist or has expired, returns {"status": "not_found", "message": ...}.
Reads are 100% free and unauthenticated, enabling subagents to continuously poll state without burning tokens or fees.
Args:
key: State key or hierarchical path (e.g. 'swarm/task-1/status') to read.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses the not_found/expired response format and the free/unauthenticated access. It does not specify the success return structure, but for a simple read this is acceptable. It adds useful behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but every sentence earns its place: cost, purpose, error behavior, and parameter explanation. It is front-loaded with the free note and purpose. No redundancy. Could be tightened slightly, but it's well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool, the description covers the purpose, key format, error case, and cost. It does not mention locking or concurrency, but those are more relevant to writes (covered by scratchpad_lock/unlock). The absence of an output schema is mitigated by the explicit not_found response, though the success format is vague. Overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It defines 'key' as a 'State key or hierarchical path' and provides an example ('swarm/task-1/status'), which is far richer than the schema's bare 'Key'. This gives the agent the necessary semantics to construct valid inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Retrieves a stored value, task result, or swarm state from the shared agent blackboard.' It uses a specific verb (retrieves) and resource (blackboard), and the sibling tools (scratchpad_set, scratchpad_lock, scratchpad_unlock) are immediately distinguishable by name. The hierarchical path example adds precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage context: 'Reads are 100% free and unauthenticated, enabling subagents to continuously poll state without burning tokens or fees.' This tells the agent when this tool is ideal (polling) and why (cost). However, it does not explicitly contrast with alternatives like scratchpad_set for writes, leaving some routing to inference. Still, the context is strong enough for a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scratchpad_lockA
[Cost: $0.0005 USDC on Base & Solana] Acquires an advisory distributed mutex lock to prevent multi-agent race conditions.
Returns {'acquired': true, ...} on success, or {'acquired': false, 'error': ...} if held by another agent.
Locks automatically expire after ttl_seconds (default 60s, max 600s) to prevent permanent deadlocks if the holder terminates.
Args:
lock_name: Unique resource identifier to lock (e.g., 'arbitrage/pool-weth-usdc').
owner_id: Identifier of the agent claiming the lock (e.g., 'agent-worker-1').
ttl_seconds: Maximum duration in seconds to hold lock before auto-release (default: 60, max: 600).
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| owner_id | Yes | ||
| lock_name | Yes | ||
| ttl_seconds | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the cost, return shapes for both success and failure, auto-expiration behavior with configurable TTL, and the optional payment signature. This goes beyond basic purpose and provides actionable behavioral expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: cost, purpose, return behavior, expiry, then parameter explanations. Every sentence adds necessary information, and the parameter list is formatted clearly. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description covers all key aspects: what the tool does, when to use it, what parameters mean, what the return values look like, and failure modes. For a locking tool, this is complete enough for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain each parameter. It provides meaningful semantics for all four: lock_name as unique resource identifier with example, owner_id as agent identifier with example, ttl_seconds with defaults and max, and payment_signature explaining it is optional and what format it takes. This fully compensates for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool acquires an advisory distributed mutex lock to prevent multi-agent race conditions. It uses a specific verb (acquires), specific resource (distributed mutex lock), and the examples and return shape make it distinct from sibling tools like scratchpad_set/get/unlock.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context for when to use the tool: to prevent multi-agent race conditions. It implies mutual exclusion is needed, but does not explicitly mention when not to use it or alternatives like scratchpad_unlock for releasing. The context is strong, but exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scratchpad_setA
[Cost: $0.0005 USDC on Base & Solana] Writes an ephemeral state key or JSON payload to the shared agent blackboard with automatic TTL expiration.
Supports hierarchical namespace paths (e.g. 'swarm/task-1/data') and optional write-keys to prevent unauthorized overwrites.
Ideal for multi-agent workflows passing intermediate state without spinning up dedicated databases.
Args:
key: State key or namespace path (e.g., 'research/summary_01').
value: Any data payload (string, number, list, or JSON dict).
ttl_seconds: Time to live in seconds before automatic deletion (default: 3600, max: 604800).
write_key: Optional secret passphrase to protect the key from being overwritten or deleted by other agents.
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| value | Yes | ||
| write_key | No | ||
| ttl_seconds | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden, and it delivers: it discloses the $0.0005 USDC cost on Base & Solana, automatic deletion via TTL expiration, write-key protection against "overwritten or deleted by other agents," and the payment_signature as an x402 transaction hash or developer mock key. It falls short of disclosing overwrite-on-conflict semantics for existing keys that lack a write_key, or how the tool behaves under scratchpad_lock, and it never mentions what the tool returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with cost and the core action in the first sentence, followed by feature context and a tight use-case line. The Args block is dense and necessary given the schema has zero descriptions. There is no filler; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity (5 params, 2 required) and zero annotations, the description covers purpose, cost, TTL lifecycle, namespace conventions, write protection, and use cases commendably. However, there is no output schema and the description never states the return value or error behavior (e.g., what happens on a write-key mismatch or locked key), and it does not address interaction with the sibling scratchpad_lock tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate — and it fully does. The Args section documents all five parameters with type guidance (value accepts string, number, list, or JSON dict), defaults (ttl_seconds default 3600), bounds (max 604800), and behavioral purpose (write_key protects from unauthorized overwrites/deletes). This is exactly the value the bare schema fails to provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource: "Writes an ephemeral state key or JSON payload to the shared agent blackboard with automatic TTL expiration." The ephemeral/TTL framing and the write verb clearly distinguish it from sibling tools scratchpad_get, scratchpad_lock, and scratchpad_unlock without needing to inspect their schemas. The hierarchical namespace and write-key mentions add further scope precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: "Ideal for multi-agent workflows passing intermediate state without spinning up dedicated databases." This tells an agent when to reach for the tool, but it never explicitly names alternatives or exclusion conditions (e.g., use scratchpad_get to read back, or scratchpad_lock for strict single-writer access), so the routing guidance is left partially to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scratchpad_unlockA
[Free / $0.0000 USDC] Releases an acquired distributed mutex lock immediately.
Verifies owner_id identity so third-party agents cannot release active locks held by others.
Releasing locks cleanly unblocks queued agents without waiting for TTL lease expiration.
Args:
lock_name: Resource identifier of the lock to release.
owner_id: Identifier of the agent that currently holds the lock.
| Name | Required | Description | Default |
|---|---|---|---|
| owner_id | Yes | ||
| lock_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explains that the lock is released immediately, that owner_id is verified, and that queued agents are unblocked without waiting for TTL expiration. This provides meaningful behavioral context beyond the bare action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core action, then the identity verification detail, then the benefit of clean release. The Args section is minimal and each sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter unlock operation, the description covers the action, the parameters, and the behavioral outcome. It does not describe the return value or failure modes, but the tool is simple enough that this is a minor omission rather than a blocking gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description compensates by explaining both parameters: lock_name as the resource identifier and owner_id as the identifier of the current lock holder. This adds meaning beyond the schema's simple property names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to release an acquired distributed mutex lock immediately. It adds crucial context by noting the owner_id verification, distinguishing it from the sibling scratchpad_lock and other scratchpad tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for use: it is for releasing locks held by the calling agent, and it highlights that third-party agents cannot release others' locks. It does not explicitly name alternatives or state when not to use, but the purpose and ownership requirement make the appropriate usage evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_toolsB
[Free / Zero Auth] Progressive Tool Discovery: search Sairen's capabilities and retrieve domain SSE endpoints.
Keywords: search tools, discover tools, tool catalog, progressive discovery, capability lookup, find tools.
Enables autonomous agents to discover relevant microservice tools on demand with minimal prompt token consumption.
Args:
query: Natural language capability search term (e.g. 'solana dex price', 'json repair', 'canary tokens', 'dns').
domain: Optional domain filter ('defi', 'security', 'agentops', 'resilience').
limit: Maximum matching tools to return (default: 5).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| domain | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the behavioral burden. It discloses useful traits: zero auth/free, minimal token consumption, and that results are domain SSE endpoints. However it omits return shape, whether results are ranked, pagination/truncation behavior when limit is hit, and what an empty result means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose and the Args block are front-loaded and efficient, but the 'Keywords:' line is SEO-style keyword stuffing that restates the tool name and adds no decision-relevant information. Trimming it would tighten the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the agent gets enough to invoke the tool (auth profile, all three params, result nature), but not enough to interpret the response — no ranking, ordering, or truncation semantics for the returned tool list. Adequate but with a clear gap for a discovery tool whose output drives subsequent calls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: it documents all three params with a natural-language query example set, a domain filter with enumerated example values ('defi', 'security', 'agentops', 'resilience'), and the limit default of 5. It does not state whether query and domain compose or how empty query behaves, so it stops short of a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'search Sairen's capabilities and retrieve domain SSE endpoints', plus a 'Progressive Tool Discovery' framing. It is clearly a meta/discovery tool distinct from the concrete sibling tools (get_dex_price, check_service_health, etc.), though 'SSE endpoints' is jargon that is not fully unpacked.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[Free / Zero Auth]' tag and 'discover relevant microservice tools on demand' imply the when-to-use context (agent doesn't yet know which capability to call), but there is no explicit when-not-to-use, no statement that this is the entry point before calling a discovered tool, and no alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_webA
[Cost: $0.0015 USDC on Base & Solana] Zero-browser web search and SERP discovery.
Returns ranked results, clean canonical URLs, and snippets without requiring human API keys.
Args:
query: Target search query string (e.g. 'ethereum base l2 transaction fees').
max_results: Maximum SERP results to return (1-20, default: 5).
payment_signature: Optional x402 Base/Solana USDC transaction hash (defaults to developer mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the cost ($0.0015 USDC), the payment mechanism (optional x402 hash defaulting to developer mock key), and the return type (ranked results, URLs, snippets). However, it omits details on rate limits, pagination, error handling, or whether results are cached, which are relevant for a paid external call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and informative, front-loading the cost and key purpose in the first sentence, then listing arguments. It avoids fluff but could be slightly tighter by integrating the args into the prose rather than a separate block.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter tool with no output schema, the description covers the essential aspects: what it returns, parameter constraints, and cost/payment. It doesn't describe error responses or operational limits, but the core information an agent needs to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions (coverage 0%), so the description is the sole source of semantics. It explains 'query' with an example, defines 'max_results' range (1-20, default 5), and clarifies 'payment_signature' is optional with a mock default. This fully compensates for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs web search and SERP discovery, with a specific verb ('search') and resource ('web'), and specifies it returns ranked results, clean canonical URLs, and snippets. This distinguishes it from sibling tools like extract_web_markdown (which extracts content from a given URL) and classify_url, though it doesn't name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for web search queries and highlights the advantage of not requiring human API keys, but it does not explicitly state when to prefer this over alternatives like extract_web_markdown or classify_url. No exclusions or conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_transaction_oracleA
[Cost: $0.0010 USDC on Base & Solana] Pre-flight EVM transaction simulator & revert decoder.
Detects if contract calls succeed or revert, decodes exact Solidity error reasons, and estimates gas costs before broadcasting.
Actions & Parameters:
- 'simulate': Full call execution. Params: {"to": "0x...", "from": "0x...", "data": "0x...", "value": 0, "chain": "base"|"ethereum"|"arbitrum"|"polygon"}
- 'estimate_gas': Gas estimation. Params: {"to": "0x...", "data": "0x...", "chain": "base"}
- 'decode_revert': Offline hex decoder. Params: {"hex_data": "0x08c379a0..."} [Free]
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | simulate | |
| params | No | ||
| payment_signature | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It discloses cost, the free decode action, and the pre-flight/non-broadcasting nature of the tool, which is useful safety context. It does not explain side effects, payment_signature requirements, rate limits, or authentication needs, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with cost and purpose, and uses a clear bulleted action list. Every sentence earns its place, and the formatting makes the three operation modes easy for an agent to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The core simulation, gas estimation, and revert-decoding workflows are well covered, and the existence of an output schema means return values do not need to be spelled out. However, `payment_signature` is not described despite the explicit cost, and the cost line mentions 'Base & Solana' while the chain lists are EVM-only, leaving a consistency gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the schema's `params` field is an untyped object with additionalProperties, so the description is the only real parameter documentation. It enumerates all three actions and their concrete parameters, including chain enums and example hex payloads, but it omits any explanation of `payment_signature`.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific, unambiguous purpose: 'Pre-flight EVM transaction simulator & revert decoder.' It names concrete actions ('simulate', 'estimate_gas', 'decode_revert') and what each does, distinguishing it from sibling tools like get_base_gas_oracle or check_address_risk.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before broadcasting' gives clear usage context, and the action list implies when each mode is appropriate, with 'decode_revert' explicitly marked as an offline, free operation. However, it does not name alternative tools or state explicit when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_rfp_bidA
[Cost: $0.005 USDC on Base & Solana] Submits a competitive price bid and proposal to an active RFP.
Provider agents compete to fulfill work. Bids are automatically ranked by price ascending.
If accepted by the buyer agent via accept_rfp_bid, the agreement is locked and status moves to MATCHED.
Args:
rfp_id: Target RFP ID to bid on.
bidder_id: EVM wallet or identifier of the bidding supplier agent.
bid_price_usd: Proposed execution price in USD.
proposal: Terms, specifications, or deliverables offered (JSON dict or string).
eta_seconds: Estimated completion time in seconds (default: 60).
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| rfp_id | Yes | ||
| proposal | No | ||
| bidder_id | Yes | ||
| eta_seconds | No | ||
| bid_price_usd | Yes | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the $0.005 USDC cost, automatic price-ascending ranking, the locked agreement on acceptance, and the status change to MATCHED. It also clarifies the optionality of payment_signature. This is strong context, though it does not cover immediate failure modes or what happens if the bid is rejected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient and front-loaded with the cost and core verb, then gives the process context, then the parameter reference. The Args block is justified because the schema provides no descriptions. A few minor redundancies and the absence of a short 'returns' note keep it from a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, no-annotation, no-output-schema tool, the description is quite complete: it names all required inputs, defaults, cost, ranking behavior, and the downstream MATCHED state. It does not describe the immediate return value or error conditions, which would be useful since no output schema exists, but the provided context is sufficient for a competent agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully explain the parameters, and it does. Each argument is listed with meaningful semantics: rfp_id targets the RFP, bidder_id identifies the supplier wallet/agent, bid_price_usd is the execution price, proposal is the offering, eta_seconds has a default, and payment_signature is optional with format hints. This fully compensates for the schema's lack of property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Submits a competitive price bid and proposal to an active RFP.' It names the target resource (RFP) and gives the bid lifecycle, including the role of accept_rfp_bid. It does not explicitly contrast itself with sibling tools like create_rfp_auction or accept_rfp_bid beyond the workflow hint, so it stops just short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the intended usage context explicit: provider agents compete to fulfill work and bids are ranked by price ascending. It implies the right moment to call the tool (when an RFP is active and the agent wants to bid), but it does not give explicit when-not-to-use guidance or name alternative tools for other stages of the RFP lifecycle.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_task_proofB
[Cost: $0.01 USDC on Base & Solana] Submits and cryptographically attests proof of task completion.
Generates an immutable timestamped attestation record proving deliverables were fulfilled.
Args:
escrow_id: Target escrow ID.
worker_id: Assigned worker ID.
proof_data: Raw result payload, SHA-256 hash of deliverables, or verification URL.
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| escrow_id | Yes | ||
| worker_id | Yes | ||
| proof_data | Yes | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool costs $0.01 USDC, generates an immutable timestamped attestation record, and that payment_signature is optional. It also implies a cryptographic attestation side effect. However, it does not disclose failure modes, whether the operation is idempotent, what happens if the escrow is already completed, or whether the attestation is on-chain and irreversible. The cost disclosure is a positive behavioral trait, but more depth is needed for a financial transaction tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the cost and core purpose. The parameter list is integrated efficiently. It earns its place with the cost disclosure and the attestation behavior. Minor redundancy: 'Submits and cryptographically attests proof of task completion' and 'Generates an immutable timestamped attestation record' overlap somewhat, but the structure is otherwise clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that costs money and creates an immutable record, the description is moderately complete. It covers the purpose, cost, and parameters. However, it lacks critical context: no output schema means the agent doesn't know what the return value is; no mention of error conditions (e.g., invalid escrow, already-submitted proof); no guidance on when payment_signature is required vs optional in practice. Given the financial and irreversible nature, this is a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does provide brief inline parameter descriptions: escrow_id (target escrow ID), worker_id (assigned worker ID), proof_data (raw result payload, SHA-256 hash, or verification URL), and payment_signature (optional x402 Base USDC transaction hash or developer mock key). This adds meaning beyond the bare schema titles. However, the descriptions are terse and leave ambiguity: what format should escrow_id be? What does 'developer mock key' mean? What constitutes valid proof_data? The description partially compensates but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: submitting and cryptographically attesting proof of task completion, generating an immutable timestamped attestation record. It uses a specific verb ('submits') and resource ('proof of task completion'), and the mention of 'attestation record' distinguishes it from generic submission tools. However, it doesn't explicitly differentiate from siblings like verify_cryptographic_proof or claim_task_bounty, though the context makes it fairly clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: it is for submitting proof of task completion, presumably after a task has been performed and before bounty release. It mentions the cost and the optional payment signature, which hints at when payment_signature is needed. However, it does not explicitly state when to use this tool versus alternatives like verify_cryptographic_proof (verification) or release_task_bounty (post-proof release), nor does it state prerequisites like having an active escrow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
throttle_checkA
[Cost: $0.0002 USDC on Base & Solana] Sliding-window rate limiter and token bucket manager for multi-agent swarms.
Coordinates shared API limits across autonomous agents (e.g. GitHub, CoinGecko, OpenAI RPM). Returns allowed status, remaining quota, and optimal jittered backoff delay (retry_after_ms) when throttled.
Args:
key: Namespace identifier for the shared API or resource (e.g. 'github_api', 'coingecko_free').
limit: Maximum requests allowed in the sliding window (default: 10).
window_seconds: Duration of the sliding window in seconds (default: 60).
cost: Number of tokens to acquire (default: 1).
payment_signature: Optional x402 Base/Solana USDC payment transaction hash or authorized key.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| cost | No | ||
| limit | No | ||
| window_seconds | No | ||
| payment_signature | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits itself. It mentions the cost per call, the return data, and the jittered backoff delay. However, it does not state whether the tool mutates state (e.g., decrements quota), whether calls are idempotent, or what happens on errors. This is a partial disclosure but leaves the agent uncertain 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear cost header, a purpose statement, and an args list. The most important information (purpose and return) is front-loaded, and the arg descriptions are concise. It is slightly longer than necessary but remains efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, the description covers the main inputs, outputs, and use case. It explains what the tool returns and the optional payment signature. Missing details include error handling, edge cases (e.g., what happens when the window resets), and whether the cost is always deducted. An output schema is present, so return format is likely documented elsewhere, but the description still could be more complete on failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions (0% coverage), so the description carries the full burden. It provides explanations for all five parameters, including the default values and the purpose of each (e.g., 'key' as namespace, 'limit' as max requests). This adds substantial meaning beyond the bare schema, though it could be more detailed on interactions (e.g., how 'cost' relates to 'limit').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a sliding-window rate limiter and token bucket manager, specifying its purpose to coordinate shared API limits across agents. It names concrete resources (GitHub, CoinGecko, OpenAI RPM) and describes the return values (allowed status, remaining quota, backoff delay). This differentiates it from the sibling tools, none of which are rate-limiting related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that the tool is meant for multi-agent swarms to coordinate shared API limits, providing clear context on when to use it. It does not explicitly mention alternatives or exclusions, but given the tool's unique role among siblings, the usage context is sufficient. A stronger statement of 'use this when' would be an improvement, but it's not misleading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trim_llm_contextB
[Free Promotional Preview / Zero Auth] Compresses and prunes LLM message history to strictly fit within a target token budget.
Deduplicates repetitive tool outputs, condenses bulky historical payloads,
and prunes older turns while preserving system instructions and recent context.
Args:
messages: Native list of OpenAI/Anthropic format message dicts (or JSON string).
messages_json: Optional stringified messages for backward compatibility.
max_tokens: Maximum target token count (default: 4000).
preserve_recent_turns: Number of recent conversational turns to preserve untouched (default: 4).
payment_signature: Optional x402 Base USDC transaction hash or developer mock key.
| Name | Required | Description | Default |
|---|---|---|---|
| messages | No | ||
| max_tokens | No | ||
| messages_json | No | ||
| payment_signature | No | ||
| preserve_recent_turns | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose pruning, deduplication, preservation of system instructions/recent context, and zero-auth status. However, it does not reveal potential side effects, whether input is mutated, or what happens when the budget cannot be strictly met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The overview is only two sentences and the parameter list is well-structured and reasonably brief. The 'Free Promotional Preview / Zero Auth' prefix is mildly promotional but still informative; no major redundancy or bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main behavior and all parameter semantics, and an output schema exists. Still, it omits error behavior, output format details, and the relationship to the nearby compress_document_tool sibling, leaving some ambiguity for agent selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the Args section compensates by explaining each parameter's purpose, types, and defaults. It adds useful context such as 'OpenAI/Anthropic format message dicts', backward-compatibility behavior, and the payment signature's role.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Compresses and prunes LLM message history') and the target resource, plus the budget constraint. It is specific enough to distinguish from generic compression tools, though it does not explicitly differentiate from the sibling 'compress_document_tool'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when message history exceeds a token budget, but it gives no explicit guidance about when to choose this tool over alternatives. There are no stated exclusions, prerequisites, or comparison with sibling tools such as compress_document_tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_cryptographic_proofA
[Cost: $0.0003 USDC on Base & Solana] Cryptographic proof verifier for autonomous agents.
Verifies Merkle inclusion proofs, Ed25519/ECDSA signatures, and hash preimage commitments.
Args:
proof_type: 'merkle' (Merkle tree audit path), 'signature' (Ed25519/ECDSA), or 'preimage' (hash commitment).
payload: Dict of parameters:
- For 'merkle': {'leaf': str, 'proof': list, 'root': str, 'hash_algo': 'sha256'|'sha3_256'|'blake2b'}
- For 'signature': {'public_key': str, 'signature': str, 'message': str, 'curve': 'ed25519'|'ecdsa-p256'}
- For 'preimage': {'commitment': str, 'preimage': str, 'salt': Optional[str], 'algorithm': 'sha256'}
payment_signature: Optional x402 Base/Solana USDC transaction hash (defaults to developer mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | ||
| proof_type | Yes | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose a cost ($0.0003 USDC) and notes that payment_signature defaults to a developer mock key, which is useful. However, it does not explicitly state that the operation is read-only or side-effect-free, nor does it describe error behavior or return format. The cost and mock-key details add value, but the description stops short of fully disclosing what happens on success or failure, warranting 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured and front-loaded, leading with the cost and purpose, then the proof types, then a clear parameter breakdown. It is technically dense but contains no fluff. Slightly verbose due to the detailed payload specification, but every sentence earns its place. The bullet-like formatting aids scanning. A 4 reflects good structure with minor opportunity to tighten wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (three proof types, nested payload, no output schema) and the absence of annotations, the description is incomplete. It thoroughly documents the input structure but says nothing about the return value (e.g., a boolean, a result object, or an error message) or how the agent should interpret success/failure. It also does not mention rate limits or idempotency. This is a significant gap for a verification tool that an agent must invoke confidently, so a 2 is warranted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides zero parameter documentation (coverage 0%), with payload as an untyped object. The description fully compensates by giving a detailed breakdown of the payload structure for each proof_type, including required fields and accepted algorithms. This is exemplary parameter semantics — it adds all the meaning the schema lacks, making the tool usable without guesswork.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise purpose: 'Cryptographic proof verifier for autonomous agents. Verifies Merkle inclusion proofs, Ed25519/ECDSA signatures, and hash preimage commitments.' This clearly states the verb (verifies) and resource (cryptographic proofs), and it distinguishes the tool from all siblings by specifying the exact proof types it handles. No ambiguity about what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool (for cryptographic proof verification) and even breaks down the three proof types (merkle, signature, preimage). However, it does not explicitly mention when NOT to use it or name alternatives (e.g., verify_fact_grounding for non-cryptographic checks). Since the context is unambiguous and the tool is distinct from siblings, it meets the 'clear context, no exclusions' bar, earning a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_fact_groundingA
[Cost: $0.0008 USDC on Base & Solana] Machine fact and citation grounding oracle.
Cross-checks claims against source documents to detect hallucinations and unsupported assertions.
Args:
claims: List of assertion sentences generated by LLM or agent.
sources: List of source context chunks, web pages, or reference documents.
min_threshold: Minimum grounding confidence threshold (0.1 to 1.0, default: 0.60).
payment_signature: Optional x402 Base/Solana USDC transaction hash (defaults to developer mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| claims | Yes | ||
| sources | Yes | ||
| min_threshold | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose genuinely useful operational behavior: the $0.0008 USDC cost on Base/Solana, the x402 payment mechanism, the developer mock-key default, and the 0.60 default min_threshold. However, it never states what happens on low-confidence results, how the verdict is returned (per-claim results vs. aggregate score), or any failure/error behavior — material gaps for an agent deciding whether to incur a paid call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads cost and purpose in the opening line, then appends a compact structured Args block with one line per parameter. Every sentence earns its place — cost, purpose, threshold range, and payment semantics — with no filler and no repetition of what the schema already shows.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Purpose, cost, and all four parameters are thoroughly covered, which is substantial for a 4-parameter tool with no annotations. The notable gap is the complete absence of any return-value description: since no output schema exists, an agent cannot know whether it receives per-claim verdicts, confidence scores, a pass/fail flag, or an error when grounding confidence falls below min_threshold.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully compensates. Each parameter gains meaning beyond the bare schema types: claims are 'assertion sentences generated by LLM or agent', sources are 'context chunks, web pages, or reference documents', min_threshold has an explicit valid range '(0.1 to 1.0, default: 0.60)', and payment_signature is explained as an 'x402 Base/Solana USDC transaction hash' defaulting to a developer mock key. This is complete parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific operation — 'cross-checks claims against source documents' — with a clear resource (claims vs. sources) and a measurable outcome ('detect hallucinations and unsupported assertions'). This cleanly distinguishes it from sibling verification tools like verify_cryptographic_proof, which handles cryptographic proofs rather than citation grounding, and from arbitrate_consensus, which resolves disputes rather than checking factual support.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied but not explicit: an agent can infer it should call this when it has LLM-generated claims and source documents to check for grounding. However, there are no explicit exclusions, no naming of when to prefer an alternative, and no mention of closely related siblings like verify_cryptographic_proof or search_web that it could be confused with in a verification workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
what_is_my_ip_toolB
[Backward-Compatible Alias] Use 'get_egress_ip' instead.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | ||
| parameters | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose one meaningful behavioral trait beyond the schema: this is a legacy/backward-compatible shim rather than a stand-alone capability. However, it says nothing about whether it behaves identically to get_egress_ip, side effects, or auth needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short clauses with zero filler, and the alias classification is front-loaded before the redirect. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated alias, the single most important piece of information (use get_egress_ip instead) is present, which may be sufficient in practice. But with three undocumented parameters, including a payment signature, and no output schema, an agent lacks enough context to invoke it correctly if it must.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Three parameters (input_data, parameters, payment_signature) with 0% schema description coverage and no explanation in the description. The payment_signature parameter in particular implies a paid/authenticated call path that is never addressed, so the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states what the tool actually does (return the caller's public/egress IP); it only flags itself as a backward-compatible alias and names the successor. The redirect to 'get_egress_ip' does distinguish it from the 60+ siblings by effectively removing it from consideration. Purpose is inferable but not stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to use 'get_egress_ip' instead, which is clear when-not-to-use guidance and names the exact alternative. It stops short of 5 because it does not say whether this alias is safe to call at all or when a legacy caller would still be forced to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whois_lookupA
[Cost: $0.0005 USDC on Base & Solana] Master domain dispatcher for Domain WHOIS & RDAP Intelligence Screener.
Structured RDAP and WHOIS domain intelligence: registration age, expiry, registrar, nameservers, DNSSEC, and privacy shield risk analysis.
Actions:
- 'lookup': Full domain WHOIS & RDAP structured intelligence. Params: {"domain": "example.com"}
- 'screen': Autonomous fraud risk & domain age vetting (<14 days = critical risk). Params: {"domain": "example.com"}
- 'rdap': Raw RFC 9083 RDAP JSON entities. Params: {"domain": "example.com"}
- 'status': Protocol capabilities and cache telemetry.
Args:
action: Target operation name ('lookup', 'screen', 'rdap', 'status').
params: Optional dictionary of action parameters.
payment_signature: Optional x402 Base USDC transaction hash (defaults to developer mock key).
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | lookup | |
| params | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It adds useful context: the per-call cost, the optional payment signature defaulting to a developer mock key, and the risk threshold. However, it does not disclose whether the tool makes external network calls, how it handles payment failures, rate limits, or data freshness/caching behavior beyond a mention of 'cache telemetry'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a cost line, action list, and argument breakdown. It front-loads the core purpose and cost, then details actions and parameters. Some phrasing is slightly redundant (e.g., 'Master domain dispatcher' followed by 'Structured RDAP and WHOIS domain intelligence'), but overall the length is justified by the multi-action dispatcher design.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description must explain both invocation and expected returns. It partially does: 'rdap' returns raw RFC 9083 JSON, 'status' returns protocol capabilities and cache telemetry, and 'lookup' returns structured intelligence. However, it lacks detail on the exact return shape for 'lookup' and 'screen', error behavior, and payment failure handling, leaving gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does so by explaining the 'action' parameter's allowed values, providing example params objects for each action, and clarifying the payment_signature field's role and default. It does not fully specify the params object structure beyond the domain example, but it gives enough guidance for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a domain WHOIS/RDAP intelligence dispatcher and enumerates four specific actions ('lookup', 'screen', 'rdap', 'status'), each with a concrete purpose. This makes the tool's function unambiguous and distinguishes it from the sibling tools, which cover broader web, blockchain, and infrastructure concerns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: domain WHOIS/RDAP lookups, fraud risk screening, and raw RDAP retrieval. The 'screen' action explicitly states a use case (domain age vetting with <14 days flagged as critical risk). However, it does not mention alternatives or when not to use the tool, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
17 tool updates
v1.3.1- Removed
canary_detector - Added
cancel_rfp - Added
cancel_task_bounty - Added
check_service_health - Removed
dead_letter_queue - Added
get_dex_price - Added
get_egress_ip - Added
heal_json_schema - Removed
idempotency_vault - Added
inspect_address - Added
list_active_rfps - Added
list_task_bounties - Added
manage_dead_letter - Added
manage_idempotency_key - Added
scan_canary_tokens - Added
search_tools - Changed
what_is_my_ip_tool2 fields changed- added
Input schema / properties / input_data / defaultAdded value: +"" - removed
Input schema / requiredRemoved value: -[ - "input_data" -]
54 tool updates
v1.3.0- First observed
accept_rfp_bid - First observed
agent_invoice - First observed
apply_fuzzy_patch - First observed
arbitrate_consensus - First observed
bridge_oracle - First observed
canary_detector - First observed
challenge_risk_tool - First observed
check_address_risk - First observed
check_dependency_health - First observed
circuit_breaker_guard - First observed
claim_task_bounty - First observed
classify_url - First observed
code_sandbox_tool - First observed
coerce_tool_arguments - First observed
compress_document_tool - First observed
create_rfp_auction - First observed
create_task_bounty_escrow - First observed
create_webhook_listener - First observed
cron_trigger_oracle - First observed
dead_letter_queue - First observed
dns_propagation_oracle - First observed
extract_web_markdown - First observed
filter_tabular_data - First observed
get_base_gas_oracle - First observed
get_dex_spot_price - First observed
get_node_telemetry_stats - First observed
get_precision_time - First observed
get_rfp_status - First observed
get_solana_dex_price - First observed
get_task_escrow_status - First observed
idempotency_vault - First observed
inspect_blockchain_address - First observed
lsh_dedup - First observed
parse_temporal_expression_tool - First observed
poll_webhook_events - First observed
probe_upstream_endpoint - First observed
random_decision_oracle - First observed
release_task_bounty - First observed
repair_malformed_json - First observed
scan_payload_safety - First observed
scratchpad_get - First observed
scratchpad_lock - First observed
scratchpad_set - First observed
scratchpad_unlock - First observed
search_web - First observed
simulate_transaction_oracle - First observed
submit_rfp_bid - First observed
submit_task_proof - First observed
throttle_check - First observed
trim_llm_context - First observed
verify_cryptographic_proof - First observed
verify_fact_grounding - First observed
what_is_my_ip_tool - First observed
whois_lookup
TDQS
Scored across 64 tools
The tool set contains multiple explicit aliases and overlapping real tools, e.g. get_dex_price/get_dex_spot_price/get_solana_dex_price, inspect_address/inspect_blockchain_address/check_address_risk, and check_service_health/check_dependency_health/probe_upstream_endpoint. While descriptions help, an agent still faces substantial misselection risk across 64 tools with unclear boundaries between some security, health, and DeFi utilities.
Most names use snake_case, but the convention is mixed: verb_noun (get_dex_price), noun_oracle (bridge_oracle), noun_guard (circuit_breaker_guard), noun_tool (challenge_risk_tool), and awkward alias names like what_is_my_ip_tool. The names remain readable, but there is no single predictable pattern across the set.
64 tools is far beyond a well-scoped agent toolset, especially because many are backward-compatible aliases, niche microservices, or broad domain dispatchers. This creates severe context overhead and makes it hard for an agent to select the right tool.
The inferred domain is a broad autonomous-agent infrastructure and utility toolkit, and it covers many lifecycles well: RFP auctions, task bounty escrow, agent invoicing, scratchpad state, idempotency, DLQ, webhooks, security scanning, and DeFi oracles. Gaps exist, such as no list/delete for scratchpad keys or webhook listeners, but they are minor and often workable via TTLs or companion tools.
Maintenance
Related MCP Connectors
Pay-per-call tools for autonomous agents, settled in USDC on Base via x402.
Pay-per-call (x402/USDC-Base) web + crypto data tools for AI agents: audit, extract, crypto, DeFi.
Pay-per-use tool API for AI agents. Free tier, x402 USDC micropayments, or API key.
26 pay-per-call AI agent tools for marketing, sales, content, research, verification, and integration testing. Agents pay per call via x402 micropayments (USDC on Base), raw JSON in and out. Includes delivery-acceptance receipts (ACCEPT/REJECT/REVIEW), a webhook capture/replay/conformance lab, and n8n workflow validation with bounded JSON-Patch repair.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenancePay-per-call MCP server for WebberSites x402 Data API, offering 45 tools for AI agents: web scraping, document extraction, SEO audits, linting, crypto data, and more, with payment via USDC on Base.41 npmMIT
- FlicenseNot gradedqualityBmaintenanceProvides coding agents with 19 pay-per-call developer utilities, npm supply-chain security checks, and Base blockchain lookups, paid via USDC on Base using x402. No API key needed—payment acts as authentication.53 npm-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to call 93 pay-per-call machine-to-machine services spanning web scraping, crypto sentiment, market data, on-chain analytics, social and threat intelligence, vulnerability scanning, and micro-SaaS utilities. Payments are settled in USDC on Arbitrum via the x402 protocol using a wallet header, so no API keys, signups, or billing setup are required.MIT
- AlicenseNot gradedqualityCmaintenancePay-per-call AI microservices settled in USDC on Base via the x402 (HTTP 402) protocol. 28 tools including web search, summarization, extraction, code review, deep research, crypto safety, sanctions screening and on-chain data — no accounts or API keys.7 npmApache 2.0