Universal Crypto MCP
Enables interaction with Ethereum and other EVM-compatible blockchains, providing tools for token swaps, cross-chain bridges, gas price monitoring, multicall operations, event querying, security checks, staking, signatures, lending positions, price feeds, portfolio tracking, and governance.
Provides access to the Optimism Layer 2 network with support for token swaps, cross-chain transfers, gas monitoring, and other EVM-compatible blockchain operations.
Enables interaction with the Polygon network, supporting token swaps, bridging, gas price queries, and full EVM-compatible blockchain functionality.
Click on "Install 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., "@Universal Crypto MCPswap 0.1 ETH for USDC on Polygon"
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.
๐ค๐ฐ Universal Crypto MCP
npx @nirholas/universal-crypto-mcpโจ What's New: AI Service Marketplace
Monetize your AI services & discover the best APIs! ๐ธ
The AI Service Marketplace is a complete ecosystem for AI service discovery, monetization, and reputation management:
๐ช Register your AI service - Instant monetization with pay-per-use or subscriptions
๐ AI agents discover services - Automatic discovery by category, price, and rating
โญ On-chain reputation - Build trust with verified ratings and reviews
๐ณ Flexible pricing - Pay-per-use, subscriptions, free tiers
๐ Analytics dashboard - Track usage, revenue, and performance
๐ Secure payments - Escrow, dispute resolution, automatic refunds
Learn more โ | View Tutorial โ
x402 Payment Protocol
AI agents can now pay for things on the internet! ๐ธ
User: "Get premium weather data for Tokyo"
Claude: ๐ Checking x402 balance... $45.23 USDs
๐ณ Paying $0.01 for premium API access...
โ
Payment confirmed! Here's your detailed forecast:
๐ค๏ธ Tokyo Weather (7-day premium forecast)...AI agents can now:
๐ธ Pay for premium APIs automatically
๐ช Sell their own services to other agents
๐ Trade with other AI agents peer-to-peer
โ๏ธ Work across EVM + Solana chains
โญ If you find this useful, please star the repo! It helps others discover this project.
A Universal Model Context Protocol server for all EVM-compatible networks + Solana.
Enable AI agents (Claude, ChatGPT, Cursor) to interact with any EVM blockchain through natural language.
Related MCP server: Armor Crypto MCP
๐ Why Universal Crypto MCP?
Feature | Universal Crypto MCP | Other MCP Servers |
Tools | 380+ tools | 10-50 tools |
Chains | 20+ chains (EVM + multi-chain) | 1-3 chains |
DEX Support | Multi-aggregator (1inch, 0x, ParaSwap) | Single DEX or none |
Security | GoPlus, honeypot, rug pull detection | Basic or none |
DeFi | Aave, Compound, Lido, Uniswap | Limited |
Market Data | CoinGecko, DefiLlama, LunarCrush | Basic prices |
Bridges | LayerZero, Stargate, Wormhole | None |
MEV Protection | Flashbots integration | None |
Transport | stdio, HTTP, SSE | Usually only stdio |
ChatGPT Support | โ Native HTTP mode | โ Most don't |
๐ฆ Package Structure
The most comprehensive crypto MCP monorepo with 10+ integrated packages from the best MIT-licensed projects:
packages/
โโโ core/ # Shared types, utilities, configuration
โโโ trading/ # CEX exchange integrations
โ โโโ binance/ # Binance spot & futures
โ โโโ binance-us/ # Binance US
โ โโโ bybit/ # Bybit exchange (ethancod1ng) โญ NEW
โโโ market-data/ # Prices, news, analytics
โ โโโ prices/ # CoinGecko, DexPaprika, CoinMarketCap
โ โโโ news/ # CryptoPanic, aggregated news
โ โโโ analytics/ # Whale tracking, Fear/Greed, Dune
โ โโโ predictions/ # AI price predictions
โ โโโ crypto-indicators/ # Technical analysis (Kukapay) โญ NEW
โ โโโ crypto-sentiment/ # Sentiment analysis (Kukapay) โญ NEW
โ โโโ crypto-feargreed/ # Fear & Greed Index (Kukapay) โญ NEW
โ โโโ cryptopanic/ # News aggregation (Kukapay)
โ โโโ coinmarketcap/ # CMC API (Shinzo Labs) โญ NEW
โโโ defi/ # On-chain DeFi tools (60+ networks!)
โ โโโ protocols/ # EVM MCP Server (360โญ), Sperax, DEX
โ โ โโโ algorand/ # Algorand tools (GoPlausible) โญ NEW
โ โ โโโ bsc-ops/ # BSC operations (TermiX) โญ NEW
โ โโโ chain-tools/ # BNB Chain, Onchain MCP
โ โโโ agents/ # Autonomous DeFi agents
โโโ wallets/ # Wallet management
โ โโโ evm/ # Ethereum & EVM wallets
โ โโโ solana/ # Solana wallets
โโโ payments/ # Payment infrastructure
โ โโโ x402/ # x402 protocol, USDC transfers
โโโ automation/ # Bots & automation
โ โโโ social/ # XActions Twitter automation
โ โโโ sweep/ # Dust sweeping
โ โโโ volume/ # Volume tools
โโโ generators/ # Meta-tools for building MCP servers
โโโ abi-to-mcp/ # Convert ABIs to MCP tools
โโโ repo-to-mcp/ # GitHub repos โ MCP servers
โโโ doc-extractor/ # Extract docs for LLMs
โโโ registry/ # Lyra tool registry
โโโ discovery/ # Tool discovery & search๐ View Package Documentation โ
Integrated Community MCP Servers
This repo consolidates the best MIT-licensed crypto MCP projects with proper attribution:
Project | Author | Category | Description |
mcpdotdirect | defi | 60+ networks, 22+ tools | |
crypto-indicators-mcp โญ NEW | Kukapay | market-data | Technical indicators (RSI, MACD, Bollinger) |
crypto-sentiment-mcp โญ NEW | Kukapay | market-data | Multi-source sentiment analysis |
crypto-feargreed-mcp โญ NEW | Kukapay | market-data | Fear & Greed Index |
Kukapay | market-data | Crypto news aggregation | |
coinmarketcap-mcp โญ NEW | Shinzo Labs | market-data | Complete CMC API |
Kukapay | analytics | Large wallet tracking | |
crazyrabbitLTC | analytics | Dune Analytics integration | |
CoinPaprika | prices | DEX price data | |
algorand-mcp โญ NEW | GoPlausible | blockchain | 40+ Algorand tools |
bybit-mcp-server โญ NEW | ethancod1ng | exchange | Bybit API integration |
bsc-mcp โญ NEW | TermiX | defi | BSC operations & security |
Bankless | defi | On-chain tools | |
MagnetAI | payments | Free USDC transfers |
All integrated projects maintain their original MIT licenses with full attribution.
See CONTRIBUTORS.md for detailed attribution and our modifications.
Supported Networks
EVM Chains
Ethereum, BNB Smart Chain (BSC), Polygon, Arbitrum, Base, Optimism
Avalanche, Fantom, zkSync Era, Linea, Scroll, Blast, Mode, Mantle
opBNB + All testnets
Multi-Chain (NEW)
Cosmos/IBC - ATOM, OSMO, JUNO, INJ, and more
Near Protocol - NEAR native + contracts
Sui - SUI with Move support
Aptos - APT with Move support
Bitcoin, Litecoin, Solana, TON, XRP, THORChain
Features
๐ Swap/DEX - Token swaps via 1inch, 0x, ParaSwap
๐ Bridge - Cross-chain transfers via LayerZero, Stargate, Wormhole
โฝ Gas - Gas prices across chains, EIP-1559 suggestions
๐ฆ Multicall - Batch read/write operations
๐ Events/Logs - Query historical events, decode logs
๐ Security - Rug pull detection, honeypot check, GoPlus token/address security, dApp phishing detection
๐ฐ Staking - Liquid staking (Lido), LP farming
โ๏ธ Signatures - Sign messages, verify signatures, EIP-712
๐ฆ Lending - Aave/Compound positions, borrow rates
๐ Price Feeds - Historical prices, TWAP, oracle aggregation
๐ Portfolio - Track holdings across chains
๐๏ธ Governance - Snapshot votes, on-chain proposals
๐ Deployment - Deploy contracts, CREATE2, upgradeable proxies, verification
๐ก๏ธ MEV Protection - Flashbots Protect, private transactions, bundle simulation
๐ ENS/Domains - Register, transfer, renew, set records, subdomains
๐ Market Data - CoinGecko & CoinStats prices, OHLCV, trending, categories, exchanges
๐ DeFi Analytics - DefiLlama TVL, yields, fees, bridges, stablecoins, protocol data
๐ฌ Social Sentiment - LunarCrush social metrics, influencers, trending topics
๐ DEX Analytics - DexPaprika & GeckoTerminal pools, trades, OHLCV, trending tokens
๐ฎ Predictions - Polymarket prediction markets, crypto forecasts
๐ Technical Indicators - 50+ indicators (RSI, MACD, Bollinger Bands, etc.)
๐ Alerts - Price alerts, whale movement alerts, gas alerts (NEW)
๐ก WebSockets - Real-time price streams, trade feeds, mempool monitoring (NEW)
๐ Wallet Analytics - Whale tracking, wallet scoring, behavior analysis (NEW)
๐ Multi-Chain - Cosmos, Near, Sui, Aptos native support (NEW)
๐ฐ x402 Payments - AI agents can pay for premium APIs automatically (NEW)
๐ฐ x402 Payment Protocol (NEW!)
Give Claude Money! AI agents can now make and receive cryptocurrency payments.
What is x402?
x402 implements HTTP 402 Payment Required, enabling AI agents to:
๐ธ Pay for APIs - Automatically pay for premium API access
๐ค Autonomous Payments - No human approval needed
๐ฆ Hold funds - Agents have their own crypto wallets
๐ Earn yield - Payments use USDs stablecoin (~5% APY auto-yield)
Quick Setup
# Add to your environment
export X402_PRIVATE_KEY=0x... # Your EVM private key
export X402_CHAIN=arbitrum # Default chain (or base, ethereum, polygon)x402 Tools (14 Total)
Tool | Description |
| Make HTTP request with automatic 402 payment |
| Check wallet balance (USDC/USDs + native) |
| Send direct payment to an address |
| Send multiple payments in one transaction |
| Send payment without paying gas |
| Check cost before paying |
| Get your wallet address |
| List supported networks |
| Check USDs auto-yield earnings |
| Get current APY rate |
| Project future yield |
| Approve token spending |
| Check transaction status |
| View current configuration |
Supported Networks
Network | CAIP-2 | Status |
Base |
| โ Recommended |
Arbitrum |
| โ Supported |
Ethereum |
| โ Supported |
Polygon |
| โ Supported |
Solana |
| โ Supported |
Example
User: "Get premium weather data for Tokyo"
Agent: [calls x402_pay_request to weather API]
[automatically pays $0.01 in USDs]
"Here's the detailed forecast..."x402 Architecture
โโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโโ
โ Claude โโโโโโโถโ MCP Serverโโโโโโโถโ Paid API โ
โ (AI) โ โ (x402) โ โ (402) โ
โโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโโ
โ โ โ
โ "Get data" โ HTTP + Payment โ
โ โ โ
โโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโ๐ Full Documentation:
x402 README - Overview and quick start
Quickstart Guide - 5-minute setup
MCP Tools Reference - All 14 tools explained
Architecture - Technical deep dive
Examples - Real-world use cases
Security Guide - Best practices
Quick Start
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"universal-crypto-mcp": {
"command": "npx",
"args": ["-y", "@nirholas/universal-crypto-mcp@latest"],
"env": {
"PRIVATE_KEY": "your_private_key_here (optional)"
}
}
}
}Cursor
Add to your MCP settings:
{
"mcpServers": {
"universal-crypto-mcp": {
"command": "npx",
"args": ["-y", "@nirholas/universal-crypto-mcp@latest"],
"env": {
"PRIVATE_KEY": "your_private_key_here (optional)"
}
}
}
}ChatGPT Developer Mode
Enable Developer Mode in ChatGPT settings
Start the HTTP server:
npx @nirholas/universal-crypto-mcp@latest --httpIn ChatGPT Settings โ Apps, click Create app
Enter your server URL:
http://localhost:3001/mcpSelect the app in conversations via Developer mode menu
For detailed setup instructions, see ChatGPT Setup Guide.
Server Modes
Mode | Command | Use Case |
stdio |
| Claude Desktop, Cursor |
HTTP |
| ChatGPT Developer Mode |
SSE |
| Legacy HTTP clients |
๐ Token Swaps
Swap 0.1 ETH for USDC on ArbitrumGet me a quote to swap 100 USDC to WBTC on BaseWhat's the best rate to swap 500 DAI to ETH across all DEXs on Ethereum?๐ Market Data & Prices
What's the current price of Bitcoin and Ethereum in USD?Show me the top 10 trending coins on CoinGecko right nowGet the 7-day OHLCV data for SolanaWhat's the market cap and 24h volume of BNB?Show me the price of token 0xdAC17F958D2ee523a2206206994597C13D831ec7 on Ethereum๐ DeFi Analytics (DefiLlama)
What's the total TVL of Aave across all chains?Show me the top 10 protocols by TVLWhat are the best yield opportunities for stablecoins right now?How much volume did bridges process in the last 24 hours?Show me the TVL history of Uniswap over the last 30 days๐ DEX Analytics
Show me the top trending pools on Uniswap V3Get the most traded tokens on Base in the last 24 hoursFind all liquidity pools for PEPE on EthereumWhat's the price and liquidity of the ETH/USDC pool on Aerodrome?๐ Security Checks
Is this token safe? 0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE (SHIB)Check if this token is a honeypot: 0x... on BSCScan my wallet for risky approvals: 0xYourAddressIs this dApp URL safe to connect to? https://suspicious-site.xyz๐ฐ Staking & Lending
What's the current staking APY for ETH on Lido?Show me Aave lending rates for USDC on ArbitrumWhat's my health factor on Aave if I borrow 1000 USDC against 2 ETH?๐ Cross-Chain Bridges
Bridge 100 USDC from Ethereum to ArbitrumWhat's the cheapest way to bridge ETH from mainnet to Base?Get a bridge quote for 0.5 ETH from Polygon to Optimismโฝ Gas & Network
What's the current gas price on Ethereum?Get EIP-1559 gas fees for all supported chainsIs it cheap to transact on Arbitrum right now?๐๏ธ Governance
Show me active proposals on UniswapWhat's my voting power on Compound?Get the results of the latest Aave governance vote๐ฌ Social Sentiment (LunarCrush)
What's the social sentiment for Bitcoin right now?Show me the top crypto influencers on social mediaWhat tokens are trending on Twitter/X today?Get the Galaxy Score for Ethereum๐ ENS Domains
Resolve vitalik.eth to an addressWho owns the ENS domain "ethereum.eth"?Register the domain mycoolname.eth for 1 year๐ฐ Crypto News
Get the latest crypto newsSearch news about Bitcoin ETFWhat's the breaking news in DeFi?๐ Portfolio & Wallet
Show my token balances on Ethereum: 0xYourAddressGet all NFTs owned by vitalik.ethWhat approvals have I granted from my wallet?Track my portfolio across all EVM chains๐ Advanced Operations
Deploy a new ERC-20 token called "MyToken" (MTK) with 1 million supply on BaseSubmit this transaction privately via Flashbots to avoid MEVEncode a call to the transfer function for 100 USDCSimulate this transaction before executing: 0x...๐ Technical Indicators
Calculate RSI for Bitcoin over the last 14 daysGet MACD signal for ETH/USDT on the 4-hour timeframeShow Bollinger Bands for SOL with 20-period SMAWhat's the current trend signal for BTC using multiple indicators?Run a momentum strategy analysis on DOGE๐ฎ Prediction Markets
What are the top crypto prediction markets on Polymarket?Search for Bitcoin price predictionsWhat's the current odds for ETH reaching $5000?๐ Events & Logs
Get all Transfer events for USDC in the last 100 blocks on EthereumShow me Approval events for my wallet addressDecode this transaction log: 0x...โ๏ธ Signatures & Messages
Sign this message with my wallet: "Hello World"Verify this signature is from vitalik.ethCreate an EIP-712 typed data signature for a permit๐ฆ Batch Operations (Multicall)
Get token balances for 10 different tokens in one callRead multiple contract values at once from AaveBatch check allowances for all my approved tokens๐งช Testing
We use Vitest as our testing framework with comprehensive test coverage.
Running Tests
# Run all unit tests
npm test
# Run tests in watch mode (re-runs on file changes)
npm run test:watch
# Run tests with coverage report
npm run test:coverage
# Run E2E tests (requires network access)
npm run test:e2e
# Run E2E tests in watch mode
npm run test:e2e:watch
# Open interactive test UI
npm run test:uiMCP Inspector
Test your MCP tools interactively using the official MCP Inspector:
npm run test:inspectorThis opens a browser-based UI where you can:
Browse all available tools and prompts
Test tool execution with custom parameters
View tool responses and debug issues
Validate your MCP server implementation
Test Structure
tests/
โโโ setup.ts # Global test setup
โโโ e2e/ # End-to-end tests
โ โโโ evm-tools.e2e.test.ts
โ โโโ market-data.e2e.test.ts
โโโ integration/ # Integration tests
โ โโโ evm-tools.test.ts
โ โโโ multichain.test.ts
โโโ mocks/ # Test mocks and fixtures
src/
โโโ evm/
โ โโโ chains.test.ts # Unit tests alongside source
โ โโโ modules/
โ โโโ */tools.test.ts
โโโ utils/
โโโ errors.test.ts
โโโ helper.test.ts
โโโ validation.test.tsLocal Development
# Clone
git clone https://github.com/nirholas/universal-crypto-mcp
cd universal-crypto-mcp
# Install
npm install
# Run dev server (stdio - Claude)
npm run dev
# Run dev server (HTTP - ChatGPT)
npm run dev:http
# Run dev server (SSE - legacy)
npm run dev:sse๐งช Testing
Running Tests
# Run all tests
npm test
# Run unit tests only
npm run test:unit
# Run integration tests
npm run test:integration
# Run E2E tests (requires network access)
npm run test:e2e
# Run tests with coverage report
npm run test:coverage
# Run tests in watch mode (development)
npm run test:watchTest Structure
Type | Location | Description |
Unit |
| Test individual functions/modules |
Integration |
| Test multiple components together |
E2E |
| Test full MCP server flow |
E2E Tests
End-to-end tests verify the complete tool execution flow:
EVM Tools - Block, balance, token operations across chains
DeFi Tools - Protocol TVL, yields, stablecoins via DefiLlama
Market Data - CoinGecko, Fear & Greed index
Multichain - Same operations across different networks
Error Recovery - Error handling, invalid inputs, edge cases
Custom Test Utilities
The project includes custom Vitest matchers for MCP responses:
// In your test file
import "../utils/assertions"
expect(result).toBeSuccessfulToolResponse()
expect(result).toHaveJsonProperty("balance")
expect(result).toContainValidAddress()
expect(result).toContainToolError(/invalid/i)Test Fixtures
Reusable test data in tests/utils/fixtures.ts:
import {
ETH_MAINNET_ADDRESSES,
MOCK_TOKEN_DATA,
generateRandomAddress
} from "../utils/fixtures"For detailed testing documentation, see tests/README.md.
โ๏ธ Environment Variables
Configure optional API keys for enhanced features. Create a .env file:
# Required for write operations (swaps, transfers, etc.)
PRIVATE_KEY=your_private_key_here
# Market Data (optional - has free tier)
COINGECKO_API_KEY=your_key # https://coingecko.com/api
COINSTATS_API_KEY=your_key # https://coinstats.app
# Social Sentiment (optional)
LUNARCRUSH_API_KEY=your_key # https://lunarcrush.com/developers
# News (optional)
CRYPTOPANIC_API_KEY=your_key # https://cryptopanic.com/developers
# Cross-chain Swaps (optional)
RUBIC_API_KEY=your_key # https://rubic.exchange
# Custom RPC endpoints (optional - uses public RPCs by default)
ETHEREUM_RPC_URL=https://mainnet.infura.io/v3/YOUR_KEY
ARBITRUM_RPC_URL=https://arb1.arbitrum.io/rpc
BASE_RPC_URL=https://mainnet.base.orgWhat Works Without API Keys
Feature | Without API Key | With API Key |
Token prices | โ CoinGecko free tier | โ Higher rate limits |
DeFi analytics | โ DefiLlama (free) | - |
Security checks | โ GoPlus (free) | - |
DEX analytics | โ GeckoTerminal (free) | - |
Social sentiment | โ | โ LunarCrush |
Crypto news | โ | โ CryptoPanic |
Cross-chain swaps | โ Basic | โ Best routes |
Documentation
๏ฟฝ Documentation & Examples
๐ Documentation
Comprehensive guides and API references:
๐ป Examples
Working code examples you can run and modify:
Basic MCP Server - Minimal MCP server with market data tools
Paid API Example - Add x402 payments to Express API
Trading Bot - Automated trading bot with RSI + MA strategy
Full Deployment - Production-ready server with all features
Each example includes:
Complete source code
README with setup instructions
Package configuration
Environment setup guide
๏ฟฝ๐บ๏ธ Roadmap
A comprehensive roadmap of all crypto/blockchain/DeFi/Web3 features to be implemented.
Legend
โ Implemented
๐ง In Progress
๐ Planned
๐ Core Blockchain Operations
Network & Chain
Feature | Status |
Get chain ID, block number, gas price | โ |
Get network status/health | โ |
Switch networks/chains | โ |
Get supported networks list | โ |
Get RPC endpoints | โ |
Estimate block time | โ |
Get chain metadata (name, symbol, explorers) | โ |
Get finality status | โ |
Get mempool/pending transactions | โ |
Get network peers/nodes | โ |
Get gas oracle | โ |
Blocks
Feature | Status |
Get block by number/hash | โ |
Get latest block | โ |
Get block transactions | โ |
Get block receipts | โ |
Get uncle blocks | โ |
Subscribe to new blocks | ๐ |
Get block rewards | โ |
Get block gas used/limit | โ |
Get block range | โ |
Get blocks by miner | โ |
Transactions
Feature | Status |
Send transaction | โ |
Get transaction by hash | โ |
Get transaction receipt | โ |
Get transaction status | โ |
Estimate gas | โ |
Speed up transaction (replace with higher gas) | โ |
Cancel transaction | โ |
Decode transaction input | โ |
Simulate transaction | โ |
Get transaction trace | ๐ |
Get internal transactions | ๐ |
Batch transactions | โ |
Get pending transactions | โ |
Get transaction history by address | โ |
Accounts/Wallets
Feature | Status |
Get balance (native/token) | โ |
Get nonce | โ |
Get transaction count | โ |
Create wallet | โ |
Import wallet (private key/mnemonic) | โ |
Export private key | ๐ |
Sign message | โ |
Verify signature | โ |
Get address from private key | โ |
Generate mnemonic | โ |
Derive addresses (HD wallet) | โ |
Multi-sig wallet operations | ๐ |
Get wallet permissions | ๐ |
Revoke approvals | โ |
Account abstraction (ERC-4337) | ๐ |
Social recovery | ๐ |
Hardware wallet integration | ๐ |
Get wallet portfolio | โ |
Get token approvals | โ |
๐ฐ Token Operations
Native Tokens
Feature | Status |
Get native balance | โ |
Transfer native tokens | โ |
Wrap/unwrap native tokens (WETH, WBNB) | โ |
ERC-20 (Fungible Tokens)
Feature | Status |
Get token info (name, symbol, decimals, total supply) | โ |
Get token balance | โ |
Transfer tokens | โ |
Approve spending | โ |
Get allowance | โ |
Transfer from (delegated) | โ |
Burn tokens | โ |
Mint tokens | โ |
Get token holders | โ |
Get token transfers | โ |
Permit (gasless approvals - EIP-2612) | โ |
Batch transfers | โ |
Token snapshots | ๐ |
Get token supply info | โ |
Check/revoke token approval | โ |
ERC-721 (NFTs)
Feature | Status |
Get NFT metadata | โ |
Get NFT owner | โ |
Transfer NFT | โ |
Approve NFT | โ |
Set approval for all | โ |
Get NFTs by owner | โ |
Get NFT collection info | โ |
Mint NFT | ๐ |
Burn NFT | ๐ |
Get NFT transfer history | ๐ |
Get NFT traits/attributes | โ |
Get NFT rarity | ๐ |
Verify NFT authenticity | ๐ |
Batch transfer NFTs | โ |
Check NFT approval | โ |
Revoke NFT approval | โ |
Approve for marketplace | โ |
Fetch NFT metadata from URI | โ |
ERC-1155 (Multi-Token)
Feature | Status |
Get token balance (fungible + NFT) | โ |
Batch transfers | ๐ |
Batch balance queries | ๐ |
Safe transfer | โ |
Get URI | โ |
Other Token Standards
Feature | Status |
ERC-777 (advanced fungible) | ๐ |
ERC-3525 (semi-fungible) | ๐ |
ERC-4626 (tokenized vaults) | ๐ |
ERC-6551 (token-bound accounts) | ๐ |
ERC-404 (hybrid tokens) | ๐ |
Soulbound tokens (SBTs) | ๐ |
๐ฆ DeFi - Decentralized Exchanges (DEX)
Swaps
Feature | Status |
Get quote/price | โ |
Swap exact tokens for tokens | โ |
Swap tokens for exact tokens | โ |
Multi-hop swaps | โ |
Split route swaps | ๐ |
Cross-DEX aggregation | โ |
Limit orders | ๐ |
TWAP orders (time-weighted) | ๐ |
Stop-loss orders | ๐ |
Get slippage estimate | โ |
Get price impact | โ |
MEV protection (private transactions) | ๐ |
DEX Analytics
Feature | Status |
Get trending pools | โ |
Get new pools | โ |
Get top pools by volume | โ |
Get pool OHLCV data | โ |
Get pool trades | โ |
Get token pools | โ |
Get DEX list | โ |
Search pools cross-chain | โ |
Get token price by contract | โ |
Get pool transactions | โ |
Multi-token price lookup | โ |
Liquidity Provision
Feature | Status |
Add liquidity | โ |
Remove liquidity | โ |
Get LP token balance | โ |
Get pool reserves | โ |
Get pool APY/APR | ๐ |
Get impermanent loss estimate | ๐ |
Concentrated liquidity (Uniswap V3) | ๐ |
Set price range | ๐ |
Collect fees | ๐ |
Rebalance position | ๐ |
Add liquidity with native token | โ |
Calculate arbitrage opportunities | โ |
AMM Types Support
Feature | Status |
Constant product (x*y=k) | โ |
Stable swap (Curve) | ๐ |
Concentrated liquidity | ๐ |
Order book hybrid | ๐ |
Virtual AMM (perpetuals) | ๐ |
๐ฆ DeFi - Lending & Borrowing
Lending
Feature | Status |
Supply/deposit assets | โ |
Withdraw assets | โ |
Get supply APY | โ |
Get supplied balance | โ |
Get utilization rate | ๐ |
Enable/disable as collateral | ๐ |
Borrowing
Feature | Status |
Borrow assets | โ |
Repay debt | โ |
Get borrow APY | โ |
Get borrowed balance | โ |
Get health factor | โ |
Get liquidation threshold | โ |
Get max borrowable amount | ๐ |
Flash loans | โ |
Get borrow limit | ๐ |
Get flash loan info | โ |
Liquidations
Feature | Status |
Liquidate unhealthy positions | ๐ |
Get liquidatable positions | โ |
Get liquidation bonus | ๐ |
Partial liquidations | ๐ |
Isolated Markets
Feature | Status |
Supply to isolated pool | ๐ |
Borrow from isolated pool | ๐ |
Get isolation mode debt ceiling | ๐ |
๐ฅฉ DeFi - Staking
Native Staking
Feature | Status |
Stake native tokens | โ |
Unstake/withdraw | โ |
Claim rewards | โ |
Get staking APY | โ |
Get validator list | ๐ |
Delegate to validator | ๐ |
Redelegate | ๐ |
Get unbonding period | ๐ |
Liquid Staking
Feature | Status |
Stake for liquid staking tokens (stETH, rETH) | โ |
Unwrap liquid staking tokens | โ |
Get exchange rate | โ |
Get staking rewards rate | โ |
LP Staking/Farming
Feature | Status |
Stake LP tokens | โ |
Unstake LP tokens | โ |
Claim farming rewards | โ |
Get farming APY | โ |
Compound rewards | ๐ |
Get pending rewards | โ |
Boost rewards (veTokens) | ๐ |
Restaking
Feature | Status |
Restake assets (EigenLayer) | ๐ |
Get restaking points | ๐ |
Choose operators | ๐ |
Withdraw from restaking | ๐ |
๐ DeFi - Derivatives
Perpetual Futures
Feature | Status |
Open long/short position | ๐ |
Close position | ๐ |
Add/remove margin | ๐ |
Set leverage | ๐ |
Get funding rate | ๐ |
Get open interest | ๐ |
Get liquidation price | ๐ |
Set stop-loss/take-profit | ๐ |
Get PnL | ๐ |
Partial close | ๐ |
Options
Feature | Status |
Buy call/put options | ๐ |
Sell/write options | ๐ |
Exercise options | ๐ |
Get option greeks | ๐ |
Get implied volatility | ๐ |
Get option chain | ๐ |
Spread strategies | ๐ |
Synthetics
Feature | Status |
Mint synthetic assets | ๐ |
Burn synthetic assets | ๐ |
Get collateral ratio | ๐ |
Get synthetic price feed | ๐ |
Liquidate synthetic positions | ๐ |
๐ Cross-Chain & Bridges
Bridging
Feature | Status |
Bridge tokens cross-chain | โ |
Get bridge quote | โ |
Get bridge status | โ |
Get supported chains | โ |
Get supported tokens | โ |
Claim bridged tokens | ๐ |
Get bridge fees | โ |
Get estimated time | โ |
Cross-Chain Messaging
Feature | Status |
Send cross-chain message | ๐ |
Receive cross-chain message | ๐ |
LayerZero operations | ๐ |
Axelar operations | ๐ |
Wormhole operations | ๐ |
CCIP (Chainlink) | ๐ |
Hyperlane operations | ๐ |
Atomic Swaps
Feature | Status |
Initiate atomic swap | ๐ |
Complete atomic swap | ๐ |
Refund atomic swap | ๐ |
๐ณ๏ธ Governance
Voting
Feature | Status |
Create proposal | โ |
Vote on proposal | โ |
Delegate votes | โ |
Get voting power | โ |
Get proposal state | โ |
Queue proposal | โ |
Execute proposal | โ |
Cancel proposal | โ |
Get vote receipt | โ |
Token Locking
Feature | Status |
Lock tokens for voting (veTokens) | ๐ |
Extend lock period | ๐ |
Increase locked amount | ๐ |
Withdraw unlocked tokens | ๐ |
Get lock info | ๐ |
Snapshot (Off-chain)
Feature | Status |
Create space | ๐ |
Create off-chain proposal | ๐ |
Vote off-chain | ๐ |
Get snapshot results | ๐ |
๐ Security & Analysis
Contract Analysis
Feature | Status |
Verify contract source | โ |
Get contract ABI | โ |
Check if contract is proxy | โ |
Get implementation address | โ |
Detect honeypots | โ |
Check for rug pull risks | โ |
GoPlus token security check | โ |
GoPlus rug pull detection | โ |
Audit score | ๐ |
Get contract creator | โ |
Get contract age | โ |
Detect malicious functions | โ |
Token Security
Feature | Status |
Check token safety | โ |
Get holder distribution | โ |
Check if mintable | โ |
Check if pausable | โ |
Check for hidden fees | โ |
Check liquidity locked | โ |
Get top holders | โ |
Check ownership renounced | โ |
GoPlus NFT security | โ |
GoPlus approval security | โ |
Wallet Security
Feature | Status |
Get approval list | โ |
Revoke approvals | โ |
Check for drainers | โ |
Simulate transaction safety | โ |
Get wallet risk score | ๐ |
GoPlus address security | โ |
GoPlus dApp phishing check | โ |
GoPlus signature decode | โ |
๐ Price & Market Data
Price Feeds
Feature | Status |
Get current price | โ |
Get historical prices | โ |
Get OHLCV data | โ |
Get price from DEX | โ |
Get price from oracle (Chainlink, Pyth) | โ |
Get TWAP price | โ |
Get price across exchanges | โ |
Get volume | โ |
Get market cap | โ |
Get trending coins | โ |
Get token by contract address | โ |
Get exchange rates | โ |
Get coin categories | โ |
Get derivatives data | โ |
Get company BTC/ETH holdings | โ |
Analytics
Feature | Status |
Get TVL (Total Value Locked) | โ |
Get protocol metrics | โ |
Get yield farming APYs | โ |
Get gas tracker | โ |
Get whale transactions | ๐ |
Get token flow analysis | ๐ |
Get DEX volume | โ |
Get lending metrics | ๐ |
Get DeFi fees & revenue | โ |
Get stablecoin data | โ |
Get bridge volumes | โ |
Get liquidation data | โ |
Get DeFi hacks history | โ |
Get perpetuals data | โ |
๐ Identity & Domains
ENS (Ethereum Name Service)
Feature | Status |
Register domain | โ |
Resolve name to address | โ |
Reverse resolve address to name | โ |
Set primary name | ๐ |
Set records (text, address, content hash) | โ |
Transfer domain | โ |
Renew domain | โ |
Get expiry date | ๐ |
Set subdomains | โ |
Other Name Services
Feature | Status |
Unstoppable Domains | ๐ |
Space ID (.bnb) | ๐ |
Bonfida (.sol) | ๐ |
ANS (.avax) | ๐ |
DIDs & Verifiable Credentials
Feature | Status |
Create DID | ๐ |
Resolve DID | ๐ |
Issue verifiable credential | ๐ |
Verify credential | ๐ |
Revoke credential | ๐ |
๐ผ๏ธ NFT & Metaverse
NFT Marketplace
Feature | Status |
List NFT for sale | ๐ |
Buy NFT | ๐ |
Make offer | ๐ |
Accept offer | ๐ |
Cancel listing | ๐ |
Auction NFT | ๐ |
Bid on auction | ๐ |
Get floor price | ๐ |
Get collection stats | ๐ |
NFT Creation
Feature | Status |
Deploy NFT collection | ๐ |
Mint NFTs | ๐ |
Set royalties | ๐ |
Set metadata | ๐ |
Reveal NFTs | ๐ |
Whitelist management | ๐ |
Airdrop NFTs | ๐ |
NFT Finance
Feature | Status |
NFT collateralized loans | ๐ |
NFT fractionalization | ๐ |
NFT renting | ๐ |
NFT staking | ๐ |
Metaverse
Feature | Status |
Buy virtual land | ๐ |
Sell virtual land | ๐ |
Build on land | ๐ |
Transfer assets between metaverses | ๐ |
๐ Events & Subscriptions
Event Listening
Feature | Status |
Subscribe to contract events | ๐ |
Subscribe to pending transactions | ๐ |
Subscribe to new blocks | ๐ |
Subscribe to logs | ๐ |
Filter events by topic | โ |
Get historical events | โ |
Decode event logs | โ |
Webhooks & Notifications
Feature | Status |
Set up webhook for events | ๐ |
Get transaction notifications | ๐ |
Get price alerts | ๐ |
Get whale alerts | ๐ |
Get governance notifications | ๐ |
๐ Smart Contract Interaction
Read Operations
Feature | Status |
Call view/pure functions | โ |
Get storage at slot | โ |
Get contract bytecode | โ |
Multicall (batch reads) | โ |
Static call simulation | โ |
Write Operations
Feature | Status |
Send transaction to contract | โ |
Encode function call | โ |
Decode function result | โ |
Estimate gas for call | โ |
Batch transactions | โ |
Contract Deployment
Feature | Status |
Deploy contract | โ |
Deploy with CREATE2 | โ |
Deploy proxy contract | โ |
Upgrade proxy | โ |
Verify on explorer | โ |
๐ค Advanced Features
MEV & Flashbots
Feature | Status |
Submit private transaction | โ |
Submit bundle | โ |
Get MEV opportunities | โ |
Backrun protection | โ |
Frontrun protection | โ |
Sandwich protection | โ |
Account Abstraction (ERC-4337)
Feature | Status |
Create smart account | ๐ |
Execute user operation | ๐ |
Batch operations | ๐ |
Sponsor gas (Paymaster) | ๐ |
Session keys | ๐ |
Social recovery | ๐ |
Intents & Solvers
Feature | Status |
Submit intent | ๐ |
Get solver quotes | ๐ |
Execute via solver | ๐ |
Oracles
Feature | Status |
Get Chainlink price | โ |
Get Pyth price | ๐ |
Get Band Protocol price | ๐ |
Get API3 price | ๐ |
Request randomness (VRF) | ๐ |
Request external data | ๐ |
๐ ๏ธ Utility Functions
Gas
Feature | Status |
Get gas price | โ |
Get priority fee | โ |
Get base fee | โ |
Get gas history | โ |
Estimate gas for transaction | โ |
Get EIP-1559 fees | โ |
Encoding/Decoding
Feature | Status |
ABI encode | โ |
ABI decode | โ |
Keccak256 hash | โ |
Pack/unpack data | โ |
Sign typed data (EIP-712) | โ |
Address Utils
Feature | Status |
Validate address | โ |
Checksum address | โ |
Get address from ENS | โ |
Check if contract | โ |
Get contract type | ๐ |
๐ฐ Data & Information
News & Social
Feature | Status |
Get crypto news | โ |
Search crypto news | โ |
Get DeFi news | โ |
Get Bitcoin news | โ |
Get breaking news | โ |
Get social sentiment | โ |
Get influencer rankings | โ |
Get trending topics | โ |
Get coin social metrics | โ |
Get social feed | โ |
Get market sentiment index | โ |
Get Galaxy Score | โ |
Get AltRank | โ |
Get Twitter mentions | ๐ |
Get Discord activity | ๐ |
Get GitHub activity | ๐ |
On-Chain Data
Feature | Status |
Get token holders | ๐ |
Get whale wallets | ๐ |
Get smart money movements | ๐ |
Get protocol users | ๐ |
Get daily active addresses | ๐ |
Get network hash rate | ๐ |
๐๏ธ Institutional & Compliance
KYC/AML
Feature | Status |
Wallet screening | ๐ |
Transaction monitoring | ๐ |
Risk scoring | ๐ |
Sanctions checking | ๐ |
Custody
Feature | Status |
Multi-sig operations | ๐ |
Cold storage | ๐ |
Hot wallet management | ๐ |
Policy enforcement | ๐ |
Reporting
Feature | Status |
Tax reporting | ๐ |
Portfolio tracking | โ |
P&L reporting | ๐ |
Transaction history export | ๐ |
Data Sources
This MCP server integrates with the following APIs:
Provider | Data Type | API Key Required |
Market data, prices, OHLCV | Optional (free tier) | |
Portfolio, prices, wallets | Yes | |
TVL, yields, fees, protocols | No | |
Social sentiment, influencers | Yes | |
Security analysis, honeypot detection | No | |
DEX pools, trades, OHLCV | No | |
DEX analytics, pools | No | |
Crypto news | Yes | |
Fear & Greed Index | No |
Related MCP Servers
Additional specialized MCP servers, maintained in their own repositories:
Server | Description | Tools |
Binance.com global exchange API | 156+ tools | |
Binance.US exchange API | 71+ tools |
Binance.com Server
Full Binance global API coverage including:
Spot trading, wallet, staking, mining
Convert, Simple Earn, Algo Trading (TWAP/VP)
NFT, Pay, Copy Trading, Dual Investment
VIP Loans, C2C/P2P, Fiat
{
"mcpServers": {
"binance": {
"command": "npx",
"args": ["ts-node", "binance-mcp-server/src/index.ts"],
"env": {
"BINANCE_API_KEY": "your_key",
"BINANCE_API_SECRET": "your_secret"
}
}
}
}Binance.US Server
US-regulated exchange with:
Market data, spot trading, wallet
Staking, OTC, sub-accounts
Custodial solutions (institutional)
{
"mcpServers": {
"binance-us": {
"command": "node",
"args": ["binance-us-mcp-server/build/index.js"],
"env": {
"BINANCE_US_API_KEY": "your_key",
"BINANCE_US_API_SECRET": "your_secret"
}
}
}
}Credits
Built by nich (github.com/nirholas)
๐ข Who's Using This?
Universal Crypto MCP is used by developers and teams building:
๐ค AI Trading Bots - Automated portfolio management
๐ Analytics Dashboards - DeFi monitoring tools
๐ Security Auditors - Token vetting workflows
๐ฆ DeFi Applications - Cross-chain operations
๐ฑ Mobile Apps - Crypto portfolio trackers
๐ Educational Tools - Blockchain learning platforms
Using Universal Crypto MCP? Let us know! We'd love to feature your project.
๐ค Contributing
We welcome contributions of all kinds! Please read our Contributing Guide for details.
Quick Start for Contributors
# Fork and clone the repo
git clone https://github.com/YOUR_USERNAME/universal-crypto-mcp.git
cd universal-crypto-mcp
# Install dependencies
npm install
# Create a feature branch
git checkout -b feat/your-feature
# Make your changes, then run checks
npm run lint # Check code style
npm test # Run tests
npm run test:coverage # Check coverage
# Commit with conventional commits
git commit -m "feat(module): add new feature"
# Push and create a PR
git push origin feat/your-featureCode Style
We use Prettier for formatting and ESLint for linting:
npm run format # Format code
npm run lint # Check types and lint
npm run lint:fix # Auto-fix issuesWays to Contribute
๐ Report bugs
๐ก Request features
๐ Improve docs
๐ง Submit pull requests
โญ Star the repo
๐ License
Apache-2.0 ยฉ nich
๐ Live HTTP Deployment
Universal Crypto MCP is deployed and accessible over HTTP via MCP Streamable HTTP transport โ no local installation required.
Endpoint:
https://modelcontextprotocol.name/mcp/universal-crypto-mcpConnect from any MCP Client
Add to your MCP client configuration (Claude Desktop, Cursor, SperaxOS, etc.):
{
"mcpServers": {
"universal-crypto-mcp": {
"type": "http",
"url": "https://modelcontextprotocol.name/mcp/universal-crypto-mcp"
}
}
}Available Tools (11)
Tool | Description |
| Get crypto prices |
| Market overview |
| Trending coins |
| Search coins |
| Coin details |
| Global stats |
| DeFi protocols |
| Protocol detail |
| Chain TVL |
| Ethereum gas prices |
| Token by contract |
Example Requests
Get crypto prices:
curl -X POST https://modelcontextprotocol.name/mcp/universal-crypto-mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_price","arguments":{"ids":"bitcoin","vs_currencies":"usd"}}}'Market overview:
curl -X POST https://modelcontextprotocol.name/mcp/universal-crypto-mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_market_overview","arguments":{"limit":10}}}'Trending coins:
curl -X POST https://modelcontextprotocol.name/mcp/universal-crypto-mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_trending","arguments":{}}}'List All Tools
curl -X POST https://modelcontextprotocol.name/mcp/universal-crypto-mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Also Available On
SperaxOS โ Browse and install from the MCP marketplace
All 27 MCP servers โ See the full catalog at modelcontextprotocol.name
Powered by modelcontextprotocol.name โ the open MCP HTTP gateway
Available Tools
720 toolsabi_decodeC
ABI decode encoded data back to values
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | The encoded data as hex string | |
| types | Yes | Array of Solidity types (e.g., ['address', 'uint256']) |
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 for behavioral disclosure. It only says 'decode', which implies a pure transformation, but it does not disclose that this is a read-only operation, that it may revert on invalid data, or that it returns a list of decoded values matching the provided types. This lack of detail prevents the agent from anticipating errors or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence that starts with the verb 'decode' and clearly states the input and output. It is appropriately brief for a simple tool, though it could include a bit more context without becoming verbose.
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?
This is a low-complexity tool with two required parameters and no output schema. The description and schema together provide enough to understand its basic function, but the lack of usage guidance and details about return values or error handling leaves the description incomplete for an agent that needs to select it correctly among many related utilities.
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 covers both parameters (types and data) with descriptions, and schema coverage is 100%, so the baseline is 3. The description adds no additional meaning, but the schema already provides sufficient detail for the agent to understand the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'ABI decode encoded data back to values' clearly states the tool's function: decoding ABI-encoded data into human-readable values. The verb 'decode' and resource 'encoded data' are specific. It distinguishes from sibling tools like abi_encode, which performs the inverse operation, though it does not 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?
There is no guidance on when to use this tool versus alternatives such as decode_transaction_data or encode_call_data. The description does not mention typical use cases, prerequisites, or when not to use it. This leaves the agent without context to decide between similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
abi_encodeC
ABI encode parameters (standard Solidity encoding)
| Name | Required | Description | Default |
|---|---|---|---|
| types | Yes | Array of Solidity types (e.g., ['address', 'uint256']) | |
| values | Yes | Array of values corresponding to the types |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure, but it only restates the encoding functionality. It does not specify the output format (e.g., hex string), error behavior, supported Solidity types, or side effects. 'Standard Solidity encoding' adds a small hint but is not sufficient.
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 extremely concise and well-structured, with no wasted words. While it is short and could be seen as under-specified, the length is appropriate for a simple utility tool. It front-loads the key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It does not explain what the encoded output looks like, whether it supports dynamic types, or any special considerations. The schema covers parameters, but the return value and edge cases remain undocumented.
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 already fully documents both parameters with 100% coverage: 'types' is described as 'Array of Solidity types' and 'values' as 'Array of values corresponding to the types'. The description itself adds no additional parameter semantics, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (ABI encode) and the resource (parameters), with 'standard Solidity encoding' indicating which encoding scheme is used. It doesn't explicitly contrast with sibling tools like encode_call_data or encode_packed, but the name and description are sufficiently 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?
There is no guidance on when to use this tool versus alternatives such as encode_call_data, encode_packed, or abi_decode. The description implies usage for encoding parameters but provides no contextual rules or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_liquidityC
Add liquidity to a DEX trading pair
| Name | Required | Description | Default |
|---|---|---|---|
| dex | No | Specific DEX to use | |
| tokenA | Yes | First token address | |
| tokenB | Yes | Second token address | |
| amountA | Yes | Amount of first token (in wei) | |
| amountB | Yes | Amount of second token (in wei) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| slippage | No | Slippage tolerance in percent (default: 1%) | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of disclosing that this is a mutating on-chain transaction requiring a private key and incurring gas costs. The description simply states the intent without explaining that user funds are at risk, that a transaction is signed and broadcast, or that slippage can affect the outcome. The schema includes a security note about privateKey, but the description itself adds no behavioral 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 a single, concise sentence without redundant words or filler. It is front-loaded with the action, making it easy to parse. However, given the tool's complexity (8 parameters, a DeFi transaction), the brevity borders on under-specification, though not enough to lower the score to 3.
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 performs an on-chain transaction, but the description omits essential context: what the result is (e.g., transaction hash), what the user should prepare (approvals, balance checks), and network-specific defaults. With no output schema and no annotations, this description leaves the agent without enough information to invoke the tool safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not elaborate on parameter interactions, typical values, or edge cases; it is entirely dependent on the input schema. Thus, it does not add meaning beyond what the schema already provides.
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 'Add' and resource 'liquidity to a DEX trading pair', making the primary function immediately apparent. However, it does not differentiate from sibling tools like add_liquidity_native, which also adds liquidity but with native tokens, so the scope is not fully 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 no guidance on when to use this tool versus alternatives such as add_liquidity_native or remove_liquidity, nor does it mention prerequisites like token approvals, balance checks, or network considerations. It is a single declarative sentence with no procedural or comparative context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_liquidity_nativeA
Add liquidity with native token (ETH, BNB, MATIC) and another token
| Name | Required | Description | Default |
|---|---|---|---|
| dex | No | Specific DEX to use | |
| token | Yes | Token address to pair with native | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| slippage | No | Slippage tolerance in percent | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| amountToken | Yes | Amount of token (in wei) | |
| amountNative | Yes | Amount of native token (in ether, e.g., '1.5') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states the high-level function without mentioning that this executes an on-chain transaction, requires a private key, applies slippage, or interacts with a DEX. This lacks transparency for a mutating 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 a single, clear sentence with no unnecessary words. It front-loads the core action and directly states the key pairing concept.
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 (7 parameters, 4 required) and no output schema, the description is adequate but incomplete. It doesn't mention that this submits a transaction, consumes gas, or produces a tx hash, but the schema's detailed parameter descriptions partially compensate for this 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 100%, so the parameters are already well-documented. The description adds minimal extra value by clarifying 'native token' and giving examples, but it doesn't significantly enhance parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add liquidity') and the specific resource ('with native token (ETH, BNB, MATIC) and another token'). It distinguishes itself from sibling tool 'add_liquidity' by explicitly mentioning native tokens, making the scope obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the phrase 'with native token' โ an agent can infer to use this tool when adding liquidity with ETH/BNB/MATIC rather than a token-token pool. However, there is no explicit guidance on when to choose this over 'add_liquidity' or any exclusions, leaving room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alert_checkC
Check for triggered alerts
| Name | Required | Description | Default |
|---|---|---|---|
| alertIds | No | Specific alert IDs to check (all if omitted) |
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 only says 'check', implying a read-only operation, but does not disclose whether there are any side effects, required permissions, or what the output contains. This lack of behavioral detail is a significant 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 description is only four words, which is extremely concise. It captures the essence without wasting words, though it may be under-specified. Still, for the level of detail provided, it is appropriately sized.
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 is simple with one optional parameter and no output schema. The description gives the basic idea but does not explain what 'triggered alerts' means or what the response format is. This is adequate for a straightforward check but leaves some 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?
The schema provides a clear description for the single parameter alertIds ('Specific alert IDs to check (all if omitted)'). The description adds no additional meaning beyond the schema, and since schema coverage is 100%, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Check for triggered alerts' clearly states the action (check) and the resource (triggered alerts). It is easy to understand what the tool does, but it does not differentiate itself from the sibling tool 'alert_list', which could also be interpreted as checking alerts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like alert_list, alert_history, or other alert-related tools. The description does not provide context for choosing this tool over similar ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alert_clear_allC
Clear all alerts
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It simply states the action without indicating that clearing all alerts is likely destructive, irreversible, or affects all configured alerts. The agent has no information about side effects or whether confirmation is required.
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 a single, concise sentence with no wasted words. While it is under-specified for a destructive operation, the conciseness itself is appropriate given the zero-parameter schema, though it could be slightly more informative.
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 destructive 'clear all' operation with no annotations and no output schema, the description is severely incomplete. It does not explain what 'alerts' refers to, whether the action is permanent, or what the outcome is. This is a significant gap that could lead an agent to invoke it without adequate understanding.
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 has zero parameters, so the baseline is 4. The description correctly says nothing about parameters, and there is no need to compensate for missing 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 'Clear all alerts' uses a specific verb (clear), resource (alerts), and scope (all), making the purpose immediately clear. It implicitly distinguishes from sibling alert tools by specifying the 'all' scope, though it does not 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 no guidance on when to use this tool versus alert_delete, alert_pause, or others. There is no mention of prerequisites, scenarios, or cautionary notes, leaving the agent without direction for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alert_contract_eventB
Create an alert for specific smart contract events
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Blockchain | ethereum |
| filter | No | Optional filter for event parameters | |
| eventSignature | Yes | Event signature (e.g., 'Transfer(address,address,uint256)') | |
| contractAddress | Yes | Smart contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states 'create an alert' but does not disclose side effects, persistence, notification mechanism, or how to manage created alerts. The agent is left unaware of outcome or lifecycle, which is insufficient for a creation operation.
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 a single sentence with zero redundant words, front-loading the core action and object. It is appropriately sized for the simple operation it describes, making it 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?
The tool has moderate complexity (nested filter, 4 parameters) and no annotations or output schema, requiring the description to explain more about what creating an alert entails. It lacks information on return values, how to verify success, or any prerequisites. The description is too minimal to be fully actionable 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 coverage is 100%, so all four parameters (chain, filter, eventSignature, contractAddress) have descriptions in the schema. The tool description adds no additional semantics beyond those already present, resulting in baseline score as per coverage guidelines.
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 ('create') and resource ('alert for specific smart contract events'), clearly distinguishing it from sibling alert tools like alert_price or alert_gas. Even without naming alternatives, the scope is unambiguous and matches the tool 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?
The description implies usage for smart contract event monitoring, but does not explicitly state when to use this vs alternatives (e.g., alert_price, alert_wallet_activity). No exclusions or context are provided; it relies on the tool name and sibling context to infer appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alert_deleteC
Delete an alert
| Name | Required | Description | Default |
|---|---|---|---|
| alertId | Yes | Alert ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It only states the action without indicating whether deletion is permanent, requires confirmation, affects history, or has any side effects. This is a significant gap for a mutation 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 extremely short and front-loaded, but it is under-specified to the point of being nearly tautological. It is not unnecessarily verbose, yet it sacrifices informational value for brevity.
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 deletion tool with one parameter and no output schema, the description lacks essential context like reversibility, permission requirements, or any behavior beyond the literal action. The sibling tools and schema reveal there is more nuance (e.g., alert_clear_all) that isn't addressed.
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 covers 100% of parameters with a clear 'Alert ID to delete' description. The tool description adds nothing beyond the schema, but the schema itself is sufficient for a single-parameter tool.
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 'Delete an alert' clearly states the verb and resource with the specific action. It is unambiguous for the core purpose, though it doesn't differentiate from sibling alert_clear_all, which is a bulk deletion action.
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 guidance is provided on when to use this tool versus alternatives like alert_clear_all or alert_pause. There are no contextual hints, preconditions, or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alert_gasC
Create an alert for gas price conditions
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Blockchain | ethereum |
| condition | Yes | Gas price condition | |
| targetGwei | Yes | Target gas price in Gwei |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral implications. It only says 'Create an alert' without explaining that this is a persistent side-effecting operation, how to manage the alert afterward, or any prerequisites or limits. The lack of behavioral information is a significant gap for a creation 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 a single, front-loaded sentence with no wasted words. It earns its place by clearly naming the action and subject.
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, and the description does not cover expected return values or subsequent management options (alert_list, alert_pause, etc.). For a side-effecting creation tool in a rich alert ecosystem, this level of information is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description and schema explain that chain, condition, and targetGwei are used for gas price conditions, but neither adds deeper meaning such as how condition and targetGwei interact (e.g., alert when gas price below target). The description contributes minimal value beyond the structured parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function - creating an alert for gas price conditions - using a specific verb and resource. It differentiates from sibling alert tools by specifying 'gas price', unlike alert_price, alert_whale_movement, etc., though it omits details on how conditions are defined.
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 guidance is provided on when to use this tool versus other alert creation tools or how it fits into the alert management lifecycle. The description offers no context for selecting this tool over alternatives like alert_price or alert_contract_event.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alert_historyB
Get history of triggered alerts
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results | |
| alertId | No | Filter by specific alert ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full burden of behavioral disclosure. It only states the basic purpose, omitting any details about return format, pagination, ordering, or the nature of the history. This is minimal for a tool that retrieves data.
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 a single efficient sentence with no unnecessary words. It is front-loaded and to the point, earning 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?
The tool is simple with only two optional parameters, but the description lacks any mention of output structure or usage context. It is minimally viable but has clear gaps, such as missing differentiation from alert_list and no indication of result format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters (limit and alertId) with clear descriptions, achieving 100% coverage. The description adds no additional parameter semantics, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves 'history of triggered alerts', using a specific verb and resource. It distinguishes itself from sibling alert tools by indicating historical data retrieval, though it doesn't explicitly contrast with alert_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like alert_list or alert_check. The description gives no context for choosing this over other alert-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alert_liquidityA
Create an alert for liquidity changes in a pool
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Blockchain | ethereum |
| condition | Yes | Liquidity condition | |
| threshold | Yes | Threshold value (USD for added/removed, % for change) | |
| poolAddress | Yes | Liquidity pool address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It indicates a mutation (create) but does not explain whether the alert is persistent, how it is managed, what response to expect, or any prerequisites. This is insufficient for a creation 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 a single, front-loaded sentence with no filler. It communicates the core purpose immediately.
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 schema covers parameters and the purpose is clear, the tool lacks annotations and an output schema. The description does not explain the alert lifecycle or how the created alert will be managed, making the complete picture incomplete. However, given the simplicity of the tool, it is not severely inadequate.
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 four parameters have descriptions in the schema (100% coverage), including enums for condition and chain and units for threshold. The tool description itself adds no additional parameter details, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Create' and clearly identifies the resource: an alert for liquidity changes in a pool. This distinguishes it from sibling alert tools like alert_price, alert_gas, etc.
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 a user wants to monitor liquidity changes, but it provides no explicit guidance on when to prefer this tool over other alert creation tools. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alert_listB
List all alerts
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status | all |
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, but it only states 'List all alerts' without revealing any behavioral traits such as pagination, ordering, scope (e.g., user-specific vs. global), or whether it returns only current alerts versus historical ones. This is minimal and leaves significant 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 a single succinct sentence, 'List all alerts', that immediately states the tool's purpose. There is no wasted text, and the most important 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?
This is a simple list tool with one optional filter, and the schema covers the filter. However, with no output schema and no mention of what fields or format the alert list returns, the description is only minimally adequate for an agent to fully understand the tool's output and edge cases.
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 fully documents the single 'status' parameter with enum values and a default, yielding 100% schema description coverage. The description adds no parameter-level detail, so it does not improve upon what the schema already provides, warranting the baseline score of 3.
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 'List all alerts' clearly identifies the action (list) and resource (alerts). It is specific enough to convey the tool's core function, though it does not explicitly distinguish itself from the similarly named sibling tool 'alert_history', so it misses the full sibling-differentiation criterion.
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 guidance on when to use this tool versus alternatives like 'alert_history' or 'alert_check'. There is no mention of prerequisites, typical use cases, or exclusions, so it offers no practical usage direction beyond the obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alert_pauseC
Pause an active alert
| Name | Required | Description | Default |
|---|---|---|---|
| alertId | Yes | Alert ID to pause |
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, but it merely restates the tool's name ('Pause an active alert'). It does not explain side effects, reversibility, what happens if the alert is already paused, or whether pausing is idempotent. This adds no value beyond the tool name.
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 one short phrase with no wasted words and is front-loaded. It is appropriately brief for a simple single-parameter tool, though it is quite terse and could have included more helpful context without becoming verbose.
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 a simple schema and no output schema, but with no annotations the description should clarify what pausing entails (e.g., temporary suspension of notifications, effect on ongoing alerts, response behavior). The current description is too sparse to be considered complete for an agent to use correctly without additional assumptions.
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 fully covers the single parameter with a description ('Alert ID to pause'), giving 100% schema coverage. The description itself adds no additional semantic detail about the parameter format, constraints, or behavior, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Pause') and a clear resource ('an active alert'), which clearly states what the tool does. It is distinguishable from sibling alert actions like alert_resume or alert_delete, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not say when pausing is appropriate, what prerequisites exist, or how it differs from deleting or resuming an alert. The qualifier 'active' implies a condition but offers no actionable context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alert_priceC
Create a price alert for a cryptocurrency
| Name | Required | Description | Default |
|---|---|---|---|
| repeat | No | Repeat alert after triggering | |
| symbol | Yes | Token symbol (e.g., BTC, ETH) | |
| condition | Yes | Price condition | |
| targetPrice | Yes | Target price in USD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only says 'create', implying a state change. It does not explain what happens after the alert triggers, whether it repeats, how to manage it, or any required authentication. This is a significant gap for a mutation 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 a single efficient sentence with no filler words. It is appropriately front-loaded, though it could include a bit more context about alert conditions without becoming verbose. It earns a strong score for structure but not a 5 because it omits potentially useful details.
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 state-changing tool with no output schema, the description is minimally complete. It does not explain what the response looks like, whether an alert ID is returned, how the alert is delivered, or how to manage it later. The schema handles parameters but not the tool's effects or lifecycle, leaving the agent without enough context for full usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage with clear descriptions for all parameters (symbol, condition, targetPrice, repeat), including an enum. The description adds no extra meaning beyond the schema, but because the schema is complete, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb+resource structure ('Create a price alert for a cryptocurrency'), and 'price alert' distinguishes it from sibling alert tools like alert_whale_movement or alert_gas. It could be more detailed about the alert conditions, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. It does not mention prerequisites, when a price alert is preferable to other alert types, or that it can be managed via alert_list/alert_delete. The description offers no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alert_resumeB
Resume a paused alert
| Name | Required | Description | Default |
|---|---|---|---|
| alertId | Yes | Alert ID to resume |
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 of behavioral disclosure. It only states the action and gives no information about side effects, idempotency, error conditions, or required permissions.
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 a single concise sentence with no superfluous wording. However, it is so brief that it under-specifies the tool's context, so it is not a perfect 5.
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 tool, the minimal description might be an adequate baseline, but it omits behavioral expectations such as whether the alert must be paused, what the response looks like, and error handling. Since there is no output schema to clarify, the description could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter has a description ('Alert ID to resume'), so the schema already documents the parameter. The description adds no additional semantic context beyond that.
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 ('Resume') and the resource ('a paused alert'), which distinguishes it from related tools like alert_pause and alert_delete. It is specific and 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?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, when the alert should be paused, or contrast with alert_pause and alert_list. The description is purely definitional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alert_wallet_activityB
Create an alert for any activity on a wallet
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Blockchain | ethereum |
| address | Yes | Wallet address to monitor | |
| activityTypes | No | Types of activity to monitor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral transparency burden. It only states that an alert is created; it does not disclose persistence, delivery mechanism, duplicate behavior, permissions, or return value. This is a significant gap for a mutation 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 a single, front-loaded sentence with no filler. Every word contributes to the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is too sparse. It doesn't explain what the alert does after creation, how the result is returned (e.g., alert ID), or how it fits into the alert management workflow (list/pause/delete).
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 3 parameters have schema descriptions (100% coverage), so the baseline is 3. The description adds no extra parameter semantics beyond the phrase 'any activity,' but the schema already documents chain, address, and activityTypes 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 uses a specific verb ('Create') and identifies the resource ('an alert for any activity on a wallet'). It clearly distinguishes from sibling tools like get_wallet_activity (read) and alert_price (specific alert type).
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 guidance is provided on when to use this tool versus alternatives such as alert_whale_movement, alert_contract_event, or ws_subscribe_wallet. It also doesn't mention the alert management lifecycle (alert_list, alert_delete, etc.).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alert_whale_movementB
Create an alert for large transactions on a token or wallet
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Blockchain | ethereum |
| target | Yes | Token address or wallet address to monitor | |
| targetType | Yes | Type of target | |
| minValueUSD | No | Minimum transaction value in USD |
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 of behavioral disclosure. It only states that it creates an alert, without mentioning side effects (e.g., persistence, notification mechanism), prerequisites, or what happens upon creation. This is insufficient for a creation/mutation 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 a single, front-loaded sentence with no redundancy. It conveys the essential purpose efficiently with a clear verb and resource, making it appropriately sized and 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 tool with moderate complexity, the description covers purpose and the schema covers parameters, but it lacks guidance on post-creation behavior (e.g., how alerts are delivered or managed) and doesn't reference sibling alert management tools like alert_list or alert_delete. With no output schema, the agent is left without information on the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions, setting a baseline of 3. The description adds no additional meaning beyond the schema โ 'large transactions' is essentially synonymous with the minValueUSD parameter description. No extra semantic value 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 clearly states it creates an alert for large transactions on a token or wallet, with a specific verb and resource. It distinguishes from other alert tools by focusing on 'large transactions' (whale movements), though it doesn't explicitly differentiate from siblings like alert_wallet_activity or wallet_whale_movements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the primary use case (creating whale alerts) but provides no explicit guidance on when to choose this over alternatives such as alert_wallet_activity or alert_price. No exclusions or alternative recommendations are given, making usage context only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_contract_permissionsC
Analyze a contract for dangerous permissions and admin functions
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| contractAddress | Yes | Contract address to analyze |
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 of disclosing behavioral traits. It only says 'Analyze' with no mention of whether this is a read-only operation, what output format to expect, whether any network calls are made, or any side effects. The description gives no behavioral context beyond the verb itself, which is insufficient for a tool with no annotation support.
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 a single concise sentence with no fluff or redundancy. It front-loads the action and the subject. While it could be slightly more descriptive, the structure is efficient and all the words contribute to the meaning, earning a 4 rather than a 5 because it lacks useful elaboration.
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 security analysis tool with no output schema and no annotations, the description is too terse. It does not explain what 'dangerous permissions' means, what kind of results the agent should expect (e.g., list of risky functions, ownership details), or any caveats about supported networks. This leaves the agent under-informed about the tool's actual capabilities and return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'network' and 'contractAddress' having clear descriptions. The description adds no extra meaning beyond the schema, as it only mentions 'contract' which aligns with the contractAddress parameter. Baseline 3 is appropriate because the schema already documents parameters adequately.
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 ('Analyze') and resource ('a contract') with a clear focus on 'dangerous permissions and admin functions'. This makes the core purpose understandable. However, it does not differentiate from neighboring security analysis tools like analyze_token_security or check_approval_risks, so it misses the sibling differentiation that would earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or alternative tool names. The phrase 'dangerous permissions' implies a security analysis use case, but that is implied rather than explicit, leaving the agent without clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_news_impactA
Analyze potential market impact of a news article. $0.001/request. AI analysis of how news might affect crypto prices.
| Name | Required | Description | Default |
|---|---|---|---|
| articleId | No | Article ID to analyze | |
| articleUrl | No | Or provide article URL directly | |
| targetCoins | No | Specific coins to analyze impact for (e.g., BTC, ETH) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It adds useful context: the cost per request ($0.001) and that it is AI-driven analysis. However, it does not disclose whether articleId or articleUrl is required, how targetCoins affects the analysis, or what the response format looks like. Some transparency is provided, but significant gaps remain.
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 short sentences that are front-loaded with the core purpose, immediately followed by cost and methodology. Every piece of text earns its place with no padding or repetition, making it highly 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?
The tool is low-complexity and the input schema is well-documented, but the absence of an output schema means the description should ideally clarify the return format or the required input combination. It does neither. However, the basic purpose and cost are clear, making it minimally viable for an agent to use effectively.
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 full descriptions for all three parameters (articleId, articleUrl, targetCoins), giving 100% schema coverage. The description adds no additional parameter-level meaning, so the baseline score of 3 applies. It neither compensates for gaps nor adds redundant details.
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: 'Analyze potential market impact of a news article' and specifies the domain ('how news might affect crypto prices'). This verb+resource+scope formulation distinguishes it from news-fetching or summarization sibling tools like 'get_defi_news' and 'summarize_article'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context: when you have a news article and want to assess its potential effect on crypto markets. It does not explicitly name alternatives or exclusions, but the purpose is distinct enough to guide selection. A clear context is present without explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_token_securityC
Analyze a token contract for security risks and red flags
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenAddress | Yes | Token contract address to analyze |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of behavioral disclosure. It only states the analysis intent and does not disclose methodology, read-only nature, network implications, rate limits, or output format.
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 a single sentence that states the purpose directly with no filler. It is efficient and front-loaded, though it could include more detail without becoming verbose.
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 security analysis and the large set of overlapping sibling tools, this one-sentence description is insufficient for an agent to select the tool correctly. It lacks information about what specific checks are performed, what output is returned, and how it differs from other security 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 coverage is 100% as both network and tokenAddress have descriptive text in the schema. The description adds no additional parameter semantics beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Analyze') and resource ('token contract') with a specific purpose ('security risks and red flags'). It is unambiguous but does not differentiate from numerous sibling security tools like detect_rug_pull_risk or goplus_token_security.
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 guidance is provided on when to use this tool versus alternatives such as analyze_contract_permissions or goplus_rugpull_detection. No exclusions, prerequisites, or context are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
approve_nft_for_marketplaceB
Approve an NFT for sale on a marketplace (Seaport/OpenSea)
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenId | No | Specific token ID (omit for collection-wide approval) | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| marketplace | No | Marketplace to approve for | seaport |
| customOperator | No | Custom operator address if marketplace is 'custom' | |
| collectionAddress | Yes | NFT collection contract address |
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 fails to mention that this is an on-chain transaction requiring a private key for signing, likely incurs gas costs, and modifies the NFT's approval state. The only behavioral hint is the parenthetical marketplace names.
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 a single, directly front-loaded sentence with no unnecessary words. It immediately states the action and the target, making it easy to parse.
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?
This is a transaction tool with 6 parameters and no output schema, yet the description provides no information about execution flow, expected results, or prerequisites. The schema covers parameter formats, but the description does not explain what 'approve' entails operationally (e.g., gas, signing, state change).
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 has a 100% description coverage for all 6 parameters, so the tool description does not need to repeat them. The description adds no extra parameter semantics beyond the schema, but the schema itself is sufficiently detailed, warranting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (approve), the resource (an NFT), and the context (for sale on a marketplace, specifically Seaport/OpenSea). This distinguishes it from sibling tools like approve_token_spending (ERC20) and revoke_nft_approval.
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 guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., owning the NFT, being on the correct network) or situations where a different approval tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
approve_token_spendingB
Approve a spender to use your ERC20 tokens
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount to approve (use 'unlimited' for max approval) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| tokenAddress | Yes | ERC20 token contract address | |
| spenderAddress | Yes | Address to approve for spending |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only states the high-level action. It does not disclose that this modifies on-chain state, broadcasts a transaction, requires gas, or carries security risks such as exposing funds to the spender, which is critical for a mutation 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 a single sentence that efficiently conveys the core action with no filler. It is concise and front-loaded, making it easy for an agent to parse quickly.
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 approves token spending, the description is minimal and incomplete. It lacks mention of return values, transaction processing, security implications, or behavior on different networks, leaving important operational context to the schema. Given no output schema and no annotations, this is a significant 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?
The tool description adds no parameter details beyond the input schema, but schema coverage is 100% with descriptive entries for each field. The baseline of 3 applies because the schema already documents all parameters, including the 'unlimited' option for amount and security note for privateKey.
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 the specific verb 'Approve' and clearly identifies the resource ('a spender to use your ERC20 tokens'), which distinguishes it from sibling operations like revoke_token_approval and check_token_allowance. It precisely states what the tool does without ambiguity.
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 guidance on when to use this tool versus alternatives such as checking existing allowances or revoking approvals. It also omits prerequisites, such as ensuring the token address is correct or that the spender address is trustworthy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aptos_estimate_gasB
Estimate gas price for transactions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides no behavioral details beyond the bare function. With no annotations to indicate read-only status, rate limits, or other traits, the burden falls on the description, which only states the basic action. It does not disclose whether this returns a fee estimate, a per-gas-unit price, or any network-specific nuances.
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 extremely concise at five words, with no redundant or extraneous content. It gets straight to the point and is easy to read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and no parameter constraints, the description should at least clarify the return value or chain context. It fails to mention Aptos or how this differs from generic gas tools, making it incomplete for an agent operating in a large tool ecosystem with many similar functions.
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 empty (0 parameters), so per the rubric the baseline is 4. The description does not need to explain parameters, but it also does not add any clarification about what the absence of parameters means (e.g., whether this returns the current network gas price without needing transaction details). This is sufficient given the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Estimate gas price for transactions' clearly identifies a verb (estimate) and a resource (gas price for transactions). However, it does not distinguish this tool from siblings like 'estimate_gas', 'get_gas_price', or 'sui_get_gas_price', which could lead to ambiguity about chain-specific behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention that it is Aptos-specific, nor does it differentiate between estimating for a specific transaction and just fetching the current network gas price. An agent would have no contextual clues about the appropriate invocation scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aptos_get_accountB
Get account information including sequence number
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The Aptos address |
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 only says 'Get' which implies a read operation, but it does not explicitly state that it is non-mutating, describe the output structure, or mention potential errors (e.g., account not 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 a single concise sentence that front-loads the verb and resource. Every word carries meaning, with no filler or redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter getter, the description is minimally viable but leaves gaps. There is no output schema, and the description does not explain the full return payload, error cases, or any network-specific requirements, making it less complete than it could be.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%โthe single 'address' parameter is already described as 'The Aptos address'. The tool description adds no additional semantic detail beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets account information with a specific focus on sequence number. This distinguishes it from sibling tools like aptos_get_balance and aptos_get_account_transactions, though the exact boundaries of 'account information' are not fully elaborated.
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 guidance is provided on when to use this tool versus alternatives such as aptos_get_balance or aptos_get_resources. There are no usage contexts, exclusions, or references to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aptos_get_account_transactionsB
Get transactions for an account
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max transactions to return | |
| address | Yes | The Aptos address |
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 of behavioral disclosure. It merely states 'get transactions' without mentioning pagination, ordering, read-only guarantees, rate limits, or any side effects. This adds little beyond what the tool name already conveys.
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 a single, short sentence with no redundant or filler words. It is front-loaded and easy to parse, though it could arguably include more context while still being concise. Overall it is appropriately sized for the tool's simplicity.
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 is minimally completeโit tells the user what it does but omits potential behavioral nuances like default limit behavior or return format. Since there is no output schema, a bit more detail could improve completeness, but it remains adequate for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with clear descriptions (address is 'The Aptos address', limit is 'Max transactions to return'). The tool description itself does not add further parameter context, but the baseline of 3 applies because the schema already fully documents the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get transactions for an account' clearly states the verb (get) and resource (transactions for an account). It distinguishes itself from the sibling tool aptos_get_transaction by indicating it targets all transactions for an account rather than a single transaction. However, it does not explicitly mention any unique filtering or scope details beyond the account context.
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 retrieving an account's transaction history, but it provides no explicit guidance on when to use this tool versus alternatives like aptos_get_transaction. There are no exclusions or 'use this instead of' statements, so the guidance is only implicit through the naming and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aptos_get_balanceB
Get APT token balance for an address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The Aptos address (0x...) |
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 implies a read-only operation but does not disclose return format, decimal handling, error cases, or network defaults, which are important for a balance lookup 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 a single, focused sentence with no filler or redundant information. It efficiently communicates the tool's core function.
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 tool, the description is adequate but not complete. With no output schema, the agent is left without information about the return value's structure or units, and there is no mention of supported networks or error handling, which would improve usability.
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 fully describes the single 'address' parameter with 'The Aptos address (0x...)', achieving 100% coverage. The description adds no additional semantic value beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('APT token balance'), and specifies the target address. It differentiates from other chain-specific balance tools by explicitly naming APT, though it doesn't explicitly mention Aptos chain context beyond the token symbol.
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 guidance is provided on when to use this tool versus alternatives like market_get_wallet_balance or get_native_balance. There is no mention of prerequisites, address format validation, or network selection, leaving the agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aptos_get_coin_infoC
Get information about a coin type
| Name | Required | Description | Default |
|---|---|---|---|
| coinType | No | The coin type | 0x1::aptos_coin::AptosCoin |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It does not disclose whether the operation is read-only, what specific information is returned, or potential error cases. The description is too minimal to provide meaningful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence with no unnecessary words. It is appropriately concise for the tool's simplicity.
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 lack of output schema and annotations, the description does not explain what 'information' includes or how it will be returned. An agent cannot fully anticipate the tool's response characteristics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter coinType described as 'The coin type'. The description adds no additional meaning beyond the schema, but the schema is sufficient for this simple parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get information about a coin type' clearly states a specific verb (get) and resource (coin type information). It is minimally clear but does not distinguish from related tools like aptos_get_balance, which also deals with coin type 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?
There is no guidance on when to use this tool compared to alternatives such as aptos_get_balance or aptos_get_account. No context or exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aptos_get_eventsC
Get events emitted by a module
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max events to return | |
| address | Yes | The account address | |
| fieldName | Yes | The field name of the event handle | |
| eventHandle | Yes | The event handle struct (e.g., 0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states a read operation but omits behavioral details such as pagination via the limit parameter, event ordering, or whether on-chain state is accessed. There is no mention of return format 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?
The description is concise as a single sentence, but it is under-specified rather than efficiently informative. It lacks structure or elaboration, making it minimally acceptable.
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 has 4 parameters, no output schema, and no annotations, the one-sentence description is insufficient. It does not explain what the returned events data looks like, how to interpret the eventHandle and fieldName, or how the limit parameter affects results, leaving significant 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 coverage is 100%, with each parameter having a description. The tool description itself adds no extra parameter context beyond the schema, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get events emitted by a module' clearly indicates the tool retrieves events, distinguishing it from sibling tools like aptos_get_resources (resources) and aptos_view_function (view functions). However, it doesn't fully specify that it targets a specific event handle rather than all module events, leaving slight ambiguity.
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 guidance is provided on when to use this tool versus alternatives. The description does not mention use cases, exclusions, or conditions under which this tool should be preferred over other Aptos tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aptos_get_ledger_infoB
Get current ledger information
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It only restates the basic action without explaining what fields are returned, whether the operation is read-only, or any other behavioral traits.
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 a single, short sentence with no filler or redundant phrasing. It is front-loaded and directly conveys the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not elaborate on what 'ledger information' includes (e.g., chain height, epoch, version). Given the complexity of blockchain ledger data, this is insufficient for an agent to understand the tool's full scope.
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 has zero parameters, so the description does not need to compensate for undocumented parameters. Baseline of 4 is appropriate for a parameterless tool.
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 'Get' with a clear resource 'current ledger information,' indicating the tool retrieves ledger state. However, it does not differentiate from sibling tools like aptos_get_transaction or xrp_get_ledger_info, and 'ledger information' could be more specific.
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 guidance is provided on when to use this tool versus alternatives. There is no mention of typical use cases, prerequisites, or exclusions, leaving the agent to infer context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aptos_get_modulesA
Get Move modules deployed by an account
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The Aptos address |
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 not disclose any behavioral traits such as return format, error handling, permission requirements, or whether it can return empty results. The description is too terse to satisfy transparency 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?
The description is a single sentence with no redundancy or filler. It is concise and front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is the only source of context. It explains the core function but omits what the response contains (e.g., module data, list of modules). For a simple read tool, it is minimally adequate but has clear gaps regarding output and edge cases.
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 already describes the address parameter with 100% coverage, so the baseline is 3. The description adds the context that the address refers to an account, but this is already implied by the tool's purpose and does not significantly enhance parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('Move modules') with a clear scope ('deployed by an account'). It distinguishes this tool from siblings like aptos_get_resources and aptos_get_account_transactions by naming the exact data returned.
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: if you need the Move modules deployed by an account, use this tool. However, it provides no explicit alternatives or when-not-to-use guidance, leaving the agent to infer context from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aptos_get_resourcesB
Get all resources owned by an account
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max resources to return | |
| address | Yes | The Aptos address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states the action and gives no details about read-only nature, pagination via the limit parameter, error handling, or that resources are on-chain Move resources. This is a minimal and incomplete behavioral picture for a 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 a single, front-loaded sentence that communicates the core purpose efficiently. There is no filler 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?
Given the lack of annotations and output schema, plus many similar Aptos sibling tools, the description is too sparse. It does not explain what constitutes a 'resource', how the response is structured, or how this tool differs from related getters, making it incomplete for reliable selection and 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 input schema covers both parameters (address and limit) with descriptions, so the baseline is 3. The tool description adds no extra meaning beyond the schema, but that is acceptable given full 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 'Get all resources owned by an account' uses a specific verb ('get'), a clear resource type ('resources'), and a scope ('owned by an account'). It clearly distinguishes from sibling tools like aptos_get_balance and aptos_get_modules at a glance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives such as aptos_get_modules or aptos_view_function. It does not mention any exclusion criteria, prerequisites, or recommended contexts, leaving the agent to guess based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aptos_get_transactionB
Get transaction details by hash
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | The transaction hash |
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 merely says 'Get transaction details' without stating whether the operation is read-only, what happens on an invalid hash, auth requirements, or the structure of the returned details. The name implies a read operation, 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 a single concise sentence with no redundant information. It is front-loaded and effectively communicates the core purpose.
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 description is minimal and does not compensate for the absence of an output schema. It does not clarify what 'transaction details' includes, the expected response format, or any edge cases. Given the simplicity of the tool, this is a notable gap 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?
The schema provides a description for the single required parameter 'hash' ('The transaction hash'), and the tool description repeats this. With 100% schema coverage, the baseline is 3; the description adds no additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieve transaction details using a hash. This distinguishes it from sibling aptos_get_account_transactions, which lists transactions by account, and other chain-specific get_transaction 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 use case is implied: when you have a transaction hash and need its details. However, there is no explicit mention of alternatives or exclusions, such as noting that account-level queries should use a different tool. This matches the 'implied usage' level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aptos_view_functionC
Call a view function (read-only)
| Name | Required | Description | Default |
|---|---|---|---|
| function | Yes | The function identifier (e.g., 0x1::coin::balance) | |
| arguments | No | Function arguments | |
| typeArguments | No | Type arguments |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims read-only, but since view functions are inherently read-only in blockchain contexts, it adds little beyond the tool name. No annotations exist to compensate. It fails to disclose return value behavior, potential error conditions, or that the function executes on-chain, which would be necessary 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 extremely concise at one short sentence, front-loading the purpose. While efficient, it omits details that could have been included without bloating, such as an example or context about return values.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is expected to carry more context about the tool's behavior and return values. It does not mention that calling a view function returns its result, nor does it explain how arguments are passed or any constraints. This is too minimal for a tool with three parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides complete descriptions for all three parameters (function, arguments, typeArguments), including an example for function. The tool description adds no additional parameter semantics beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Call a view function (read-only)' clearly identifies the action (call) and resource (view function) specific to Aptos. It is not a tautology and distinguishes from other Aptos tools like get_resources or get_balance, 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?
No guidance is provided on when to use this tool versus alternatives. The description does not mention any exclusions, prerequisites, or scenarios where another Aptos tool (e.g., aptos_get_balance, aptos_get_resources) would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auto_compoundA
Configure auto-compound settings for USDs yield. When enabled, yield is automatically reinvested.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | Yes | Enable or disable auto-compound | |
| autoConvertToUSDs | No | Auto-convert all received payments to USDs | |
| minConversionAmount | No | Minimum amount to trigger conversion | 1.00 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It adds one behavioral detail: 'When enabled, yield is automatically reinvested.' However, it does not state whether this triggers an on-chain transaction, requires specific permissions, costs gas, or is reversible. For a configuration/mutation tool, this is a significant transparency 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 description is exactly two sentences, front-loaded with the primary purpose, and contains no fluff or redundant information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is under-specified for a configuration tool. It does not mention whether the action is a transaction, what the return value indicates, prerequisites (e.g., need for USDs balance or wallet connection), or side effects. The simplicity of the tool masks important operational context.
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 complete descriptions for all three parameters (enabled, autoConvertToUSDs, minConversionAmount), achieving 100% coverage. The tool description adds no additional parameter context, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Configure auto-compound settings for USDs yield.' It specifies the resource (USDs yield) and the action (configure auto-compound), and explains the effect when enabled. This distinguishes it from sibling yield-related read tools like usds_yield_balance or yield_report, which are informational.
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 that this tool is for configuring auto-compound settings, making it obvious it should be used when the user wants to enable/disable auto-compound. It does not explicitly mention alternatives or exclusions, but the context is sufficient given the sibling tools are mostly read-only or other configurations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backtest_strategyB
Backtest a trading strategy against historical data. Cost: $0.5. Returns performance metrics and risk analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | Asset to backtest | |
| end_date | Yes | End date (ISO format, e.g., 2025-12-31) | |
| strategy | Yes | Strategy type | |
| parameters | No | Custom strategy parameters (for 'custom' strategy) | |
| start_date | Yes | Start date (ISO format, e.g., 2025-01-01) |
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 does disclose a key behavioral traitโcost of $0.5โand states the return type. However, it omits other important aspects such as whether this is a simulation (no actual trades), potential latency, data requirements, or any side effects. The cost disclosure adds value, but overall transparency is incomplete for a paid, compute-heavy operation.
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 short sentences, immediately front-loaded with the purpose. Every word adds value: the action, the resource, the cost, and the return type. It is concise and well-structured with no fluff 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?
Given the tool's moderate complexity (5 params, 4 required, nested object, no output schema) and complete lack of annotations, the description is insufficient. It fails to explain what 'performance metrics and risk analysis' concretely include, how to handle the 'custom' strategy, or any constraints on dates/assets. An agent would struggle to know expected outputs or edge cases without additional context.
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 already provides 100% parameter coverage, including descriptions, enums, and a nested object for custom parameters. The description adds no additional semantic meaning beyond the schema, so it meets the baseline but doesn't enhance understanding of how parameters interact or when custom parameters are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Backtest') and resource ('a trading strategy against historical data'). This clearly distinguishes it from sibling tools like strategy_* (which generate signals) or screener_* (which screen assets), making the intention unmistakable.
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 guidance on when to use this tool versus alternatives. It doesn't mention exclusions, prerequisites, or situations where other tools (e.g., strategy_momentum, indicator_*) would be more appropriate. The only contextual hint is the cost, but no 'use this when...' direction is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_check_allowancesB
Check token allowances for multiple token/spender pairs
| Name | Required | Description | Default |
|---|---|---|---|
| owner | Yes | Token owner address | |
| checks | Yes | Array of token/spender pairs to check | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits on its own. 'Check' implies a read-only operation, but the description does not explicitly state it is non-mutating, nor does it mention return format, batch limits, or network behavior. This minimal disclosure leaves the agent to infer behavior 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 a single clear sentence with no filler. It captures the core function and batching aspect, earning 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?
There is no output schema, so the description should explain expected return behavior, but it doesn't. No mention of batch limits, network default (BSC), or read-only confirmation. While the schema documents inputs, the tool's behavioral and output context is incomplete.
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 fully documents all three parameters with descriptions (100% coverage), so the description adds no additional parameter semantics beyond what the schema provides. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Check' with the resource 'token allowances' and clearly scopes to 'multiple token/spender pairs', distinguishing it from the sibling check_token_allowance. This is a clear, specific statement of what the tool 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 implies a batch use case via 'multiple' but provides no explicit guidance on when to use this tool versus alternatives like check_token_allowance or get_token_approvals. There are no stated exclusions or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_resolve_addressesB
Reverse resolve multiple addresses to ENS names
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes | Array of Ethereum addresses |
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 only states the operation and does not mention batch size limits, behavior on invalid addresses, partial failure handling, or output format. For a batch tool, this is a significant absence of information.
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 a single, concise sentence that is front-loaded with the key information. It avoids redundancy and is well-structured for quick comprehension.
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?
Despite the tool's simple surface, it is a batch operation lacking details about limits, error handling, and return values. No output schema exists, so the description should at least hint at the expected result structure. The lack of differentiation from the single-address sibling also leaves a completeness 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?
The input schema already documents the 'addresses' parameter as 'Array of Ethereum addresses' with 100% coverage. The description's 'multiple addresses' adds no new meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Reverse resolve' with a clear resource ('multiple addresses to ENS names'), and the 'multiple' qualifier distinguishes it from the sibling tool reverse_resolve_address. This is a clear and accurate statement of purpose.
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 guidance is provided on when to use this tool versus alternatives. Given the existence of reverse_resolve_address for single addresses, the description should explicitly mention that this tool is for batch operations. The absence of any usage context or comparison to siblings is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_summarize_articlesA
Summarize multiple articles at once. $0.001 per article. More efficient for analyzing multiple articles.
| Name | Required | Description | Default |
|---|---|---|---|
| concise | No | Return shorter summaries for quick overview | |
| articleIds | Yes | Array of article IDs to summarize (max 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It adds a cost factor ('$0.001 per article') which is useful, but it does not mention return format, error handling, or whether the tool is read-only. Given the simple nature of the tool, the transparency is adequate but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: three short sentences that cover purpose, cost, and efficiency. Every sentence provides value, with the main action first. No wasted words or redundant details.
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 simplicity (2 parameters, no output schema), the description covers the essential aspects: what it does, cost, and efficiency context. It lacks details on return format or partial failure behavior, but those are not critical for a straightforward batch summarization tool. Overall, it 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 100% for both parameters (articleIds and concise), so the schema already provides full parameter details. The description adds no additional parameter semantics beyond the schema, so a baseline '3' is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Summarize multiple articles at once.' The verb 'summarize' and resource 'multiple articles' are specific, and it distinguishes itself from the sibling summarize_article by focusing on batch processing. This is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context: 'More efficient for analyzing multiple articles.' This implies when to use it over single-article alternatives, though it does not explicitly name the alternative or state exclusions. The guidance is clear enough for an agent to select this tool for batch tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_transfer_erc20B
Transfer ERC20 tokens to multiple recipients in a single transaction (gas efficient)
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| recipients | Yes | Array of recipient addresses and amounts | |
| tokenAddress | Yes | ERC20 token contract address |
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 only states the action and a benefit, but fails to mention that this is a transaction (requires gas, may fail), whether token approval is needed, atomicity of the batch, or what happens on partial failure. The return type is not described. The privateKey security note is in the schema, not the description, so the description adds minimal behavioral 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 a single concise sentence (10 words) that immediately conveys the core function and a key advantage. Every word contributes value, and it is front-loaded with the action and resource. No fluff or repetition of schema details.
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 this is a transaction tool with no output schema and no annotations, the description should provide more context: what it returns (e.g., transaction hash), prerequisites (approval/balance), atomicity, and error behavior. The schema is detailed for parameters, but the description does not address these operational aspects, making it incomplete for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds the notion of 'multiple recipients' which clarifies the recipients array purpose, but it does not add detail beyond what the schema already provides for network, privateKey, or tokenAddress. The description's contribution to parameter semantics is minimal.
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 (transfer ERC20 tokens), the resource (ERC20 tokens), and the specific scope (multiple recipients in a single transaction). It distinguishes from the single-transfer sibling (transfer_erc20) and highlights gas efficiency, but does not explicitly name an alternative to differentiate against.
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 'multiple recipients in a single transaction' implies when to use this tool (for batch operations) and the gas-efficiency benefit implies a preference over individual transfers. However, it does not explicitly state when NOT to use it or mention alternatives like transfer_erc20, leaving the guidance 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.
batch_transfer_nftsB
Transfer multiple NFTs to one or more recipients
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| transfers | Yes | Array of transfers to execute | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| collectionAddress | Yes | NFT collection contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only says 'Transfer' without disclosing that this executes on-chain transactions, which are irreversible and require gas. It also omits that the private key is used for signing, and there are no annotations to fill this 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 description is a single concise sentence, but it is perhaps too sparse for an operation of this complexity, missing important behavioral details while remaining 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?
This is a transaction-executing tool with no output schema and no annotations. The description fails to mention network behavior, execution effects (irreversibility, fees), or how privateKey is used, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are described in the schema. The description adds no extra semantic context beyond what's already in the schema properties.
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?
'Transfer multiple NFTs to one or more recipients' clearly states the action and scope, distinguishing it from single-NFT transfer tools like transfer_nft and transfer_erc1155.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by 'multiple NFTs' but no explicit guidance is given about when to use this tool versus alternatives, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bitcoin_get_balanceB
Get balance for a Bitcoin address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Bitcoin address to check |
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 only states the basic function without disclosing whether the balance is confirmed/unconfirmed, the unit of the returned value, or any network assumptions (mainnet/testnet). The minimal description offers little beyond the operation itself.
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 a single, clear sentence that front-loads the essential information. It is appropriately concise with 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?
Without an output schema or annotations, the description leaves ambiguity about the return format and units. The tool is simple, but the lack of behavioral disclosure (e.g., what the balance represents, whether it is spendable) makes it incomplete for an agent to rely on.
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 100% coverage with the parameter 'address' described as 'Bitcoin address to check'. The description adds no additional semantic context beyond the schema, but since the schema is fully descriptive, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get balance for a Bitcoin address' clearly states the action (get), resource (balance), and target (Bitcoin address). It distinguishes itself from sibling tools like bitcoin_get_transaction_history and bitcoin_get_network_info by specifying exactly what is being retrieved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, such as other chain balance tools (e.g., aptos_get_balance, solana_get_balance) or Bitcoin-specific validation tools. The description does not mention prerequisites (e.g., address validation) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bitcoin_get_network_infoA
Get current Bitcoin network information including fee rates
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of disclosing behavioral traits. It only says 'Get current Bitcoin network information,' which implies a read-only operation, but it does not explicitly state that it has no side effects, whether authentication is required, or any rate limits. Additional context such as output format or potential latency is absent, leaving the agent with limited understanding of the tool's behavior beyond a basic read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the verb and resource, and includes a useful specific ('including fee rates'). Every word earns its place with no 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 parameters and no output schema, so the description is the only source of information about return values. It mentions fee rates but is vague about what other 'network information' is included. For a zero-parameter getter, this may be sufficient for selection, but it leaves the return structure underspecified.
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 the input schema is trivially complete at 100% coverage. The description does not need to explain parameters, and the baseline of 4 is appropriate since there is no parameter semantics to clarify.
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: 'Get current Bitcoin network information including fee rates.' It uses a specific verb ('Get') and resource ('Bitcoin network information'), and the mention of 'fee rates' adds concrete detail. This distinguishes it from sibling tools for other chains (e.g., ton_get_network_info, litecoin_get_network_info).
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 implication is clear: use this tool when you need Bitcoin network information, especially fee rates. However, there is no explicit guidance on when not to use it or how it compares to alternatives like get_chain_info or bitcoin_get_balance. The context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bitcoin_get_transaction_historyB
Get transaction history for a Bitcoin address
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of transactions to return | |
| offset | No | Number of transactions to skip | |
| address | Yes | Bitcoin address to check |
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 of behavioral disclosure. It does not mention whether unconfirmed transactions are included, the ordering of results, pagination behavior, or any other operational details. For a read operation, this is minimal but lacks useful 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 a single, front-loaded sentence with no wasted words. It efficiently communicates the tool's core purpose 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?
The tool has no output schema, so the description should explain what is returned (e.g., a list of transactions with details). It does not, nor does it mention pagination or result scoping. Given the simple parameter set and lack of annotations, the description is incomplete for a user who needs to understand the response format or usage constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (address, limit, offset) having clear descriptions. The tool description adds no additional parameter semantics beyond what the schema already provides, aligning with the baseline for high 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 gets transaction history for a Bitcoin address, using a specific verb and resource. It distinguishes from sibling Bitcoin tools like bitcoin_get_balance and bitcoin_validate_address, and the chain is explicit in both name and description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as market_get_wallet_transactions or chain-specific history tools. The description simply states what it does without any context about suitable use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bitcoin_validate_addressA
Validate a Bitcoin address format
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Bitcoin address to validate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior, but it only states 'Validate a Bitcoin address format'. It does not specify whether the validation is purely syntactic (regex) or includes checksum verification, what kinds of addresses are supported (legacy, SegWit, etc.), or whether it returns a boolean or throws an error. This leaves significant ambiguity for the agent.
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 a single, direct sentence with no filler or redundant information. It is immediately clear and front-loaded, effectively using its brevity to convey the core purpose.
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 is simple (one parameter, no nested objects) and the schema covers the input fully. However, the absence of any mention of return values or validation strictness leaves a gap for the agent, especially since there is no output schema. The description is minimally sufficient but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the single 'address' parameter already described as 'Bitcoin address to validate'. The description adds the word 'format', which hints at the scope of validation, but it does not enrich the parameter semantics beyond that. Baseline 3 is appropriate since the schema handles 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 'Validate a Bitcoin address format' uses a specific verb (validate) and clearly identifies the resource (Bitcoin address). It distinguishes itself from sibling validators like xrp_validate_address and ton_validate_address through the explicit 'Bitcoin' qualifier.
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 the tool (whenever a Bitcoin address needs format validation), but it provides no explicit guidance on alternatives, prerequisites, or contexts where this tool is preferred over generic validate_address or other chain-specific validators. This meets the 'implied usage' bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
borrow_from_lendingC
Borrow assets from a lending protocol
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | Asset address to borrow | |
| amount | Yes | Amount to borrow (in wei) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| protocol | Yes | Lending protocol (e.g., 'Aave V3') | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| interestRateMode | No | Interest rate mode | variable |
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 of behavioral disclosure. It only states 'Borrow assets from a lending protocol' without mentioning that this is a state-changing operation, that it creates debt, that collateral may be required, or what the return value might be. There is no information about interest accrual, liquidation risks, or interacting with specific protocols.
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 very conciseโa single sentence with no redundancy. It is front-loaded with the core action and resource. While extremely minimal, it does not contain any unnecessary words or 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 complex tool with 6 parameters (including privateKey, protocol, network, and interestRateMode), no output schema, and no annotations, a one-sentence description is inadequate. It does not explain the operation's return value, prerequisites (e.g., needing an existing supply position or collateral), how it interacts with the lending protocol, or any side effects. The schema parameter descriptions help with individual fields but not with the overall context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (asset, amount, network, protocol, privateKey, interestRateMode) having its own description. Therefore, the baseline is 3. The tool description adds no additional parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Borrow assets from a lending protocol' clearly identifies the specific action (borrow) and resource (assets from a lending protocol). It distinguishes this tool from sibling operations like supply_to_lending, repay_to_lending, and withdraw_from_lending, which are separate actions in the same 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?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., supplying collateral first), when not to use it, or explicitly refer to sibling tools for related operations. Usage is only implied by the verb 'borrow' and the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
burn_erc20_tokensB
Burn ERC20 tokens (send to zero address or call burn function if available)
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount to burn (in token units) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| tokenAddress | Yes | ERC20 token contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It mentions the two burn mechanisms but does not warn that burning is irreversible, may fail for tokens without a burn function, or may be prohibited for some contracts. Critical safety information is missing for a destructive operation.
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 a single, front-loaded sentence that directly states the action and mechanism. Every word earns its place, and there is no fluff or redundancy, making it an example of effective conciseness.
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?
This is a complex, irreversible transaction tool with no annotations and no output schema. The description explains the mechanism but fails to mention the permanent nature of burning, the need for gas/network fees, potential token-specific failures, or default network behavior. This is insufficient for an agent to fully understand the tool's implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters (amount, network, privateKey, tokenAddress) are fully documented in the schema. The description adds no additional parameter semantics beyond the tool's general purpose, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's primary action ('Burn ERC20 tokens') and includes the specific mechanism (send to zero address or call burn function if available). This distinguishes it from sibling tools like transfer_erc20 or approve_token_spending, making the purpose unmistakable.
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 guidance is provided on when to use this tool versus alternatives. While the name implies burning, there is no explicit context, exclusions, or references to other token-operations tools, leaving the agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_arbitrageC
Calculate potential arbitrage opportunity between two DEXs
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenIn | Yes | Input token address | |
| amountIn | Yes | Amount to check (in wei) | |
| tokenOut | Yes | Output token address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Calculate' implies a read-only analysis, but it does not disclose what happens during the calculation, whether any transactions are executed, what fees/slippage are considered, or what the output format is. The phrase 'potential arbitrage opportunity' remains vague.
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 a single, well-structured sentence with no wasted words. It is concise and front-loaded, but arguably too brief to be self-sufficient. Still, it is appropriately sized for a simple calculation 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?
The tool has no output schema and no annotations, so the description must explain return values and behavioral context. It does not mention what the output is (e.g., profit, price difference, routes), how the two DEXs are determined, or whether any execution is involved. This leaves significant gaps for an agent to understand the tool fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already documented. The description adds no extra meaning beyond the schema, such as how tokenIn/tokenOut relate to the two DEXs or what 'amountIn' means in this context. Baseline 3 is appropriate since the schema handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Calculate') and resource ('potential arbitrage opportunity between two DEXs'), which is specific and not a tautology. It is distinct from siblings like get_swap_quote or get_best_route because it mentions 'arbitrage' and 'between two DEXs', though it does not explain how the DEXs are selected.
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 usage guidance is provided. There is no indication of when to use this tool versus other DEX-related tools like get_swap_quote, get_price_impact, or execute_swap, nor any prerequisites or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_event_signatureA
Calculate the keccak256 topic hash for an event signature
| Name | Required | Description | Default |
|---|---|---|---|
| signature | Yes | Event signature (e.g., 'Transfer(address,address,uint256)') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must communicate behavior. It accurately indicates the pure computational nature (keccak256 hash) without side effects, but does not disclose the return format (e.g., hex string) or potential input constraints. It does not contradict any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is a single, front-loaded sentence with no wasted words. It immediately states the action and the target, making it both concise and 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?
Given the tool's simplicity, the description and schema are largely sufficient. However, since there is no output schema, mentioning the return type (e.g., hex string) would improve completeness. Still, the purpose is clear and the tool is trivial.
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 covers 100% of parameters with a clear example. The description adds no additional parameter semantics beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Calculate' paired with the resource 'keccak256 topic hash for an event signature'. It clearly distinguishes this from sibling tools like keccak256_hash (generic hashing) and get_event_topic (likely retrieval) by specifying the exact purpose.
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 hashing event signatures to compute topic0, but does not explicitly state when to choose this over alternatives like keccak256_hash or get_event_topic. No exclusions or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_health_factorB
Calculate health factor after a potential action
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action type | |
| amount | Yes | Action amount in USD | |
| currentDebt | Yes | Current debt in USD | |
| currentCollateral | Yes | Current collateral in USD | |
| liquidationThreshold | Yes | Liquidation threshold (e.g., '0.85') |
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 only says 'calculate,' giving no information about side effects, whether it simulates state changes, or what the result represents. It does not contradict annotations because none exist, but it provides minimal insight.
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 a single concise sentence of seven words, conveying the core purpose without any waste. It is front-loaded and every word 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?
Although the schema fully documents parameters, the description lacks context about the return value, formula, or edge cases (e.g., liquidation). For a calculation tool with no output schema, a bit more explanation of what the health factor indicates would be helpful, but the tool is simple enough that the current state is minimally viable.
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 has 100% coverage with descriptions for all five parameters, including the action enum and amount in USD. The description adds no additional parameter semantics, so the baseline score of 3 is appropriate since the schema already handles parameter meaning.
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 calculates a health factor after a potential action, using a specific verb and resource. It distinguishes itself from siblings by focusing on the lending health factor concept, and the phrase 'after a potential action' indicates simulation, which is unique among the listed 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?
No guidance is provided on when to use this tool versus alternatives. The phrase 'after a potential action' implies simulation before executing a lending operation, but there is no explicit context, exclusions, or alternative tool names given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_portfolio_allocationC
Calculate portfolio allocation percentages
| Name | Required | Description | Default |
|---|---|---|---|
| holdings | Yes | Array of holdings with USD values |
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 only states 'Calculate portfolio allocation percentages' but doesn't explain the output structure, edge cases (e.g., empty holdings, zero total value), rounding behavior, or whether it returns a sorted list. This leaves significant 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 a single concise sentence with no wasted words. It is efficient and front-loaded with the key action. However, it may be too terse, lacking additional helpful context, though this is still appropriately sized for a simple utility.
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 output schema and no annotations, the description should clarify what the tool returns and how the calculation is presented. It doesn't mention return format, total percentage, or any special behavior. The description is incomplete for a tool that computes and presumably returns 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 schema has 100% coverage with a description for the holdings parameter ('Array of holdings with USD values') and nested properties. The description adds no extra meaning beyond the schema, so the baseline of 3 is appropriate. The tool's name and description imply the calculation logic, but parameter semantics are sufficiently covered by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates portfolio allocation percentages, which is a specific verb and resource. However, it does not distinguish itself from sibling tools like portfolio_get_summary or portfolio_get_performance, which could also involve allocation calculations. The name adds specificity, but the description alone doesn't differentiate.
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 guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, expected input format beyond the schema, or scenarios where this is the appropriate choice over other portfolio tools. The description simply states what it does without contextual usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_proposal_idB
Calculate proposal ID from proposal parameters
| Name | Required | Description | Default |
|---|---|---|---|
| values | Yes | ETH values for each call | |
| targets | Yes | Target contract addresses | |
| calldatas | Yes | Encoded call data for each target | |
| descriptionHash | Yes | Keccak256 hash of description |
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 only says 'Calculate', implying a pure computation, but does not explicitly state that it is safe, has no side effects, or is deterministic. This leaves the agent uncertain about whether it makes network calls or modifies state.
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 a single, clearly worded sentence with no filler. It is front-loaded with the verb and subject, making it easy to parse it quickly. Every word is meaningful.
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, and the description does not explain the return format, the algorithm (e.g., keccak256 of ABI-encoded data), or any edge cases. An agent cannot confidently use this tool without additional assumptions about the expected computation.
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 complete descriptions for all four parameters (100% coverage), so the baseline is 3. The description adds no additional meaning about how the parameters are combined or any formatting requirements, but it does not need to compensate for schema gaps.
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 ('Calculate') and resource ('proposal ID'), clearly indicating the input is 'proposal parameters'. This is distinct from sibling tools, which are mostly chain queries or transactions, so the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool or any alternatives. It simply states what it does without contextual clues such as 'Use this before submitting a proposal to get the ID'. There is no mention of exclusions or related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_tx_costC
Calculate the cost of a transaction in native tokens and USD
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| gasLimit | Yes | Gas limit for the transaction | |
| gasPriceGwei | No | Gas price in gwei (uses current if not provided) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral context beyond the basic function. It does not explicitly state whether the operation is read-only, what inputs are required, or how the cost is calculated when gasPriceGwei is omitted (though that detail is in the schema). The description is too sparse to cover the safety profile.
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 one concise sentence with no filler or redundancy. It is front-loaded with the action verb and object, making it easy to scan. Although brief, it effectively communicates the core purpose without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and a large sibling list, the description is too incomplete. It does not explain the output format, edge cases, or how this tool relates to similar gas estimation tools. The agent is left without enough context to reliably use the tool beyond what the schema already provides.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters (network, gasLimit, gasPriceGwei) are each documented. The tool description itself adds no additional parameter context beyond the schema, but it does mention 'native tokens and USD' which hints at the output. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates transaction cost in native tokens and USD, with a specific verb and resource. It does not explicitly differentiate from sibling tools like estimate_gas or get_gas_price, but the focus on cost in tokens and USD is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as estimate_gas or get_gas_prices_all_chains. The description does not provide use cases, exclusions, or comparisons, leaving the agent to infer applicability from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_proposalA
Cancel a proposal (only proposer or if proposer's voting power dropped)
| Name | Required | Description | Default |
|---|---|---|---|
| values | Yes | ETH values for each call (in wei) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| targets | Yes | Target contract addresses | |
| calldatas | Yes | Encoded call data for each target | |
| privateKey | Yes | Private key for signing transaction | |
| descriptionHash | Yes | Keccak256 hash of proposal description | |
| governorAddress | Yes | Governor contract address |
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 a key behavioral constraint (who can cancel), but does not mention the on-chain transaction nature, gas costs, or irreversibility. Some context is added, but it remains thin.
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 a single concise sentence that front-loads the action and includes a key condition. Every word adds value, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter governance transaction tool, the description is short but sufficient to convey the core purpose and a critical authorization rule. It lacks return value information, but with no output schema, this is not a major gap. The description adequately situates the tool within the proposal lifecycle.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is already documented. The description adds no parameter-specific details, and the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Cancel') and a specific resource ('a proposal'), with an important scoping condition in parentheses. This clearly distinguishes it from sibling tools like cancel_transaction or get_proposal_details.
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 parenthetical '(only proposer or if proposer's voting power dropped)' provides a clear authorization condition and implies when this tool should be used. It gives useful context but does not explicitly name alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_transactionA
Cancel a pending transaction by sending a 0-value transaction to yourself with the same nonce but higher gas
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| originalTxHash | Yes | The hash of the pending transaction to cancel | |
| gasPriceMultiplier | No | Multiplier for gas price (2 = double gas, range: 1.1-10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses the exact behavioral mechanism โ sending a 0-value self-transaction with a higher gas price โ which goes beyond just saying 'cancel'. It omits some edge-case caveats (e.g., failure if the original tx is already mined, gas cost implications), but the core 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?
A single, front-loaded sentence. No filler. The essential action and method are clear.
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 a modest complexity with four parameters and no output schema. The description explains the purpose and mechanism, but it doesn't mention failure conditions, network defaults, or how this relates to speed_up_transaction. Still, it's complete enough for an agent to select 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?
The schema provides 100% coverage for all four parameters. The description adds meaning by explaining how the parameters fit together: the originalTxHash identifies the transaction to be replaced, privateKey signs the self-transfer, and gasPriceMultiplier controls the higher gas price. This enriches the schema 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 opens with a specific verb ('Cancel'), identifies the resource ('a pending transaction'), and explains the mechanism ('sending a 0-value transaction to yourself with the same nonce but higher gas'). This clearly distinguishes it from sibling tools like speed_up_transaction.
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 establishes a clear condition: it only applies to 'a pending transaction'. This implies when to use it, but it doesn't explicitly contrast with alternatives like speed_up_transaction or state exclusions (e.g., not for confirmed transactions).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cast_voteB
Cast a vote on a governance proposal
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Optional reason for vote | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| support | Yes | Vote type | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| proposalId | Yes | Proposal ID | |
| governorAddress | Yes | Governor contract address |
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 not mention that casting a vote submits an on-chain transaction, may incur gas costs, or requires signing with the private key. The security note about privateKey handling exists only in the schema, not the 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 a single concise sentence with zero filler. It effectively communicates the core action in minimal space, matching the conciseness of the high-scoring example.
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?
Despite a well-documented schema, the description is too minimal for a transaction tool involving private keys and governance voting. It does not explain expected outcomes, error conditions, or the on-chain nature of the operation, leaving the agent under-informed for execution.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description itself adds no parameter-specific meaning beyond the schema, which already documents each parameter thoroughly (e.g., network defaults, support enum, privateKey security).
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 'Cast a vote on a governance proposal' uses a specific verb ('cast') and resource ('vote on a governance proposal'). It clearly distinguishes this action from sibling tools like delegate_votes or queue_proposal, which perform different governance functions.
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 guidance on when to use this tool versus alternative governance actions. It lacks context about prerequisites (e.g., having voting power, proposal eligibility) and does not mention any exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_address_typeA
Determine if an address is a contract, EOA, or known entity
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Address to check | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 states the classification categories and implies a read-only operation, but does not explain the return format, what happens for invalid/unsupported addresses, or what 'known entity' specifically means. This is a minimal disclosure but not misleading.
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 a single, compact sentence that front-loads the action and outcome. Every word contributes to conveying the tool's purpose, with no redundancy or unrelated details.
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 simplicity, the description is adequate but incomplete. It lacks details on the output schema or return values, and does not address edge cases like unsupported networks or address formats. However, the schema covers parameters well, and the tool's narrow scope keeps it from being severely deficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'address' and 'network' already described in the input schema. The description adds no extra meaning beyond restating the operation, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Determine if') and clearly identifies the resource (address type) with three distinct outcomes (contract, EOA, known entity). This distinguishes it from sibling tools like 'is_contract' (which only checks the contract status) and 'validate_address' (which checks format).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context: use this tool when you need to classify an address. It does not explicitly mention alternatives or exclusions, but the purpose is specific enough to guide selection among similar tools. A clearer 'when to use this vs. is_contract' would have earned a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_approval_risksA
Check token approvals for a wallet and identify risky unlimited approvals
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| walletAddress | Yes | Wallet address to check | |
| tokenAddresses | No | Specific tokens to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of transparency. It discloses that the tool identifies risky unlimited approvals, which is a behavioral outcome, but does not explain how risk is determined, whether the operation is read-only, or what data sources are used. Basic context is present, but depth is lacking.
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 a single, well-structured sentence that front-loads the action and purpose. Every word is meaningful, with no redundancy or filler, making it highly 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?
The tool has three parameters and no output schema. The description explains the core function but does not describe the return format, criteria for 'risky' that would help set expectations, or any additional context like network behavior. It is adequate but not fully complete for a decision-support tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptive parameter text in the schema (network, walletAddress, tokenAddresses). The description adds no extra parameter-level meaning beyond what the schema already provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Check token approvals') and a specific resource ('for a wallet'), and further differentiates from sibling tools by adding the risk-assessment goal ('identify risky unlimited approvals'). This distinguishes it from tools like get_token_approvals which likely just list approvals.
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 one needs to check approvals and assess risk, but it does not explicitly mention when to use this tool instead of alternatives like check_token_allowance, batch_check_allowances, or goplus_approval_security. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_contract_ownershipB
Verify contract ownership status - check if renounced, multisig, or EOA
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| contractAddress | Yes | Contract address to check |
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 disclosing behavior. It communicates the high-level output categories (renounced, multisig, EOA) but does not state whether this is a read-only operation, what the exact return format is, how errors are handled, or what 'renounced' means in practice. This falls short of the transparency expected without annotation support.
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 a single sentence, front-loaded with the action, and every word adds value. It avoids redundancy or irrelevant detail, making it highly concise and 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?
Given the simplicity of the tool (one required param, one optional with default, no output schema), the description conveys the core purpose. However, it lacks detail about the result's structure or exact return values, and does not clarify edge cases (e.g., non-contract addresses). This is adequate but leaves gaps for an agent trying to interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'contractAddress' and 'network' have descriptive text in the schema. The tool description adds no parameter-specific semantics beyond what's in the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: verifying contract ownership status by classifying it as renounced, multisig, or EOA. It uses a specific verb ('Verify') and resource ('contract ownership'), and the scope is well-defined. However, it does not explicitly contrast with sibling tools like 'is_contract' or 'analyze_contract_permissions', so it misses the extra distinction that would earn 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: use this tool when you need to determine if a contract is renounced, multisig, or EOA. However, it provides no explicit 'when not' guidance, alternatives, or contextual prerequisites. The implied usage is clear but not elaborated, so a score of 3 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_ens_availabilityA
Check if an ENS name is available for registration
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ENS name to check (without .eth) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. 'Check if' implies a read-only operation, which is disclosed. However, it does not clarify the meaning of 'available' (e.g., not registered, not reserved) or the response format, leaving some 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?
One concise sentence that directly states the tool's purpose with no fluff. Every word 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?
The description is adequate for a simple one-parameter tool, but with no output schema, it does not explicitly state what the caller receives (e.g., boolean). It also lacks any context on edge cases like normalization or case sensitivity. Overall, it leaves minor gaps but is not severely incomplete.
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 description covers 100% of the parameter, including the important detail 'without .eth'. The tool description adds no additional parameter semantics, but the baseline is 3 due to high 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?
Description clearly states the verb 'check' and the resource 'ENS name availability', distinguishing this from sibling ENS tools like resolve_ens_name or get_ens_name_details by specifying the purpose is registration availability.
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 clearly implies when to use the tool (before registering an ENS name) and what it checks (availability). However, it does not explicitly mention alternatives or exclusions, so it lacks the full explicit guidance of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_mev_exposureB
Analyze a pending or proposed transaction for MEV exposure (sandwich attack, frontrunning risk)
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Target contract address | |
| data | Yes | Transaction calldata (hex) | |
| value | No | ETH value (in wei) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| slippageTolerance | No | Slippage tolerance percentage (e.g., 0.5 for 0.5%) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. The verb 'Analyze' implies a read-only operation (no transaction submission), which is a useful behavioral trait. It also discloses the scope of the analysis (sandwich attacks, frontrunning risk). However, it does not mention whether this simulates the transaction, returns a risk score, or has side effects, leaving gaps in 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 a single, front-loaded sentence that concisely conveys the tool's purpose. Every word earns its place, with no filler or repetition. It efficiently captures the core action and risk types in a compact format.
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 what but not the how or the output. Since there is no output schema, the agent does not know what the tool returns (e.g., a risk score, vulnerability report, or boolean). For an MEV analysis tool with five parameters, more context about the result format would significantly improve completeness.
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 has 100% coverage, with descriptions for 'to', 'data', 'value', 'network', and 'slippageTolerance'. The description adds no parameter-specific details beyond what the schema already provides. Since the schema does the heavy lifting, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Analyze a pending or proposed transaction for MEV exposure', with specific examples of 'sandwich attack, frontrunning risk'. This gives a specific verb (Analyze) and resource (pending/proposed transaction). While it doesn't explicitly contrast with sibling tools like get_mev_protection_info or simulate_transaction, the action and scope are distinct enough to understand its purpose.
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 a transaction and want to check MEV risk, use this tool. However, it provides no explicit guidance on when not to use it or which alternatives to choose (e.g., get_mev_protection_info, send_private_transaction). The context is clear but lacks exclusion criteria or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_nft_approvalC
Check if an operator is approved to manage NFTs
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenId | No | Specific token ID to check (for single token approval) | |
| ownerAddress | Yes | NFT owner address | |
| operatorAddress | Yes | Operator address to check | |
| collectionAddress | Yes | NFT collection contract address |
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 only states the purpose and does not explain what 'approved to manage NFTs' means (e.g., ERC721 setApprovalForAll vs token-level approval), whether it checks both, or what the return value indicates. The absence of any behavioral detail is a significant 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 description is a single concise sentence of ten words with no filler or redundant information. It is front-loaded with the core action, making it easy to parse, though it sacrifices depth for brevity.
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 (NFT approval concepts) and lack of an output schema, the description is incomplete. It does not explain what a positive result means, how the underlying approval standard works, or what parameters like tokenId imply. The schema partially clarifies, but the description alone leaves the agent without enough context to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all five parameters described in the input schema. The tool description adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 applies; it does not compensate for any gaps.
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 ('Check') and resource ('operator approved to manage NFTs'), making the core function clear. It distinguishes itself from sibling tools like approve_nft_for_marketplace and revoke_nft_approval, though it could be more explicit about whether it covers both collection-wide and per-token approvals.
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 guidance is provided on when to use this tool versus alternatives. Sibling tools like check_nft_ownership and approve_nft_for_marketplace exist, and the description does not explain how this check differs or when it is appropriate to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_nft_ownershipC
Check if an address owns a specific NFT
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenId | Yes | Token ID to check | |
| collectionAddress | Yes | NFT collection contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavior. It does not state return type, whether the operation is read-only, or how the missing address parameter is resolved. The mismatch between the description's 'address' and the schema's lack of an address parameter also undermines behavioral 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 concise (one sentence) and front-loaded, with no wasted words. However, its brevity omits critical information about the address ambiguity, making it under-specifying rather than helpfully concise.
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?
This tool has no output schema, no annotations, and a misleading description. The critical omission of an address parameter means an agent cannot correctly invoke the tool as described. The tool is incomplete and likely unusable without additional context.
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 covers all parameters (100% description coverage), but the description actively misleads by referencing an 'address' that doesn't exist in the schema. This adds negative value beyond the schema, as it could cause an agent to search for a nonexistent parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Check if an address owns a specific NFT'), but it mentions an 'address' that is not present in the input schema (which only accepts collectionAddress, tokenId, and network). This creates confusion about which address's ownership is being checked, making the purpose misleading relative to the actual parameters.
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 guidance is provided on when to use this tool vs. alternatives like get_nfts_by_owner or check_nft_approval. The description also fails to explain how to specify the owner address, which is essential for usage and is not addressed by the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_price_feed_healthC
Check if a price feed is stale or unhealthy
| Name | Required | Description | Default |
|---|---|---|---|
| pair | Yes | Price pair to check | |
| maxAge | No | Maximum acceptable age in seconds (default: 3600) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral transparency, but it only states the purpose. It does not disclose what 'unhealthy' means, whether the tool returns a boolean or detailed report, or if it performs any read-only guarantees. This leaves significant 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 a single, clear sentence with no redundant wording. It is appropriately sized for a straightforward health-check tool and is front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and annotations, the description should provide more context about how the health check behaves and what the result looks like. It only says 'stale or unhealthy' without explaining thresholds, return values, or side effects, making it incomplete for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all three parameters with descriptive text: pair, maxAge, and network. The description itself adds no parameter details, but per the schema coverage baseline of 3, this is acceptable since the schema carries the parameter meaning.
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's purpose: checking whether a price feed is stale or unhealthy. The verb 'check' and the resource 'price feed' are specific, and 'stale or unhealthy' conveys the health-check angle. It distinguishes itself from plain price querying tools, though it does not explicitly name alternative 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 provides no guidance on when to use this tool versus other price feed tools like get_chainlink_price or get_available_price_feeds. It lacks any context about appropriate scenarios, preconditions, or alternatives, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_token_allowanceB
Check ERC20 token allowance for a spender
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| ownerAddress | Yes | Token owner address | |
| tokenAddress | Yes | ERC20 token contract address | |
| spenderAddress | Yes | Spender address to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full transparency burden. The word 'Check' implies a read-only operation, but the description does not explicitly state that it makes no state changes, nor does it disclose any rate limits, authorization requirements, or return format. This is minimal disclosure for a read operation.
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 a single, front-loaded sentence that states exactly what the tool does without any superfluous information. Every word earns its place, making it an exemplary concise description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with a fully documented schema, the one-line description is adequate but has gaps. It does not clarify how this tool relates to similar siblings, nor does it mention the network parameter or default behavior (which is in the schema, but the description could add context). The lack of an output schema means the agent does not know what the response looks like, and the description does not compensate.
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 100% coverage of all four parameters, each with a clear description. The tool description adds no additional parameter semantics, but since the schema already documents them thoroughly, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Check') and the resource ('ERC20 token allowance for a spender'), which is specific and unambiguous. However, it does not explicitly distinguish itself from closely related sibling tools like 'get_token_approvals' or 'batch_check_allowances', so it lacks explicit 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 provides no guidance on when to use this tool versus alternatives. Siblings such as 'batch_check_allowances' or 'get_token_approvals' exist, but the description does not mention them or any criteria for choosing one over the other. There is no mention of prerequisites, network-specific context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_vote_eligibilityB
Check if an address can vote on a proposal
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Address to check | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| proposalId | Yes | Proposal ID | |
| governorAddress | Yes | Governor contract address |
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 not state that the tool is read-only, what criteria determine eligibility (e.g., token balance, delegation), or what the return format looks like. This is a significant gap for a governance check.
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 a single, front-loaded sentence that immediately communicates the tool's action and target. Every word earns its place, and there is no redundancy or 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 tool with 4 parameters and no output schema, the description is under-specified. It fails to explain what 'can vote' means in practice (e.g., whether it checks voting power, proposal state, or delegation), nor does it describe the response shape. This leaves the agent with insufficient context to fully anticipate the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% parameter coverage with descriptions for all four parameters. The description text does not add any extra semantic meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'check' with a clear resource: 'vote eligibility on a proposal'. This clearly distinguishes it from sibling tools like cast_vote or get_voting_power, which perform different actions related to voting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not explain if this should be called before casting a vote, nor does it differentiate from similar governance tools such as get_voting_power or get_proposal_details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
claim_staking_rewardsB
Claim pending staking rewards
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| stakingContract | Yes | Staking contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits but only states the action. It does not mention that this is a state-changing transaction, potential gas costs, or that it submits a transaction to the network. No warnings about irreversibility or security considerations beyond the schema's private key note.
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 a single, concise sentence that is front-loaded and contains no fluff. It efficiently conveys the core action without wasting words, earning 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?
For a transaction tool with no annotations and no output schema, the description is incomplete. It does not indicate return values (e.g., transaction hash), network requirements, or any post-claim behavior. The minimal description leaves the agent without adequate context to handle the tool's effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the individual parameter descriptions already provide meaning for network, privateKey, and stakingContract. The tool description adds no additional parameter-specific detail, so the baseline score of 3 applies as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Claim pending staking rewards' uses a specific verb and resource, clearly distinguishing this from sibling tools like stake_tokens, unstake_tokens, and get_staking_position. It precisely conveys the action of claiming rewards.
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 guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, such as having a staking position or being on a supported network, nor does it note exclusions or when to use other staking tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coingecko_get_coin_infoA
Look up contract addresses and chain information for a token using its CoinGecko ID. Use coingecko_search first to find the correct CoinGecko ID before using this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | CoinGecko coin ID (get this from coingecko_search) | |
| tickers | No | Include ticker data | |
| sparkline | No | Include sparkline data | |
| marketData | No | Include market data | |
| localization | No | Include localized data | |
| communityData | No | Include community data | |
| developerData | No | Include developer data |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. The verb 'look up' implies a read-only operation, but it doesn't disclose response format, default behavior of the optional flags, rate limits, or any potential side effects. It adds no additional behavioral context beyond what the verb suggests, so the agent is left guessing about the output structure and what data is returned when flags are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. The first sentence states the purpose, and the second provides a necessary prerequisite. No unnecessary words or repetition of schema details. It is front-loaded 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?
The tool has 7 parameters, no output schema, and no annotations. The description only covers the primary use case (contract addresses/chains) and never mentions the optional flags that substantially shape the response. An agent might not know whether all data is returned by default or whether flags are needed to include additional data. The workflow hint is good, but the lack of detail about the response and optional data makes the description incomplete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for each parameter, giving a baseline of 3. The description adds value by instructing to use coingecko_search to obtain the id, which directly informs how to fill the required parameter. This extra context for the id parameter goes beyond the schema and is genuinely useful 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 states the verb 'look up' and resource 'contract addresses and chain information for a token using its CoinGecko ID'. It distinguishes from sibling tools like coingecko_get_prices by focusing on contract addresses and chain info, and also implicitly differentiates from market_coingecko_contract which works by contract address. However, it undersells the broader capabilities implied by the optional boolean parameters (tickers, marketData, etc.), making the primary purpose clear but incomplete.
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 instructs to 'Use coingecko_search first to find the correct CoinGecko ID before using this tool', providing a clear prerequisite and workflow. It also names the specific sibling tool to use first. However, it doesn't discuss when to prefer this over other coin-info tools like market_coingecko_contract or market_get_coin_by_id, leaving some ambiguity about alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coingecko_get_global_dataA
Get global cryptocurrency market data including total market cap, volume, and dominance
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It discloses that the tool retrieves market-wide metrics, which implies a read-only operation, but it does not mention data freshness, currency baselines, or whether this is a current snapshot. These gaps prevent a higher score.
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 a single, well-structured sentence that conveys the tool's purpose without redundancy. Every word 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?
For a simple, zero-parameter tool with no output schema, the description sufficiently covers the main content. It could be improved by noting that it returns current global market data, but the low complexity and clear output overview make it mostly 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?
The input schema has zero parameters, so there is nothing to document. The description adds value by clarifying what the returned data includes, which is sufficient given the parameterless nature.
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 retrieves global cryptocurrency market data and specifies three key metrics (market cap, volume, dominance). This is a specific verb+resource pairing that distinguishes it from sibling tools like coingecko_get_prices or coingecko_get_coin_info.
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 through the reference to global market data, but it does not explicitly state when to use this tool versus alternatives such as market_get_global or coingecko_get_trending. No exclusions or alternative tool names are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coingecko_get_pricesB
Get current prices of tokens using their CoinGecko IDs. Must provide valid CoinGecko IDs (use coingecko_search to find IDs first).
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Array of CoinGecko token IDs | |
| vsCurrencies | Yes | Array of currencies to get prices in (e.g., ['usd', 'eur']) | |
| include24hrVol | No | Include 24h volume data | |
| includeMarketCap | No | Include market cap data | |
| include24hrChange | No | Include 24h price change data | |
| includeLastUpdatedAt | No | Include last updated timestamp |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full responsibility for behavioral disclosure. It only mentions the requirement for valid CoinGecko IDs and the search prerequisite. It does not disclose the response structure, handling of invalid IDs, rate limits, or how optional include parameters affect the output. This is a significant gap for a tool with no output 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 two sentences, front-loaded with the primary purpose, and contains no waste. Every word earns its place: it states the action, the resource, and the key prerequisite.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should clarify the return format and behavior. It only says 'get current prices' without explaining the mapping of IDs to currencies, error handling, or how the optional include flags alter the response. The schema covers parameter details, but the tool's output and edge-case behavior are under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful context for the 'ids' parameter by instructing to use coingecko_search first, which goes beyond the schema's simple 'Array of CoinGecko token IDs'. It does not add detail for other parameters, but the extra guidance for the most critical parameter justifies a 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?
The description clearly states the tool's purpose with a specific verb and resource: 'Get current prices of tokens using their CoinGecko IDs.' It distinguishes itself from sibling tools like coingecko_search by referencing the prerequisite of using search first, though it doesn't explicitly differentiate from other price-related tools like market_coingecko_simple_price.
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 prerequisite: 'Must provide valid CoinGecko IDs (use coingecko_search to find IDs first).' However, it does not mention alternatives, when not to use this tool, or any exclusions. The guidance implies the workflow of searching first but lacks comparative usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coingecko_get_trendingB
Get trending coins on CoinGecko based on user searches
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 only adds that the trending data is based on user searches, without disclosing response format, rate limits, or any other behavioral traits.
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 a single sentence of eight words, front-loaded with the key action and resource. Every word contributes meaning; there is no redundancy or wasted space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter read-only tool, the description is adequate but minimal. It does not describe what the returned trending coin list contains (e.g., coin IDs, prices, market cap rank) or any error conditions, which would be helpful given the absence of an output schema or annotations.
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 and an empty schema, so there is nothing to document. The description appropriately says nothing about parameters, matching the baseline of 4 for tools with no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('trending coins'), and the source ('CoinGecko') with the basis of user searches. It implicitly distinguishes from sibling tools about prices or pools, but does not explicitly differentiate from the near-duplicate market_coingecko_trending, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as market_coingecko_trending or geckoterminal_trending_pools. No context, prerequisites, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coingecko_searchA
Search for coins by ticker symbol OR name to get their CoinGecko ID. Only search with one term - either ticker (e.g., 'BTC', 'BERA') or name (e.g., 'Bitcoin', 'Berachain'), but not both. Use this first to find the coin's CoinGecko ID before querying detailed information.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (e.g., 'BTC' or 'Bitcoin', but not 'BTC Bitcoin') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It clearly conveys a read-only search that returns a CoinGecko ID, but it does not disclose behaviors such as multiple-match results, no-match handling, response structure, or case sensitivity.
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 three sentences, front-loaded with the core purpose, and every sentence adds value. It is concise, readable, and free of 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?
The tool is simple (one required parameter, no output schema, no nested objects), and the description explains the primary output (CoinGecko ID) and intended sequencing. However, without an output schema it does not clarify what happens with ambiguous or missing matches, leaving an important gap for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the 'query' parameter. The description adds extra examples and reinforces the 'not both' constraint, but these are largely redundant with the schema's own example ('BTC' or 'Bitcoin', but not 'BTC Bitcoin'). No new parameter-level semantics are 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 ('Search') and clearly identifies the resource (coins) and the goal (get their CoinGecko ID). It distinguishes this tool as a first-step lookup before querying detailed information, though it does not explicitly differentiate from the similarly named sibling market_coingecko_search.
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 usage context: use when you need a CoinGecko ID before detailed queries, and only provide one search term (ticker OR name, not both). It lacks an explicit alternative tool recommendation, 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.
compute_contract_addressA
Compute the address where a contract will be deployed (CREATE opcode)
| Name | Required | Description | Default |
|---|---|---|---|
| nonce | Yes | Transaction nonce of the deployer | |
| deployer | Yes | Address that will deploy the contract |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It clarifies that this computes a deployment address (not actual deployment) and specifies the CREATE opcode, but it does not disclose whether the computation is deterministic, the return format, or any prerequisites like nonce correctness. For a pure computational tool, the behavior is fairly clear, but more detail would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundancy. It includes the key detail (CREATE opcode) that distinguishes the tool, earning every word.
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 deterministic computation with two fully documented parameters and no output schema, the description is reasonably complete. It names the opcode and the purpose, though it could optionally mention that it returns an address string or that nonce is an integer, but these are implied by the schema and tool 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?
The schema already provides full documentation for both parameters (deployer and nonce) with descriptions, so the baseline is 3. The description adds no additional parameter semantics beyond what the schema already covers.
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 ('Compute') and clearly identifies the resource ('the address where a contract will be deployed'). Mentioning the 'CREATE opcode' distinguishes it from CREATE2-related siblings like compute_create2_address and predict_create2_address.
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 mention of the CREATE opcode implies a distinction from CREATE2 tools, but there is no explicit guidance on when to use this tool versus alternatives. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_create2_addressA
Compute deterministic contract address for CREATE2 deployment
| Name | Required | Description | Default |
|---|---|---|---|
| salt | Yes | 32-byte salt (hex) or string to hash | |
| factory | Yes | Factory/deployer contract address | |
| initCodeHash | Yes | Keccak256 hash of init code (bytecode + constructor args) |
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 implies a pure computation (deterministic address) and no on-chain interaction, but it does not explicitly state that it is a read-only operation, does not deploy anything, or specify the output format (e.g., checksummed address). For a simple non-mutating tool, the description is adequate but not rich.
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 a single, focused sentence of eight words. It is front-loaded with the action and purpose, with zero wasted words or redundant information. This is a model of conciseness.
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 is simple and the parameter schema is comprehensive, but the description omits the return value format (the computed contract address). Since there is no output schema, the description should at least state that the output is the contract address and in what form (e.g., checksummed hex). Given the simplicity, this is a minor gap but prevents a higher 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?
The schema descriptions cover all three parameters with 100% coverage, so the baseline is 3. The tool description adds no new parameter context (e.g., salt encoding, hash format) beyond what the schema already provides. The parameter descriptions in the schema are clear, so no penalty, but also no bonus for description-level parameter 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 uses a specific verb ('Compute') and clearly identifies the purpose: determining a deterministic contract address for CREATE2 deployment. This distinguishes it from sibling tools like compute_contract_address (which handles CREATE) and deploy_create2 (which actually deploys).
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 guidance is given on when to use this tool versus alternatives. There is no mention of prerequisites, such as needing the factory address and init code hash before deployment, or differentiation from predict_create2_address. The description merely states what it does without any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
concat_hexC
Concatenate multiple hex strings together
| Name | Required | Description | Default |
|---|---|---|---|
| hexStrings | Yes | Array of hex strings to concatenate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears the full burden of behavioral disclosure. It only states the concatenation action, without mentioning consequences for malformed hex, handling of 0x prefixes, or any output format details. This leaves important behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. It is appropriately concise for a simple utility, though the brevity comes at the cost of missing operational details.
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 utility with one parameter and no output schema, the description is nearly sufficient, but it omits details about 0x prefix handling, input validation, and the exact output format. These gaps prevent it from being fully complete 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?
The input schema fully describes the only parameter as an array of hex strings, and schema coverage is 100%. The description adds no additional semantic meaning beyond what the schema already provides, so it meets the baseline for high 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 operation ('Concatenate') and the resource ('multiple hex strings'). It is specific and unambiguous, though it does not explicitly differentiate from sibling hex utilities such as pad_hex or slice_hex.
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 guidance on when to use this tool versus alternatives, no exclusions, and no prerequisites. It simply describes the operation without contextual or decision-oriented information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
configure_breaking_alertsA
Set up breaking news alerts. $0.05/day. Receive push notifications via Discord, Telegram, SMS, or webhooks.
| Name | Required | Description | Default |
|---|---|---|---|
| coins | No | Coin symbols to track (e.g., 'BTC', 'ETH', 'SOL') | |
| sources | No | Limit to specific news sources | |
| duration | No | Alert duration | 1day |
| keywords | No | Keywords to monitor (e.g., 'bitcoin', 'sec', 'etf') | |
| webhookUrl | No | Custom webhook URL | |
| discordWebhook | No | Discord webhook URL for notifications | |
| telegramChatId | No | Telegram chat ID for notifications |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It adds useful context like the $0.05/day cost and supported notification channels, but does not disclose important behavior such as whether this creates a new configuration, overwrites an existing one, or requires prior authentication. This is a moderate but incomplete 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 exceptionally concise, two sentences that deliver the core purpose, pricing, and delivery options without waste. Every phrase adds value, and it is front-loaded with the action verb.
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 the essential gist but is sparse on operational context. It does not explain what 'configure' entails, whether the operation is cumulative or replacement, or what happens after configuration. Given the absence of an output schema and the presence of 7 optional parameters, a bit more context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents all parameters. The description adds a bit of context by mentioning notification channels (matching discordWebhook, telegramChatId, webhookUrl) but does not substantially go beyond the schema's parameter descriptions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb+resource: 'Set up breaking news alerts.' It also lists the delivery channels (Discord, Telegram, SMS, webhooks) and pricing, which differentiates it from sibling tools like get_breaking_crypto_news (which retrieves news) and alert_* tools (which manage existing alerts).
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 implicitly indicates use for setting up breaking news alerts, but it does not provide explicit guidance on when to use this tool versus alternatives like subscribe_news_firehose or the alert_* management tools. No exclusions or competing-context guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cosmos_get_accountA
Get account information including sequence and account number
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain ID | cosmoshub |
| address | Yes | The Cosmos address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. The verb 'Get' clearly indicates a read-only operation, and the mention of 'sequence and account number' hints at response contents. However, it adds no extra context about error behavior, required permissions, or chain defaulting, which would enhance 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 a single concise sentence, front-loaded with the main action and resource. It contains no filler or redundancy, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with full schema coverage and no output schema, the description provides adequate context by naming the key returned fields (sequence, account number). It does not enumerate all possible response fields, but the phrase 'including' reasonably implies there may be more, which is acceptable for this low-complexity 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 100%: both 'chain' and 'address' are described in the input schema. The description adds no additional parameter semantics beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'account information', and adds specificity by mentioning 'sequence and account number'. This distinguishes it from sibling tools like cosmos_get_balance, which focuses on balances, though it does not 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 implies its usage: it is for retrieving account-level details such as sequence and account number. However, it does not provide explicit guidance on when to prefer it over other cosmos_get_* tools or mention exclusions, leaving the agent to infer from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cosmos_get_balanceC
Get the balance of a Cosmos SDK chain address
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain ID (cosmoshub, osmosis, juno, etc.) | cosmoshub |
| address | Yes | The Cosmos address (cosmos1...) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for disclosing behavior. It correctly implies a read-only operation but doesn't state whether the balance is in base units, which native asset is returned, or any rate limits/errors. This is a significant gap for a tool without annotation support.
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 a single, efficient sentence that front-loads the action and resource. It contains no filler or redundancy, though it could be more informative while staying concise.
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 no output schema and no annotations, the description is too sparse. It doesn't mention that the returned balance is native-token-only, the denomination/unit of the result, or any behavior like unsupported chain errors. An agent would have to guess at response handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the schema (address format, chain ID examples and default). The description adds no extra parameter context beyond what the schema provides, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Get') and identifies the resource ('balance of a Cosmos SDK chain address'), which clearly distinguishes it from other cosmos_get_* siblings. It doesn't specify whether this is the native token balance, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool instead of alternatives like cosmos_get_delegations or cosmos_get_rewards. There are no explicit exclusions or context about the returned asset type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cosmos_get_delegationsB
Get staking delegations for an address
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain ID | cosmoshub |
| address | Yes | The delegator address |
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 only states it is a get operation, providing minimal transparency. It does not disclose whether the chain parameter defaults, how delegations are returned (e.g., active, unbonding), or if there are any pagination or edge-case behaviors.
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 a single, concise sentence with no filler words. It front-loads the core information and every word is relevant, earning top marks for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a very terse description, the tool lacks context about return values, expected response structure, or special cases (e.g., empty delegations). Given the tool's simplicity, this is acceptable as a minimal identifier, but it fails to fully equip an agent for correct invocation and interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% because both parameters have descriptions. The description adds no additional meaning beyond restating 'for an address', which is already in the schema. It does not explain the chain parameter's role or default behavior, so it remains at the baseline.
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 'Get staking delegations for an address' clearly identifies the action (get), the resource (staking delegations), and the target (address). It distinguishes from sibling tools like cosmos_get_rewards and cosmos_get_balance, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you need staking delegations for an address) but does not explicitly state this or mention alternatives. There are no exclusions or comparisons with similar Cosmos tools, leaving some ambiguity for an agent choosing between delegation and reward queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cosmos_get_ibc_channelsB
Get IBC channels for cross-chain transfers
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain ID | cosmoshub |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description adds no behavioral context beyond what the name implies. It does not mention whether results are paginated, whether the operation is read-only, or what data is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundant words. It is appropriately sized for a tool with one parameter and no complex behavior, and every word 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?
The description is adequate for a simple read tool with one parameter, but it lacks information about the return format or any conditions under which it might not work. Since no output schema is available, the agent would benefit from a note about what the response contains.
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 includes one parameter 'chain' with a description of 'Chain ID', which gives 100% schema coverage. The description does not add additional meaning about how the chain value affects results, but the high schema coverage meets the baseline expectation.
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 ('Get') and clearly identifies the resource ('IBC channels') within the cross-chain context. It does not explicitly differentiate from sibling Cosmos tools, but the resource type is unique and the meaning is 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 offers no guidance on when to use this tool, what prerequisites exist, or which alternatives to prefer. It is a bare statement of functionality with no context about selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cosmos_get_proposalsC
Get governance proposals
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain ID | cosmoshub |
| status | No | Filter by proposal status |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It only states that it 'gets' proposals, implying a read operation, but does not describe pagination, default filters, return structure, or any side effects. The lack of annotations and sparse description leaves the agent without key behavioral information.
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 a single, concise sentence, but it largely restates the tool name with minor clarification ('governance'). It is not verbose, but it does not add substantial value beyond the name, making it borderline tautological.
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 absence of an output schema and the minimal description, the agent is left without information about what the response contains, whether the list is paginated, or how the status filter behaves. The schema covers parameters but not return semantics, so the tool is incomplete for a practical 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 100%, with both chain and status parameters fully described in the input schema. The description adds no parameter semantics, but because the schema already documents them thoroughly, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get governance proposals' uses a specific verb+resource pattern and clearly indicates this tool retrieves governance proposals. However, it does not differentiate from sibling tools like cosmos_get_validators or generic governance tools such as get_proposal_details, relying on the tool name to provide context.
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 guidance is provided for when to use this tool versus alternatives. There is no mention of how it relates to other Cosmos tools or governance tools, nor any prerequisites or exclusions. The description simply states what it does without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cosmos_get_rewardsC
Get pending staking rewards for an address
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain ID | cosmoshub |
| address | Yes | The delegator address |
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 states 'get' which implies a read-only operation, but it doesn't explicitly say that, nor does it describe the return format, units of rewards, or behavior for zero rewards. Lacks behavioral detail beyond the bare operation.
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 one concise sentence with no wasted words. It front-loads the core purpose. However, it is slightly too terse to include important context like the chain or what 'pending' implies, but as a brevity measure, it earns a high 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?
Given no output schema and no annotations, the description is incomplete. It doesn't explain what the function returns (e.g., a number, an object), whether it's a read-only query, or any chain-specific behavior. For a tool with two parameters and a simple purpose, this is still insufficient for an agent to fully understand expected behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both 'chain' and 'address' having descriptions. The tool description adds no additional parameter semantics beyond the schema, so the baseline of 3 is appropriate. The schema already explains that address is the delegator address and chain defaults to cosmoshub.
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 ('Get'), the resource ('pending staking rewards'), and the target ('for an address'). It distinguishes from related tools like cosmos_get_delegations (which gets delegations, not rewards) and claim_staking_rewards (which claims rewards, not just gets them). However, it doesn't explicitly mention the Cosmos chain, though the tool name implies it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, whether it differs from cosmos_get_delegations or claim_staking_rewards, or when the chain parameter should be overridden. Agents are left without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cosmos_get_supported_chainsA
Get list of supported Cosmos SDK chains
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. However, it only states the core action and does not disclose any additional behavioral traits such as whether this is a read-only operation, if it returns chain names vs. IDs, or any caching/rate-limit behavior. The description adds nothing beyond what the tool name already implies.
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 a single, short sentence that is entirely on-topic and front-loaded. It contains no filler, redundant information, or repetition of the tool name. Every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the return value will be. It states 'list of supported Cosmos SDK chains', which gives a basic idea, but it does not specify the format (e.g., chain IDs, names, objects, array of strings) or whether it includes testnets/mainnets. For such a simple tool with no parameters, 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?
The tool has zero parameters, so there are no parameter semantics to clarify. The schema is devoid of properties, and the description correctly implies that no input is needed. Baseline for zero parameters is 4, and the description does not introduce any confusion.
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 'Get list of supported Cosmos SDK chains' uses a specific verb (Get) and clearly identifies the resource (list of supported chains) and scope (Cosmos SDK). It distinguishes itself from sibling tools like cosmos_get_balance and cosmos_get_delegations by focusing on chain support rather than account data or transactions.
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 guidance on when to use this tool versus alternatives such as get_supported_networks or rubic_get_supported_chains. It does not state any exclusions, prerequisites, or typical scenarios, leaving the agent to infer usage solely from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cosmos_get_transactionB
Get transaction details by hash
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | Transaction hash | |
| chain | No | Chain ID | cosmoshub |
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 only says 'Get transaction details by hash', which implies a read-only operation but doesn't explicitly state it's non-mutating, what happens if the hash isn't found, or any other behavioral traits. This is minimal 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 a single, concise sentence with no redundant information. Every word earns its place, and it front-loads the core purpose clearly.
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 simplicity, the description is adequate but not complete: it doesn't describe the return format or provide any context about what 'transaction details' includes. With no output schema and no annotations, a bit more detail would improve completeness, but it's acceptable for such a straightforward read 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 100%, so the baseline is 3. The description doesn't add anything beyond the schema; 'by hash' simply reiterates the required parameter's description. The chain parameter's default and semantics are already fully documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'transaction details by hash', making it obvious what the tool does. It is distinct within the Cosmos family of tools (e.g., cosmos_get_balance, cosmos_get_delegations), though it doesn't explicitly differentiate itself from similar transaction-fetching tools on other chains.
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 guidance on when to use this tool versus alternatives, exclusions, or prerequisites. There is no mention of chain-specific behavior or when other tools might be more appropriate, leaving the agent without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cosmos_get_validatorsC
Get list of active validators
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain ID | cosmoshub |
| limit | No | Max validators to return | |
| status | No | Validator status filter | BOND_STATUS_BONDED |
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 implies a read-only query but does not explain the default chain, the meaning of 'active' (bonded), the status parameter's options, pagination, or output structure. The description is not misleading but is significantly under-informative.
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 a single sentence with no fluff, immediately stating the core action. It is appropriately front-loaded and wastes no words, though it is under-specified in content (addressed in other dimensions).
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 3 parameters, no output schema, and no annotations, the description is inadequate. It fails to mention the chain parameter (which is essential for a Cosmos multi-chain tool), the status filter options, or the fact that validators may be unbonded/unbonding. The description is too sparse for an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions cover all parameters (100% coverage), so the baseline is 3. The description adds no additional meaning to parameters like 'status' or 'limit' beyond what the schema already provides; it just says 'active validators,' which loosely aligns with the default status but adds no richness.
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 retrieves a list of validators for the Cosmos ecosystem, using specific verb 'Get' and resource 'active validators'. However, it does not distinguish between the different Cosmos-versus-other-chain validator tools (e.g., sui_get_validators, near_get_validators) or clarify that the tool can also return unbonded/unbonding validators via the status parameter.
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 guidance is provided on when to use this tool versus alternatives. There is no mention of chain selection, status filtering, or that this is the Cosmos-specific validator getter among siblings. The description is too terse to offer context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_custom_feedB
Create a custom news feed with your preferences. $0.50/month. Get a dedicated endpoint with your keywords and source preferences.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for your custom feed | |
| sources | No | Preferred sources (empty = all) | |
| keywords | Yes | Keywords to track (at least one required) | |
| deduplicate | No | Remove duplicate/similar articles across sources | |
| excludeKeywords | No | Keywords to exclude from results | |
| minRelevanceScore | No | Minimum relevance score (0-1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the monthly cost ($0.50/month) and the output (dedicated endpoint), providing some behavioral insight. However, it does not mention side effects like billing activation, authentication requirements, or impact on existing feeds, which leaves transparency gaps given 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 two sentences with no waste. It front-loads the main verb and quickly conveys cost and deliverable, making every line informative.
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?
Without an output schema, the description fails to explain the exact return payload beyond 'dedicated endpoint.' It also omits how to retrieve or manage the feed later, rate limits, and any post-creation behavior, making it incomplete for a paid creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters already have descriptions. The tool description only mentions 'keywords and source preferences' which maps to existing schema fields without adding any extra semantic context.
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 custom news feed and mentions the dedicated endpoint deliverable. It distinguishes from read-only news tools like get_crypto_news by emphasizing creation and personalization.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as subscribe_news_firehose or get_crypto_news. There are no exclusions, prerequisites, or clear context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_erc20_tokenC
Create a new ERC20 token
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the token | |
| symbol | Yes | The symbol of the token | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It only says 'Create a new ERC20 token' and omits critical details: what occurs on-chain (deployment?), whether gas fees are incurred, what is returned (contract address?), and any side effects or irreversible actions. The private key security note in the schema provides some transparency, but the overall description does not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no filler. However, while brevity is a strength, it sacrifices necessary context for a tool that performs an on-chain mutation. The front-loaded verb and object are clear, but the description could afford a second sentence clarifying outcomes without losing conciseness.
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 4 parameters, no output schema, and no annotations, the description is too sparse. It doesn't explain what the tool returns (e.g., contract address), the fact that it deploys a token contract, how the network parameter affects deployment, or the irreversible/payable nature of the action. This is a substantive gap for an operationally heavy tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions cover 100% of parameters, including a security note for privateKey and a default/scope for network. The description itself adds no parameter-specific meaning, so it doesn't exceed the schema's value. Baseline 3 is appropriate since the schema handles the semantics thoroughly.
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 ('Create') and the resource ('a new ERC20 token'), which distinguishes it from token transfer, burn, and approval tools in the sibling list. However, it doesn't explicitly differentiate from generic deployment tools like deploy_contract, which could also create a token, so there's minor ambiguity.
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 guidance is provided on when to use this tool versus alternatives like deploy_contract or deploy_proxy. The description doesn't mention prerequisites (e.g., funding for gas), supported networks, or scenarios where this tool is preferred over creating a token manually.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_permit_signatureA
Create an EIP-2612 permit signature for gasless token approvals
| Name | Required | Description | Default |
|---|---|---|---|
| nonce | Yes | Current nonce for the owner | |
| value | Yes | Amount to approve (in wei) | |
| chainId | Yes | Chain ID | |
| spender | Yes | Spender address to approve | |
| deadline | Yes | Permit deadline (unix timestamp) | |
| tokenName | Yes | Token name (for EIP-712 domain) | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| tokenAddress | Yes | ERC20 token address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It only says 'Create an EIP-2612 permit signature' and does not mention that this is an off-chain operation, that the signature is not broadcast, or what the output format will be. The sensitive privateKey security note appears only in the schema, not the description, leaving significant 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 a single, compact sentence that is front-loaded with the verb and resource. It contains zero fluff and communicates the tool's core function effectively.
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 (8 parameters, a private key input, no output schema, and no annotations), the description is too sparse. It does not explain that the signature is off-chain, that the token must support EIP-2612, how the private key is used, or what the return value looks like. Sibling tools like approve_token_spending or sign_typed_data are not differentiated beyond the 'gasless' hint, making the description incomplete for an agent to invoke this tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter having a descriptive comment, so the schema already provides full parameter meaning. The description itself adds minimal extra value beyond implying the parameters are EIP-2612 components, which is sufficient to meet the baseline but not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the exact action: creating an EIP-2612 permit signature. It names the specific standard (EIP-2612) and the purpose (gasless token approvals), which immediately distinguishes it from general signing tools like sign_typed_data or on-chain approval tools like approve_token_spending.
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 'gasless token approvals' provides clear context for when to use this tool (when an off-chain permit signature is needed instead of an on-chain approval). However, it does not explicitly name alternatives or state when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_subdomainB
Create a subdomain under an ENS name you own
| Name | Required | Description | Default |
|---|---|---|---|
| subdomain | Yes | Subdomain label (e.g., 'blog' for 'blog.example.eth') | |
| parentName | Yes | Parent ENS name (e.g., 'example.eth') | |
| privateKey | Yes | Private key of parent name owner | |
| ownerAddress | No | Owner of the subdomain (defaults to sender) | |
| resolverAddress | No | Resolver address for subdomain |
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 of behavioral disclosure. It fails to mention that creating a subdomain is an on-chain write transaction, does not disclose side effects (e.g., gas costs, ownership changes), and provides no information about the outcome or response. This is a significant gap for a mutation 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 a single, clear sentence with no wasted words, making it concise and front-loaded. However, it is minimally informative and could have included more guidance without significantly increasing length, so it does not earn 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?
This is a mutating tool with no annotations and no output schema. The description only states the basic action, omitting the transaction nature, prerequisites beyond ownership, parameter behavior, and what the agent can expect in return. This is incomplete for an agent to invoke the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all five parameters are documented in the schema), so the baseline is 3. The description adds no additional parameter semantics beyond what the schema already provides, which is acceptable but not value-added.
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 'Create' and identifies the resource as 'a subdomain under an ENS name you own', which clearly differentiates it from sibling tools like register_ens_name, transfer_ens, or renew_ens. The ownership condition adds scope, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the prerequisite that the caller must own the parent ENS name ('you own'), but it does not explicitly state when to use this tool versus alternatives like register_ens_name or set_ens_records, nor does it mention any exclusions. This is implied usage rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_walletA
Create a new random wallet with private key and address
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full transparency burden. It discloses that the wallet is randomly generated and includes a private key and address, but it omits details such as whether the private key is persisted, security considerations, or any chain-specific behavior. This is minimal but not misleading.
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 a single, front-loaded sentence that clearly conveys the action and expected output. Every word is necessary, with no filler or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters, but the description leaves out crucial context such as which blockchain or network the wallet is for, and it does not specify the return format (e.g., address type). Since there is no output schema, the description should compensate, but it only gives a brief phrase. This is adequate for a basic understanding 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?
The tool has zero parameters, so schema coverage is trivially 100%. Per the guidelines, a zero-parameter tool gets a baseline of 4. The description adds no parameter-specific meaning because none exist, and no further explanation is needed.
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 clearly states the tool creates a new random wallet and outputs the private key and address. The verb 'Create' and specific resource 'new random wallet' make the action unambiguous, and it is distinct from sibling tools like generate_mnemonic or import_wallet_from_mnemonic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided, and no alternative tools are mentioned. The purpose is self-evident from the name and description, but an agent deciding between this and wallet-related siblings (e.g., creating a wallet from a mnemonic) would need more context. Usage is implied but not directly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decode_transaction_dataC
Decode transaction input data to understand what it does
| Name | Required | Description | Default |
|---|---|---|---|
| abi | No | Contract ABI (JSON string) for decoding | |
| data | Yes | Transaction input data (hex) |
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 only states the purpose and fails to mention required inputs (e.g., ABI), output format, or behavior when decoding fails. This is a significant gap for an agent deciding whether to invoke the 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 a single, concise sentence that is front-loaded with the primary action. Every word earns its place, and there is no redundancy or irrelevant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description should explain what the decoded result looks like and any required prerequisites (e.g., ABI necessity). It does not, leaving the agent without enough information to set expectations or handle edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'abi' and 'data' have descriptions), so the baseline is 3. The description does not add value beyond the schema, but it also does not need to compensate for missing schema information.
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 decodes transaction input data to reveal its meaning, which is a specific verb+resource. However, it does not distinguish this from sibling tools like abi_decode, encode_call_data, or goplus_signature_decode, which have overlapping functionality.
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 guidance is provided on when to use this tool versus alternatives such as abi_decode or goplus_signature_decode. The description lacks any context about suitable scenarios or preconditions (e.g., needing an ABI).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_aggregatorsC
Get DEX aggregator volume data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 only says 'Get... data,' with no details about scope, filtering, output format, or whether it returns a list, aggregate, or per-protocol details. This is minimal but not entirely absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and front-loaded, which is efficient. However, it is under-specified and lacks useful context, so it is not a model of conciseness that earns its placeโit just barely meets the minimum.
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 large number of similar sibling tools and the absence of an output schema, the description is incomplete. It does not explain what 'aggregators' refers to, how the data is presented, or how this tool differs from closely related volume 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?
The tool has zero parameters, and the schema is empty. Per the rubric, a baseline of 4 applies when there are no parameters. There is nothing to add beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('DEX aggregator volume data'), so it is more than a tautology. However, 'aggregators' is ambiguous and not differentiated from similar sibling tools like defi_get_dex_volume or defi_get_chain_dex_volume, making the purpose vague.
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 guidance is provided on when to use this tool versus alternatives. Many sibling tools also retrieve volume data, and the description does not mention exclusions, prerequisites, or distinguishing use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_bridgeA
Get detailed data for a specific bridge including volume by chain.
| Name | Required | Description | Default |
|---|---|---|---|
| bridgeId | Yes | Bridge ID from defi_get_bridges |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It states that the tool returns detailed data including volume by chain, which is helpful, but it does not elaborate on the exact response structure or any potential quirks. Since this is a read-only getter with no mutations, the disclosure is adequate but not rich.
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 a single, concise sentence that directly states the tool's purpose and key output. No wasted words, and the sentence structure is clean and front-loaded with the verb 'Get'.
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 getter with no output schema, the description adequately conveys the tool's scope and output focus. It could be slightly more complete by listing specific fields or clarifying differences from bridge volume tools, but it is sufficiently complete for basic 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?
The schema description fully covers the only parameter (bridgeId), noting it comes from defi_get_bridges. The tool description adds little beyond referring to 'a specific bridge,' so the schema already does the heavy lifting, and a baseline of 3 is appropriate given 100% 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 function: retrieving detailed data for a specific bridge, including volume by chain. However, it does not explicitly differentiate from sibling tools like defi_get_bridges or defi_get_bridge_volume, so it lacks the sibling distinction that would merit 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 when one needs detailed data for a known bridge ID, but it does not provide explicit guidance on when to choose this tool over alternatives, nor does it state any exclusions or prerequisites. This is minimal but adequate for a simple getter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_bridgesA
Get list of all cross-chain bridges with volume data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for disclosure. It mentions that the tool returns a list of bridges with volume data, but it does not disclose any behavioral traits such as data source, freshness, pagination, or ordering. There is no contradiction with annotations, but the transparency is minimal.
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 a single, front-loaded sentence with no filler. It conveys the essential purpose and output data in an appropriately concise manner.
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?
This is a low-complexity tool with no parameters and no output schema. The description adequately explains what the tool returns ('list of all cross-chain bridges with volume data'), which is sufficient for a simple list operation. However, it could be slightly more explicit about the data source or scope of 'all' bridges, so it does not earn 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?
The tool has zero parameters, so the schema is trivially fully covered. According to the rubric, 0 params warrants a baseline of 4, and the description adds no parameter-specific meaning because none are needed.
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 and resource: 'Get list of all cross-chain bridges with volume data.' It clearly states the scope ('all') and the included data (volume), distinguishing it from sibling tools like defi_get_bridge (specific bridge) and defi_get_bridge_volume (volume for a specific bridge).
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 guidance is provided on when to use this tool versus alternatives. The description only states what the tool returns; it does not mention exclusions, prerequisites, or comparisons with related tools such as defi_get_bridge_volume or get_bridge_quote.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_bridge_volumeB
Get historical bridge volume for a specific chain.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain name |
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 only says 'Get historical bridge volume' and does not disclose time range, response format, units, rate limits, or any read-only guarantees. This is a significant gap for a data retrieval 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 a single clear sentence with no wasted words. It is front-loaded with the verb and resource. It earns its place despite being minimal.
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 one parameter, no output schema, and no annotations, the description is too sparse. It doesn't specify historical range (e.g., daily, hourly), whether the value is in USD or native token, or how the output is structured. This lack of context makes it harder for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (the only parameter 'chain' is described as 'Chain name'), so the schema already provides basic meaning. The description adds 'specific chain' but no value formats, examples, or enumeration. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves historical bridge volume for a specific chain, using a specific verb ('Get') and resource ('historical bridge volume'). It distinguishes from sibling tools like defi_get_bridges (list bridges) and defi_get_bridge (get a specific bridge) by focusing on volume 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 provides no guidance on when to use this tool vs alternatives. There are many sibling tools for DeFi data (e.g., defi_get_dex_volume, defi_get_options_volume), but no mention of exclusions or preferred contexts. The user must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_chain_dex_volumeB
Get DEX volume data for a specific blockchain.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain name |
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, but it only states that it 'gets' data. It does not disclose whether the tool returns 24h volume, historical data, units (USD, token amounts), supported chain formats, or any API limitations. This is a significant gap for a tool that might involve network calls 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 a single concise sentence that immediately conveys the tool's purpose. It is front-loaded with the action and object, contains no filler, and is appropriately sized for the tool's simplicity.
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 minimally adequate for a one-parameter read-only tool, but it lacks important context such as what the 'volume data' includes (e.g., time period, currency, metric type), whether there are any prerequisites, or what the response structure looks like. Given that there is no output schema, the description should provide more detail about the return value to be 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?
The input schema has 100% coverage with a single 'chain' parameter described as 'Chain name'. The description adds no additional meaning beyond what the schema provides, so the baseline score of 3 applies. The parameter is simple and self-explanatory, so no further elaboration is strictly necessary.
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 'Get', the resource 'DEX volume data', and the scope 'for a specific blockchain'. This distinguishes it from sibling tools like defi_get_dex_volume (which likely covers all chains) and defi_get_dex_protocol_volume (which is protocol-specific), so an agent can easily select this tool for chain-level DEX volume queries.
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 guidance is provided on when to use this tool versus alternatives such as defi_get_dex_volume or defi_get_dex_protocol_volume. The description simply states what it does without any context on preferred use cases, exclusions, or sibling comparisons. This leaves the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_chain_feesB
Get fees/revenue data for a specific blockchain.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain name (e.g., 'Ethereum', 'Arbitrum') |
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 only says 'Get' which implies a read-only operation, but it does not state whether results are current or historical, what time range is covered, what units or currency are used, or whether any rate limiting or pagination applies. This is a significant gap for a data-fetching 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 a single front-loaded sentence with no filler or redundant wording. Every word contributes meaning, and it is appropriately sized for a one-parameter read 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?
Despite low complexity (one required parameter), the description is under-specified. It does not explain what constitutes 'fees/revenue' (e.g., gas fees, protocol revenue, token-denominated amounts), what time period is covered, or how the output should be interpreted. Without an output schema, the description alone leaves the agent guessing about return structure, making it incomplete for reliable 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 100% since the only parameter 'chain' has an inline description with examples. The tool description adds no additional parameter meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Get') and identifies the resource ('fees/revenue data') scoped to 'a specific blockchain.' This distinguishes it from protocol-level fee tools like defi_get_protocol_fees and from overview tools like defi_get_fees_overview, though it does not 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 phrase 'for a specific blockchain' implies this tool is for chain-level fee data as opposed to protocol-level or global fees, but it gives no explicit when-to-use guidance, exclusions, or named alternatives. Usage context is only weakly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_chain_protocolsB
Get all protocols on a specific chain with their TVL.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain name (e.g., 'Ethereum', 'Arbitrum') |
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 states a simple read operation but does not disclose any behavioral details such as pagination, supported chain values, data recency, rate limits, or whether the list is sorted or limited. For a data-fetching tool, this is a notable 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 description is a single sentence, concise, and front-loaded with the verb and resource. Every word adds value, and it avoids redundancy with the schema. Zero wasted tokens.
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 is a simple single-parameter read operation with good schema coverage, the description is minimally adequate. However, with no output schema and no annotations, it might be improved by mentioning default behavior, the format of the returned data, or potential limitations (e.g., only major chains). It is complete enough for the simplest cases but leaves room for interpretation.
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 only one parameter ('chain') with 100% description coverage, so the description adds little beyond what the schema provides. The description clarifies the purpose of the chain parameter (to filter protocols on a specific chain) but does not list valid chain names or provide examples beyond what the schema says. Baseline 3 is appropriate given the schema covers the parameter 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 'Get all protocols on a specific chain with their TVL' uses a clear verb ('Get'), identifies the resource ('protocols on a specific chain'), and specifies the output includes TVL. It distinguishes itself somewhat from sibling tools like defi_get_protocols or defi_get_chain_tvl, though it doesn't explicitly contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: when you need protocols on a chain along with TVL. It provides no explicit when-to-use or alternative guidance, and there are many closely related DefiLlama sibling tools (defi_get_protocols, defi_get_protocol, defi_get_chain_tvl) that could be confused. Some context is implied by its specific action and parameter, but no exclusions or alternatives are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_chainsA
Get TVL data for all blockchain networks. Shows total DeFi TVL on each chain.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly indicates a read-only data retrieval with no side effects. While it doesn't detail response formatting or data freshness, the simple nature of the tool makes the statement sufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The first sentence states the action and scope, the second adds specificity about the output. Every word 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?
For a zero-parameter read-only tool with no output schema, the description fully addresses what the tool does and what it returns. No additional context is necessary for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is trivially 100%. Per guidelines, baseline for 0 params is 4; the description does not need to add parameter details.
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 ('Get') and clearly identifies the resource ('TVL data for all blockchain networks'). It distinguishes itself from siblings like defi_get_chain_tvl by explicitly stating 'all blockchain networks' and clarifies the content as total DeFi TVL per chain.
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 contexts: use when you need TVL across all chains. It does not explicitly name alternatives or exclusions, but the scope is clear enough that an agent can distinguish it from chain-specific tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_chain_tvlA
Get historical TVL data for a specific blockchain.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain name (e.g., 'Ethereum', 'Arbitrum', 'BSC') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only restates the function name without disclosing return format, time range, units, or any access constraints. This is a significant gap for a data-retrieval 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 a single, front-loaded sentence that directly conveys the core function. No wasted words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool and complete parameter schema, the description is minimally adequate. However, without an output schema or annotations, it could benefit from stating what the historical TVL data looks like (e.g., time series, units) to fully prepare the 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?
The schema fully describes the single 'chain' parameter with examples, so the description adds little beyond what is already structured. Baseline of 3 applies since schema coverage is 100% and the description does not introduce new 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 the tool gets historical TVL data for a specific blockchain, using a specific verb and resource. It distinguishes from sibling tools like defi_get_chain_fees and defi_get_protocol_tvl by focusing on chain-level TVL.
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: use this when chain-level historical TVL is needed. However, there is no explicit guidance on when not to use it or mention of alternatives such as defi_get_protocol_tvl or defi_get_token_price_history.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_dex_protocol_volumeB
Get detailed volume data for a specific DEX.
| Name | Required | Description | Default |
|---|---|---|---|
| protocol | Yes | DEX protocol slug (e.g., 'uniswap', 'curve') |
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 disclosing behavior, but it only states that it gets data. It does not describe what 'detailed volume data' includes, response format, time range, units, or any limitations. Since there are no annotations to supplement this, the agent has little idea what to expect from 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?
The description is a single, concise sentence with no filler or redundancy. It is appropriately sized for a simple tool and gets straight to the point.
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 is simple with only one parameter, but the description is somewhat vague about what 'detailed volume data' entails (e.g., time series, current volume, by pool or chain). With no output schema to clarify the return structure, the description could usefully add a bit more context about the data returned, making this an adequate but not fully complete description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'protocol' parameter, with a clear format and examples ('e.g., 'uniswap', 'curve''). The description adds no extra meaning beyond the schema, but the baseline of 3 applies because the schema fully documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves detailed volume data for a specific DEX, using a specific verb ('get') and resource ('volume data for a specific DEX'). The phrase 'specific DEX' distinguishes it from sibling tools like defi_get_dex_volume (which aggregates volumes) and defi_get_chain_dex_volume (which groups by chain), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool over alternatives. The description does not mention exclusions, preferred scenarios, or related tools, leaving the agent to infer from the name and sibling list. This is a significant gap, especially given the many similar defi volume tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_dex_volumeA
Get DEX trading volume overview across all protocols.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 does not mention whether the tool is read-only, what granularity or time range the volume overview covers, or what specific metrics are included. The term 'overview' is undefined, leaving the agent guessing about output characteristics.
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 a single, front-loaded sentence that directly states the tool's function without any filler. Every word adds value, making it highly concise and 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, parameterless read tool, the description is adequate but leaves gaps. Without an output schema, it doesn't explain what the 'overview' contains (e.g., metrics, time range, aggregation level). It gives the essential intent but not enough detail to fully set expectations for the 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?
The tool has zero parameters, so the schema provides complete coverage (vacuously). No parameter explanations are needed, and the description correctly focuses on the output rather than inputs. 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?
The description clearly states a specific verb ('Get'), resource ('DEX trading volume overview'), and scope ('across all protocols'). This distinguishes it from siblings like defi_get_chain_dex_volume and defi_get_dex_protocol_volume by emphasizing the aggregate, protocol-wide view.
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 guidance is provided on when to use this tool versus alternatives such as defi_get_chain_dex_volume or defi_get_dex_protocol_volume. The description merely states what it does without any contextual pointers or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_fees_overviewA
Get fees/revenue overview for all DeFi protocols.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 only states the tool retrieves an overview but does not disclose any behavioral aspects such as response format, aggregation method, time range, or whether it returns a list vs. summary. This is insufficient for a 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?
A single, concise sentence that is front-loaded with the action and resource. There is no redundancy or extra fluff.
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 no-parameter tool with no output schema, the description is minimal but passable. It fails to explain what 'fees/revenue overview' includes (e.g., total fees, revenue breakdown, numbers per protocol), which would be needed for full completeness. Sibling tools exist that offer more specific fee queries, so knowing this tool's exact return scope is important.
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, and the input schema confirms this. Per the baseline for 0-param tools, the description does not need to explain parameter semantics, and the schema coverage is 100%. The description adds no parameter info, but the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('fees/revenue overview') with a clear scope ('all DeFi protocols'). It distinguishes itself from sibling tools like defi_get_protocol_fees and defi_get_chain_fees by indicating an aggregate, cross-protocol overview.
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 only implies usage context: it is for a broad overview across all DeFi protocols, not for querying a single protocol's fees. There is no explicit guidance on when to prefer this over alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_hacksA
Get historical DeFi hacks and exploits with amounts lost.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It indicates a read-only historical lookup and mentions amounts lost, but it does not describe return format, data source, pagination, or any filtering 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 a single concise sentence that is front-loaded with the action and resource. It contains no filler, redundant phrases, or extraneous details.
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 tool, the description conveys the core purpose but omits details about the output structure, which is important because no output schema exists. Adding what fields are returned (e.g., protocol, date, amount, chain) would make it more 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?
The input schema has zero parameters, so no parameter documentation is needed. The description correctly implies that the call takes no arguments, which meets the baseline for a parameterless tool.
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 'Get historical DeFi hacks and exploits with amounts lost,' using a specific verb and resource. This clearly distinguishes it from sibling defi_get_* tools by targeting hacks and exploits rather than prices, news, or yields.
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 guidance is provided about when to use this tool versus alternatives such as defi_get_news or defi_get_liquidations. The intended use is only implied by the name and description, with no explicit exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_liquidationsB
Get liquidation data for lending protocols. Shows liquidatable positions at various price levels.
| Name | Required | Description | Default |
|---|---|---|---|
| protocol | No | Filter by protocol (e.g., 'aave', 'compound') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It adds that the tool 'Shows liquidatable positions at various price levels,' which gives some idea of output, but does not disclose whether it lists all protocols, what is returned when no protocol filter is used, or any rate/auth considerations. This is minimal and leaves key behavioral aspects unspecified.
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, front-loaded with the action, and every word adds value. It is concise and to the point 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?
Given the tool has one optional parameter and no output schema, the description is adequate but leaves the output format ambiguous ('various price levels' is vague). It doesn't explain what data is shown per position or what happens without a protocol filter, so it's a minimum viable description but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully describes the only parameter, 'protocol,' with an example. The description adds no parameter information, but since schema coverage is 100%, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves liquidation data for lending protocols, naming a specific resource and scope. It distinguishes itself by mentioning 'liquidatable positions at various price levels,' but it does not explicitly contrast with sibling tools like get_liquidatable_positions.
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: users who need liquidation data for lending protocols would use this tool. However, there is no guidance on when to choose this over similar tools, no exclusions, and no context about prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_options_volumeA
Get options trading volume across DeFi protocols.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 only states that the tool retrieves options volume, but does not describe any behavioral traits such as whether the data is historical or real-time, what time ranges are covered, or what protocols are included. This is minimal disclosure and leaves the agent without important context for a data-query 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 a single, concise sentence with no wasted words. It effectively communicates the core purpose in a minimal structure, which is appropriate for a simple tool with no 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?
The tool is simple (no parameters, no output schema). The description provides the essential scope ('options trading volume across DeFi protocols') but lacks additional context such as time period, supported networks, or data format. While not severely incomplete for a getter, it leaves some ambiguities that could affect tool selection in a large sibling set.
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 has zero parameters, so there is nothing to explain. The baseline for zero parameters is 4, and the description adds no parameter-level details, but none are needed since no parameters exist.
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 retrieves options trading volume across DeFi protocols. The verb 'Get' plus the specific resource 'options trading volume' and scope 'across DeFi protocols' makes the purpose unambiguous and distinguishes it from sibling tools like defi_get_dex_volume or defi_get_protocols.
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 does not explicitly mention when to use this tool vs alternatives, exclusions, or alternative tools. However, the name and description imply the use case (obtaining options volume data), which offers moderate guidance. No exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_oraclesB
Get oracle TVL data - protocols secured by different price oracles.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the high-level purpose without disclosing output format, whether it returns a list, how data is aggregated, or any potential limitations. The description does not add behavioral context beyond the basic function.
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 a single, front-loaded sentence that efficiently states the purpose and a clarifying detail. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no parameters and no output schema, so the description must clarify the response shape. It gives a general idea (oracle TVL data, protocols secured by oracles) but leaves ambiguity about whether the output is a list of oracles, protocols, or a mapping between them. For a zero-param tool, this is acceptable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema is trivially complete, and the baseline is 4. The description clarifies what the tool returns (TVL data per oracle/protocol), which adds meaning about the data scope, but there are no parameters to elaborate on.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Get') and specific resource ('oracle TVL data'), and the explanatory phrase 'protocols secured by different price oracles' distinguishes this from other Defi tools that focus on overall protocol TVL or chain TVL. It doesn't specify the exact response structure, but the core purpose is 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?
There is no mention of when to use this tool versus other Defi tools like defi_get_protocol_tvl or defi_get_chain_tvl. It lacks any comparison, context, or exclusions, so an agent has no guidance on selecting this over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_perpetual_protocolA
Get detailed data for a specific perpetuals protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| protocol | Yes | Protocol slug (e.g., 'gmx', 'dydx') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It clearly implies a read-only operation, but offers no additional context about response format, data fields, or any limitations. The description is not misleading but adds minimal transparency beyond the core 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 a single, concise sentence with no redundant words. Every element (verb, object, qualifier) contributes to the meaning, making it efficiently scannable by an agent.
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 getter, the description is adequate but not rich. It does not specify what 'detailed data' includes (e.g., TVL, volume, fees), and with no output schema, the agent cannot predict the return structure. It also omits any reference to related tools for discovering protocol slugs, leaving a gap in workflow context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the only parameter `protocol` is described with an example slug ('gmx', 'dydx'). The description itself adds no further parameter meaning, so the baseline score of 3 for full schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('detailed data for a specific perpetuals protocol'), clearly indicating it targets one protocol rather than a list. The word 'specific' distinguishes it from the sibling `defi_get_perpetuals`, which presumably lists all perpetual protocols.
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 guidance on when to use this tool versus alternatives such as `defi_get_perpetuals` or `defi_get_protocol`. It does not mention workflow prerequisites like obtaining protocol slugs from a listing tool, leaving the agent to infer usage from the parameter name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_perpetualsA
Get perpetual DEX volume and open interest data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 only states that the tool gets data, without disclosing whether it is read-only, the data granularity (e.g., historical vs current), denominations, or coverage. This is minimal and does not enrich beyond the name.
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 a single concise sentence with no wasted words. It is front-loaded and immediately communicates the tool's purpose.
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 simplicity (zero parameters, no output schema, no annotations), the description is minimally adequate. However, it does not specify whether the data is aggregated across all perpetual DEXs or a specific one, nor does it mention data freshness or return format, which could help disambiguate from related 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?
The tool has zero parameters, and the description adds no parameter-specific semantics. Per the scoring guidance, a 0-parameter tool receives a baseline of 4, and the description clearly conveys the output domain, which is sufficient.
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 ('Get') and a resource ('perpetual DEX volume and open interest data'). It clearly distinguishes from sibling tools like defi_get_options_volume or defi_get_dex_volume by focusing on perpetual DEX metrics.
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 for fetching perpetual DEX volume and open interest, which provides clear context. However, it does not explicitly mention when to use this instead of alternatives like defi_get_perpetual_protocol, so it lacks explicit exclusions or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_protocolA
Get detailed information about a specific DeFi protocol including TVL breakdown by chain, token, and historical data.
| Name | Required | Description | Default |
|---|---|---|---|
| protocol | Yes | Protocol slug (e.g., 'aave', 'uniswap', 'lido') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavior. It conveys that this is a read-only data retrieval and specifies the type of data included (TVL by chain/token, historical data). However, it omits details about authentication, rate limits, or the exact response structure, which leaves some uncertainty.
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 one concise sentence, front-loaded with the main action and object, and contains no filler. Every phrase adds 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 simple single-parameter lookup tool, the description adequately covers the purpose and the scope of returned data. Minor gaps such as the exact time range for historical data or response formatting are acceptable given the low complexity, but the absence of annotations and output schema means a bit more context would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'protocol' is fully described in the schema with examples ('aave', 'uniswap', 'lido'), providing 100% coverage. The description adds no further parameter-specific semantics beyond confirming it is a specific protocol.
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 detailed information about a specific DeFi protocol, including TVL breakdowns and historical data. This distinguishes it from sibling tools like defi_get_protocols (which lists protocols) and defi_get_protocol_tvl (which focuses only on TVL).
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 a single protocol of interest, but it does not explicitly state when to prefer this over defi_get_protocol_tvl or defi_get_protocols. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_protocol_feesC
Get detailed fees and revenue data for a specific protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| protocol | Yes | Protocol slug (e.g., 'uniswap', 'aave') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It only states that data is retrieved, without detailing output format, time periods, units, or any caveats about what 'fees and revenue data' includes.
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 a single, information-dense sentence with no unnecessary words. All content is relevant and easy to parse.
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 tool, the description is adequate but incomplete. There is no output schema or annotations, and the description does not clarify what 'detailed fees and revenue data' encompasses or what the return value looks like, leaving gaps in completeness.
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 100% coverage for the single parameter (protocol slug) with a clear example. The description adds minimal semantic value beyond saying 'specific protocol', so it does not exceed the baseline.
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 retrieves fees and revenue data for a specific protocol, using a specific verb and resource. It is distinguished from overview tools like defi_get_fees_overview by the focus on a 'specific protocol', though it does not 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 implies usage for a single protocol but provides no explicit guidance on when to choose this over related tools (e.g., defi_get_fees_overview, defi_get_protocol_tvl). No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_protocolsA
Get list of all DeFi protocols with TVL, chains, and categories. Returns comprehensive protocol data sorted by TVL.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses the output scope ('all protocols') and sort behavior ('sorted by TVL'), but fails to mention pagination, response size limits, data freshness, or any other operational caveats that would be useful for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clearly front-loaded sentence that states the action, resource, and key output characteristics without any filler. Every word contributes 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?
The description identifies the main outputs and sort order, but since there is no output schema and no mention of pagination, response format, or how 'comprehensive' is scoped, an agent may not know how to process the returned data or if it is bounded. Given the simplicity of the tool, it is adequate but leaves 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?
The tool has zero parameters, so the schema coverage is vacuously 100%; the baseline for zero-parameter tools is 4. The description adds no parameter-specific guidance because none is needed, and the listed fields (TVL, chains, categories) describe the output, not 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 uses the specific verb 'Get' and a clear resource ('list of all DeFi protocols'), enumerating the returned data fields (TVL, chains, categories) and the sort order. This distinguishes it from sibling tools like `defi_get_protocol` (singular) and `defi_get_chain_protocols` (chain-specific).
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 guidance is given on when to use this tool vs alternatives. It does not mention exclusions, prerequisites, or name related tools like `defi_get_protocol`, `defi_get_chain_protocols`, or `defi_get_yields`, 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.
defi_get_protocol_tvlB
Get historical TVL data for a protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| protocol | Yes | Protocol slug |
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 of behavioral disclosure. It only says 'Get historical TVL data' and does not reveal response format, time range, granularity, rate limits, or any other behavioral traits. The read-only nature is implied by 'Get' but not explicitly stated.
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 a single, tightly worded sentence: 'Get historical TVL data for a protocol.' It is front-loaded and every word earns its place, with no verbose or redundant content. It is appropriately brief for a tool with one parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single-parameter schema and no output schema or annotations, the description is minimally viable: it tells the user what the tool does and the input is documented. However, it lacks details about the response shape, time period covered, or how to discover protocol slugs, leaving clear gaps for a complete understanding.
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 describes the only parameter as 'Protocol slug' with 100% coverage, so the baseline is 3. The description does not add any additional meaning beyond the schema, nor does it explain how to find valid protocol slugs. It is consistent with the schema but adds no extra 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 clearly states the tool's purpose: 'Get historical TVL data for a protocol.' It uses a specific verb ('Get'), a specific resource ('historical TVL data'), and a clear scope ('for a protocol'). It distinguishes from sibling tools like defi_get_chain_tvl (chain-level) and defi_get_protocol (likely current data), 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 implies when to use this tool: when you need historical TVL for a protocol. However, it offers no explicit guidance on when not to use it, no alternatives, and no exclusions. The context is clear about the basic use case but doesn't help differentiate from similar defi tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_raisesB
Get funding rounds and raises in the crypto/DeFi space.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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, but it only says the tool 'gets' data. It does not mention the return format, data source, recency, pagination, or any limitations. Although 'Get' implies a read-only operation, essential behavioral context is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence (10 words) that is immediately clear and front-loaded. It contains no unnecessary words and is appropriately sized for a parameterless 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?
The tool has no output schema and no annotations, so the description must explain what 'funding rounds and raises' entails and what the response will contain. The current description is too vague to inform the agent about the tool's capabilities, such as whether it lists specific funding events, amounts, or dates. This is a significant gap given the lack of other structured metadata.
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 there are no parameter semantics to explain. Schema coverage is trivially 100%, and the baseline for 0 params is 4. The description appropriately does not need to add parameter details since none exist.
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 verb ('Get') and resource ('funding rounds and raises') within the crypto/DeFi domain, making the basic purpose understandable. However, it lacks specificity on what constitutes a 'raise' (e.g., VC rounds, token sales) and does not differentiate from sibling tools, though no sibling covers this exact 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?
No guidance on when to use this tool versus alternatives is provided. The description only states what it does, with no mention of use cases, filters, or exclusions. The intended usage is only implied by the tool's name, which is insufficient for an agent to decide when to invoke it over other defi-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_stablecoinA
Get detailed data for a specific stablecoin including historical market cap.
| Name | Required | Description | Default |
|---|---|---|---|
| stablecoinId | Yes | Stablecoin ID from defi_get_stablecoins |
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 context. It indicates the tool returns 'detailed data' including 'historical market cap', giving some sense of output. However, it does not disclose any response structure, prerequisites, or potential failure modes, which is a moderate gap for a read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action and resource, and includes a useful data example. No wasted words; it is appropriately sized for a simple 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?
Given the tool is simple with one parameter and no output schema, the description is minimally sufficient but does not fully list what 'detailed data' includes beyond historical market cap. It could better explain the return value scope to help the agent anticipate output, especially since no output schema exists. The description is clear but leaves some context 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 100% for the single parameter, with the parameter description already stating 'Stablecoin ID from defi_get_stablecoins'. The tool description only says 'specific stablecoin', which provides no additional semantic meaning beyond the schema. Baseline of 3 is appropriate when the schema fully documents parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Get' with a specific resource 'detailed data for a specific stablecoin' and mentions a key included data point 'historical market cap'. The singular 'stablecoin' distinguishes it from the sibling 'defi_get_stablecoins' which lists all stablecoins, making the purpose unmistakable.
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 does not explicitly state when to use this tool versus alternatives, but the parameter description for 'stablecoinId' says 'Stablecoin ID from defi_get_stablecoins', which implies that users should first call the list tool to obtain an ID. This is an implied usage workflow, not an explicit exclusion or alternative comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_stablecoin_chainsA
Get stablecoin market cap breakdown by blockchain.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of disclosing behavior. It only states a high-level action without explaining what 'breakdown' includes (e.g., all chains, top N, time period, data source, units). The read-only nature is implied by 'Get' but not expanded upon.
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 a single sentence, front-loaded with the action and resource, with no filler or redundant words. Every word is meaningful.
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 tool, the description is adequate but minimal. There is no output schema or annotations, so the description should clarify the return structure more explicitly (e.g., a list of chains with market cap values). As written, it leaves the exact output format to the agent's inference, which is a moderate 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?
The tool has zero parameters, so the schema already exhaustively documents the input side (empty object). The description adds context about the output nature (market cap breakdown by blockchain), which is useful given there is no output schema. Baseline for zero 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?
The description uses a specific verb ('Get') and identifies a precise resource ('stablecoin market cap breakdown by blockchain'). This clearly distinguishes it from siblings like defi_get_stablecoins or defi_get_stablecoin, which likely target individual stablecoins or lists of stablecoins, not chain-level breakdowns.
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 the agent needs stablecoin market cap data organized by blockchain, but it does not explicitly state when to use this tool versus alternatives, nor provide any exclusions. For example, it could mention that defi_get_stablecoins handles per-stablecoin details and defi_get_chains handles general chain TVL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_stablecoinsA
Get list of all stablecoins with market cap, chain distribution, and peg data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 describes the data returned but does not mention potential response size, pagination, ordering, data freshness, or any access/read-only implications. The verb 'Get' implies read-only, but no explicit behavioral traits beyond the data scope are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the action and resource, then lists the specific data categories. No extraneous words 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 zero-parameter, list-returning tool with no output schema, the description adequately conveys the output's content by naming three data categories. However, it does not specify response formatting, potential pagination, or limits, which could be relevant for a tool returning 'all' items. The low complexity makes this acceptable 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?
The input schema has zero parameters, so the description does not need to explain parameter syntax. Baseline for 0 parameters is 4. The description adds context on what data will be returned, which is sufficient given the absence of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get list') and identifies the resource ('all stablecoins') with the data fields included ('market cap, chain distribution, and peg data'). It clearly distinguishes from the singular sibling 'defi_get_stablecoin' by stating 'all stablecoins', and from 'defi_get_stablecoin_chains' by including broader scope.
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 a use case (retrieving all stablecoins with detailed data) but does not explicitly state when to use this tool versus alternatives like 'defi_get_stablecoin' for a single stablecoin or 'defi_get_stablecoin_chains' for chain-only data. The context is present but not explicit exclusions or alternative tool names are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_token_chartC
Get price chart data for a token over a time period.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | End timestamp (default: now) | |
| coin | Yes | Token in 'chain:address' format | |
| span | No | Number of data points (default: 100) | |
| start | No | Start timestamp (default: 1 week ago) | |
| period | No | Time period |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure burden. It does not mention return format, data granularity, endpoints, or any limitations. It simply states the tool gets chart data, which is already implied by the name and 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 a single concise sentence with no fluff. It is appropriately sized, though it could include more detail without losing conciseness.
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 should explain return values, but it does not. Given the complexity (5 params) and many similar sibling tools, the description is too minimal for an agent to select and invoke the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds no additional context beyond the schema, such as how `start`/`end` relate to `span`/`period`.
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 ('Get price chart data') and the resource ('a token'), with a time period qualifier. It is understandable but does not distinguish from the similar sibling `defi_get_token_price_history` or `market_get_coin_chart`.
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 guidance is provided on when to use this tool versus alternatives like `defi_get_token_price_history` or `market_get_coin_chart`. The phrase 'over a time period' offers only a vague hint of intended use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_token_price_historyA
Get historical price for a token at a specific timestamp.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Token in 'chain:address' format (e.g., 'ethereum:0x...') | |
| timestamp | Yes | Unix timestamp |
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 of behavioral disclosure. It only states what the tool does without revealing any behavioral traits such as data source, caching behavior, response format, or limitations. The agent is left without critical context about what the returned price represents or how reliable it is.
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 a single, concise sentence that immediately communicates the core functionality. Every word earns its place, with no redundancy or filler, making it an excellent example of minimal but effective description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple with only two parameters and no output schema, the description does not specify the return format (e.g., price in USD, numeric value) or handle edge cases like invalid timestamps or unsupported chains. Gaps in behavioral transparency and usage guidance prevent it from being fully complete for an agent operating among many similar price-related 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 100%, with clear descriptions for both 'coin' and 'timestamp'. The description adds no additional meaning beyond the schema, so per the baseline for high schema coverage, a score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('historical price for a token') with a specific qualifier ('at a specific timestamp'). This uniquely distinguishes it from sibling tools that provide price ranges, current prices, or multi-token prices, making 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 qualifier 'at a specific timestamp' implies the use case for a single point-in-time query, but the description does not explicitly mention alternatives or exclusions, such as 'for a price range, use defi_get_token_chart' or 'for current prices, use defi_get_token_prices'. Given the large number of sibling tools, more explicit guidance would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_token_pricesB
Get current prices for tokens by contract address. Supports multiple chains.
| Name | Required | Description | Default |
|---|---|---|---|
| coins | Yes | Array of 'chain:address' strings (e.g., ['ethereum:0x...', 'bsc:0x...']) |
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 disclosing behavior. It only restates the purpose without mentioning side effects, rate limits, response format, or whether any address validation occurs. It gives no safety or performance cues.
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 sentences with no filler. Every word earns its place, and the core 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?
This is a simple tool with one parameter, so the description is mostly sufficient. However, the absence of any caveats, chain support details, or differentiation from similar tools in the large sibling list leaves some ambiguity for an agent deciding between this and other price-fetching 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?
The schema provides a clear description of the 'coins' parameter with an example format, so schema coverage is 100%. The description adds no further semantic detail, but the schema already documents the required structure adequately.
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 ('get current prices'), the resource ('tokens by contract address'), and notes multi-chain support. It is specific enough to distinguish from history or balance tools, though it does not explicitly differentiate from other similar price-fetch tools like coingecko_get_prices or get_multiple_prices.
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 guidance is given on when to use this tool versus the many sibling price-related tools. It does not mention alternatives, prerequisites, or limitations such as supported chains or how to resolve token symbols.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_yield_poolA
Get detailed data for a specific yield pool including historical APY.
| Name | Required | Description | Default |
|---|---|---|---|
| poolId | Yes | Pool UUID from defi_get_yields |
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 of behavioral disclosure. It mentions 'historical APY' but does not describe the return format, any side effects (though it appears read-only), or other behaviors. This is sparse for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundant information. Every word contributes to the tool's 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 single-parameter read tool with no output schema or annotations, the description is minimally adequate but leaves 'detailed data' ambiguous. It indirectly references a prerequisite via the schema but could be more explicit about what the response includes beyond historical APY.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the poolId parameter is already well-documented in the schema ('Pool UUID from defi_get_yields'). The description adds no additional parameter semantics beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get detailed data for a specific yield pool including historical APY.' It uses a specific verb ('Get'), targets a resource ('specific yield pool'), and specifies a distinguishing feature ('historical APY'), which separates it from sibling tools like defi_get_yields (which likely lists pools).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for a single existing pool, and the parameter description in the schema ('Pool UUID from defi_get_yields') indicates a prerequisite workflow. However, it does not explicitly name alternatives or state when not to use this tool, missing a clear exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_get_yieldsA
Get yield/APY data for DeFi pools across all protocols. Filter by chain, project, or minimum TVL.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Filter by chain (e.g., 'Ethereum', 'Arbitrum') | |
| minApy | No | Minimum APY percentage | |
| minTvl | No | Minimum TVL in USD | |
| project | No | Filter by project (e.g., 'aave', 'compound') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of indicating safety and behavior. The word 'Get' implies a read-only operation, and the filtering behavior is mentioned. However, it does not disclose return format, whether results are limited or paginated, or whether data is current vs historical.
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 short, front-loaded sentences. Every word adds value: the purpose, scope, and available filters. No filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four optional parameters, no output schema, and no annotations. The description explains what data is returned at a high level and lists filters, but it lacks details about response shape, default behavior when no filters are provided, or possible large-result pitfalls. This is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides full descriptions for all four parameters, so the baseline is 3. The description adds natural-language context for 'chain', 'project', and 'minTvl', but omits mention of 'minApy'. It does not meaningfully extend the parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Get yield/APY data for DeFi pools across all protocols.' It also lists the main filtering capabilities, distinguishing it from the singular defi_get_yield_pool sibling and other DeFi data 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 gives clear usage context: it is for fetching yield/APY data across all protocols, with optional filters by chain, project, or minimum TVL. It does not explicitly name alternatives or provide when-not-to-use guidance, but the broad scope implies when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delegate_votesA
Delegate voting power to an address (or self to activate)
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| delegatee | Yes | Address to delegate voting power to | |
| privateKey | Yes | Private key for signing transaction | |
| tokenAddress | Yes | Governance token address (ERC20Votes) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It fails to mention that this is an on-chain transaction that submits a signed transaction, consumes gas, requires a private key, or is irreversible. The only clue to mutability is the word 'Delegate' and the schema's privateKey description. This is a significant gap for a state-changing operation.
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 a single, concise sentence with no unnecessary words. It front-loads the core action and adds a key nuance in parentheses. Every word earns its place, and it is appropriately sized for its purpose.
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?
Despite having 4 parameters and no output schema, the description is extremely minimal. It lacks essential context for a transaction-based tool: it doesn't mention that it broadcasts a transaction, that network defaults apply (though the schema does), that it returns a transaction hash, or any prerequisites like token ownership or existing delegation. For a governance permission-changing tool, this is inadequate completeness.
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 descriptions are comprehensive (100% coverage), giving baseline of 3. The description adds extra semantic value by explicitly noting that the delegatee can be 'self to activate', which clarifies a special and important usage of the delegatee parameter. This goes beyond the schema's generic 'Address to delegate voting power to', providing actionable 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 states the action: 'Delegate voting power to an address (or self to activate)'. The verb 'delegate' and resource 'voting power' are specific, and the parenthetical distinguishes this from related governance tools like cast_vote or get_voting_power. It immediately tells the agent what the tool does and how it differs from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool, especially the 'self to activate' hint, which suggests a prerequisite for voting. However, it does not explicitly mention alternatives or when-not-to-use it. No guidance is provided on when to prefer delegate_votes over other governance tools like cast_vote or get_delegation_info, leaving usage context implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_contractB
Deploy a smart contract from bytecode and constructor arguments
| Name | Required | Description | Default |
|---|---|---|---|
| abi | No | Contract ABI (required if constructor has arguments) | |
| value | No | ETH value to send with deployment (in wei) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| bytecode | Yes | Contract bytecode (hex string starting with 0x) | |
| gasLimit | No | Gas limit for deployment | |
| privateKey | Yes | Private key for deployment | |
| constructorArgs | No | Constructor arguments |
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 of behavioral disclosure. It fails to mention that deployment is an on-chain transaction requiring gas, broadcasting to a network, or that it depends on a private key. The description simply states the action without revealing side-effects or requirements.
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 a single, focused sentence that front-loads the main action and core inputs. It is concise and readable, though it could include more useful context. The concise structure is appropriate for the brief content it contains.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters, no annotations, and no output schema, this description is too sparse. It does not mention return values, network defaults, gas requirements, or when to use it relative to other deployment tools. The description only covers the basic 'what' without the 'how' or 'why' context needed for reliable 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 100%, meaning every parameter is documented in the schema. The description only references 'bytecode' and 'constructor arguments', which adds no additional meaning beyond what the schema already provides. It is baseline adequate but does not further clarify parameter relationships or 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 clearly states the tool's action: 'Deploy a smart contract from bytecode and constructor arguments'. It uses a specific verb and resource, and the 'from bytecode and constructor arguments' detail distinguishes it from sibling deploy tools like deploy_create2 or deploy_proxy.
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 usage guidance is provided. The description does not mention when to use this tool versus alternatives like deploy_create2, deploy_proxy, or write_contract, nor does it state any prerequisites, exclusions, or context for deployment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_create2A
Deploy a contract using CREATE2 for deterministic addresses across chains
| Name | Required | Description | Default |
|---|---|---|---|
| abi | No | Contract ABI (required if constructor has arguments) | |
| salt | Yes | Salt for deterministic address (32 bytes hex or string to hash) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| bytecode | Yes | Contract bytecode (hex string) | |
| privateKey | Yes | Private key for deployment | |
| factoryAddress | No | CREATE2 factory address (uses default if not provided) | |
| constructorArgs | No | Constructor arguments |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It identifies the action as a deployment, but does not disclose important side-effects like broadcasting an on-chain transaction, spending gas, requiring a funded private key, or the behavior of the default CREATE2 factory. This is a significant gap for a mutation 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 a single sentence, front-loaded with the verb 'Deploy', and contains no filler. Every word adds value, making it appropriately concise and 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?
This is a complex 7-parameter deployment tool with no output schema and no annotation support. The description does not explain what the tool returns (e.g., deployed address, transaction hash), the implications of using CREATE2, or any prerequisites like default factory availability on different chains. For a tool with this complexity and no output schema, the description is incomplete.
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 covers 100% of parameters with descriptions, so the baseline is 3. The tool description adds little beyond the schema, merely reinforcing that salt and network contribute to deterministic addresses, which is already implied by the schema descriptions. It does not explain any complex interactions like how abi relates to constructorArgs.
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 ('Deploy a contract') with the method ('using CREATE2') and the key benefit ('deterministic addresses across chains'). This distinguishes it from sibling tools like deploy_contract and deploy_proxy, which likely use standard CREATE or proxy patterns.
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 this tool: when you need deterministic addresses across chains. This is clear contextual guidance. However, it does not explicitly state when not to use it or mention alternatives like deploy_contract, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_proxyB
Deploy a proxy contract (UUPS or TransparentUpgradeableProxy) pointing to an implementation
| Name | Required | Description | Default |
|---|---|---|---|
| abi | No | Implementation ABI (required for init function encoding) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| initArgs | No | Arguments for initialization function | |
| initData | No | Initialization calldata (hex) to call on implementation | |
| proxyType | Yes | Type of proxy to deploy | |
| privateKey | Yes | Private key for deployment | |
| adminAddress | No | Admin address (for transparent proxy) | |
| initFunction | No | Name of initialization function | |
| implementationAddress | Yes | Address of the implementation contract |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the high-level purpose. It does not disclose that this is a state-changing on-chain transaction requiring a private key, that gas fees will be incurred, or any ownership/admin implications. For a mutation tool, this lacks behavioral 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 a single, front-loaded sentence with no unnecessary words. It efficiently communicates the core purpose without redundancy, making it highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters and no output schema, the description is far too sparse to be contextually complete. It does not explain the relationship between initData and initFunction/abi/initArgs, which parameters apply conditionally (e.g., adminAddress for transparent proxy), or any deployment prerequisites. The schema alone cannot compensate for missing high-level guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add meaningful parameter semantics beyond what the schema already provides; it mentions proxy types and implementation, which are already explicit in the schema enums and 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 states a specific action ('Deploy a proxy contract') with clear resource (UUPS or TransparentUpgradeableProxy) and purpose ('pointing to an implementation'). It distinguishes itself from general deployment tools like deploy_contract or deploy_create2 by focusing on proxy deployment.
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 clearly implies this tool is for proxy deployment, but it does not explicitly state when to use it versus alternatives like deploy_contract or upgrade_proxy. There is no mention of exclusions or alternative tool recommendations, 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.
derive_addresses_from_mnemonicA
Derive multiple addresses from a mnemonic using HD wallet derivation paths
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Custom derivation path template (default: m/44'/60'/0'/0/{index}) | |
| count | No | Number of addresses to derive (1-20) | |
| mnemonic | Yes | BIP-39 mnemonic seed phrase | |
| startIndex | No | Starting index for derivation |
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 the core behavior of deriving multiple addresses using HD paths, but does not mention return format, security implications (e.g., handling of sensitive mnemonic), or that this is a read-only operation. The HD path concept is already partially present in the schema's path parameter description, so the description adds limited new behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the main action. Every word contributes to explaining the tool's purpose, with no filler or redundant details.
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 is relatively simple and the schema fully documents parameters, but without an output schema, the description does not state what is returned (e.g., an array of addresses). It also does not explicitly compare to the singular 'derive_address_from_mnemonic' sibling, leaving room for ambiguity about when to use which. This is adequate but with clear 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?
The schema has 100% description coverage for all four parameters, including defaults and ranges. The tool description adds no additional parameter-level semantics beyond what the schema already provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('derive'), a resource ('addresses from a mnemonic'), and a method ('using HD wallet derivation paths'). It distinguishes itself from the sibling tool 'derive_address_from_mnemonic' by explicitly saying 'multiple addresses', making 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?
While there is no explicit when-to-use or when-not-to-use guidance, the description clearly implies its intended use case of deriving multiple addresses from a mnemonic. The phrase 'multiple addresses' provides context that naturally differentiates it from the singular sibling, but no alternatives are explicitly mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
derive_address_from_mnemonicB
Derive an address from a mnemonic phrase with optional HD path
| Name | Required | Description | Default |
|---|---|---|---|
| mnemonic | Yes | The BIP-39 mnemonic phrase | |
| accountIndex | No | Account index for derivation (default: 0) | |
| addressIndex | No | Address index for derivation (default: 0) |
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 transparency burden. It only restates the core operation and does not disclose important behavioral traits such as whether the operation is local (no network call), that mnemonics are sensitive and should not be logged, or what the return value looks like. This is minimal 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 a single, concise sentence that front-loads the verb and resource. Every word contributes to understanding, with no redundancy or 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 tool with no annotations and no output schema, the description is sparse. It fails to specify the address format or blockchain network, the expected return type, whether the mnemonic is validated, or any security caveats. Given its ambiguous position among many chain-specific tools, this is a significant completeness 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?
The schema descriptions already fully document all three parameters (100% coverage). The description adds the term 'HD path' but doesn't explain how accountIndex and addressIndex correspond to it, so it adds marginal semantic value beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (derive), the input (mnemonic phrase), and the output (an address). It distinguishes itself from the sibling tool 'derive_addresses_from_mnemonic' by focusing on a single address, and from 'import_wallet_from_mnemonic' by not implying wallet import.
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 offers no guidance on when to use this tool over related tools like 'derive_addresses_from_mnemonic' or 'import_wallet_from_mnemonic'. It does not mention prerequisites, limitations, or exclusions, leaving the agent to infer usage solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_honeypotC
Check if a token is a honeypot (can buy but not sell)
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenAddress | Yes | Token address to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure, but it only clarifies the token-level definition of a honeypot. It does not disclose whether the operation is read-only, whether it makes on-chain queries, whether it requires authentication, or what potential limitations it might have. The absence of any side-effect or response behavior leaves the agent with insufficient information.
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 a single, compact sentence that delivers the essential meaning immediately. The parenthetical definition is valuable and not redundant. There is zero wasted wording, and the structure front-loads the key action and object.
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 output schema and no annotations, the description should convey what the caller can expect as a result. It does not specify the return type, format, or how to interpret the outcome (e.g., boolean, risk score, detailed report). The tool is simple, but the absence of any response hint makes the description incomplete for an agent that needs to decide on next actions.
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 complete descriptions for both parameters (100% coverage), including network examples and the token address field. The description adds no parameter-specific information beyond what the schema already conveys, so the baseline of 3 applies. It does slightly reinforce the purpose by tying the tokenAddress to the honeypot check, but no new semantics are introduced.
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: 'Check if a token is a honeypot' and defines a honeypot as 'can buy but not sell', which gives a precise, actionable meaning. The verb 'check' plus the resource 'token' is specific, but it doesn't contrast with adjacent security tools like analyze_token_security or goplus_token_security, so it stops 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?
No guidance is provided about when to use this tool instead of alternatives. The description only states what it does, with no context, prerequisites, or exclusions. It does not mention that other security tools might be more comprehensive or that this is a quick screening check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_rug_pull_riskC
Analyze a token contract for rug pull indicators and security risks
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenAddress | Yes | Token contract address to analyze |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but offers minimal detail. It doesn't disclose what the analysis entails, what indicators are checked, whether it's read-only, or what the output format is. This is a sparse one-liner.
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 a single, clear, front-loaded sentence with no filler words. It states the essential purpose efficiently.
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 purpose (security risk assessment) and the absence of an output schema, the description is too sparse. It doesn't explain the nature of the analysis, supported networks, or return value, leaving the agent with insufficient context to confidently select this tool among many security-related siblings.
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 covers both parameters with descriptions (100% coverage), so the baseline is 3. The description adds no additional parameter information, but the schema already provides sufficient meaning.
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 ('Analyze'), the resource ('a token contract'), and the focus ('rug pull indicators and security risks'). It does not explicitly differentiate from sibling tools like goplus_rugpull_detection or detect_honeypot, so it gets a 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool over alternative security analysis tools (e.g., goplus_rugpull_detection, detect_honeypot, analyze_token_security). There are no usage scenarios, prerequisites, or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dex_get_dex_poolsA
Get pools from a specific DEX on a network. First use dex_get_networks, then dex_get_network_dexes to find valid DEX IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| dex | Yes | DEX identifier from dex_get_network_dexes (e.g., 'uniswap_v3') | |
| page | No | Page number | |
| sort | No | Sort order | desc |
| limit | No | Results per page (max 100) | |
| network | Yes | Network ID (e.g., 'ethereum') | |
| orderBy | No | Field to order by | volume_usd |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for disclosing behavior. It only describes the purpose and required workflow; it does not mention whether the operation is read-only, how pagination works, what data fields are returned, or any rate limits. This is a significant gap, especially given the absence of an output 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 two short sentences that immediately state the tool's purpose and then provide the required usage sequence. There is no redundant information or fluff, making it highly concise and 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?
The tool has 6 parameters, no output schema, and no annotations. The description gives a basic workflow and purpose but omits details about return structure, pagination behavior, and how it relates to similar tools like dex_get_network_pools. It is adequate for an experienced agent but lacks completeness for an AI agent needing full operational context.
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 already provides 100% coverage for all six parameters, including the 'dex' parameter description referencing dex_get_network_dexes. The description adds the explicit step of using dex_get_networks first, but this is marginal extra meaning. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get pools from a specific DEX on a network', which is a specific verb and resource. It distinguishes itself from sibling tools like dex_get_network_pools (which fetches pools for a whole network) and dex_get_pool_details (which fetches a single pool) by emphasizing the 'specific DEX' scope.
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 instructs the user to first call dex_get_networks, then dex_get_network_dexes to find valid DEX IDs, providing clear prerequisite steps. However, it does not explicitly state when not to use this tool or name alternatives such as dex_get_network_pools, so it falls short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dex_get_multi_pricesB
Get batched prices for multiple tokens on a specific network. Efficient for portfolio valuations.
| Name | Required | Description | Default |
|---|---|---|---|
| tokens | Yes | Array of token contract addresses | |
| network | Yes | Network ID (e.g., 'ethereum') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It mentions 'batched' and 'efficient' but does not disclose return format, pricing currency, rate limits, or potential errors. This is a significant gap for a tool with no annotation support.
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 concise sentences with no filler. The first sentence states the primary function, and the second provides a use case. Perfectly structured for quick parsing.
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 is simple with two parameters and no output schema. The description gives a high-level overview but lacks details about the response structure (e.g., prices in USD or token-sorted). Given the absence of output schema and annotations, the description is not fully complete but adequate for a basic price fetch 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 100% for both parameters, so the schema already documents them clearly. The description adds no additional meaning beyond the schema, staying at the baseline of 3. It does not clarify token address format or network ID standards beyond what the schema provides.
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 gets batched prices for multiple tokens on a specific network. The verb 'Get' and resource 'batched prices for multiple tokens' are specific, and the network scope is a distinguishing factor. However, it does not explicitly differentiate from similar sibling tools like get_multiple_prices or defi_get_token_prices.
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 by stating it's 'Efficient for portfolio valuations,' which suggests when to use it. However, it does not provide explicit guidance on when not to use it or alternatives, so the usage guidance remains 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.
dex_get_network_dexesA
Get available DEXes on a specific network. First call dex_get_networks to see valid network IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| sort | No | Sort order | desc |
| limit | No | Results per page (max 100) | |
| network | Yes | Network ID from dex_get_networks (e.g., 'ethereum', 'solana') | |
| orderBy | No | Order by field |
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, but it only states the basic read action. It does not disclose pagination behavior, output format, potential empty results, rate limits, or error cases. The schema hints at pagination via page/limit, but the description itself adds little beyond the one-liner.
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 short sentences, front-loaded with the core purpose, and contains no filler or redundancy. Every word serves a purpose, and the prerequisite instruction is efficiently integrated.
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 essential purpose and prerequisite, and the schema fully documents parameters. However, there is no output schema and no description of what the response looks like, whether pagination is automatic, or how results are ordered by default. For a simple read/list tool this is adequate but leaves gaps about return semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters including example values for network. The description adds the prerequisite relationship to dex_get_networks, but this is also reflected in the network parameter's schema description. No additional semantic value is added for page, sort, limit, or orderBy.
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 ('Get available DEXes') and a specific resource ('on a specific network'), clearly indicating what the tool does. It does not explicitly contrast with sibling tools like dex_get_network_pools or dex_get_dex_pools, but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit prerequisite: 'First call dex_get_networks to see valid network IDs.' This provides clear sequential guidance. It does not mention when to use this tool over alternatives or exclusion criteria, so it stops short of a full when/when-not breakdown.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dex_get_network_poolsA
PRIMARY POOL FUNCTION: Get top liquidity pools on a specific network sorted by volume, price, or transactions. This is the main way to get pool data.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| sort | No | Sort order | desc |
| limit | No | Results per page (max 100) | |
| network | Yes | Network ID (e.g., 'ethereum', 'solana', 'arbitrum') | |
| orderBy | No | Field to order by | volume_usd |
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 not state whether the operation is read-only, how results are returned, pagination behavior, or error handling. It only restates sorting capabilities that are already implied by 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?
Two short sentences, front-loaded with the purpose label 'PRIMARY POOL FUNCTION'. Every word earns its place, with no unnecessary 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?
The tool has five parameters, no output schema, and annotations. The description gives a clear overview but does not detail return value structure, pagination behavior, or edge cases. It is minimally sufficient for a simple list tool, but more context could be added about what 'pool data' includes and how results are ordered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds a little context by mentioning sorting by volume, price, or transactions, which maps to some orderBy enum values, but it does not explain all fields or pagination parameters beyond what the schema already provides.
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 (get), the resource (top liquidity pools), and the scope (specific network, sorted by volume, price, or transactions). It distinguishes from siblings by labeling itself as the 'PRIMARY POOL FUNCTION' and 'main way to get pool data', though it does not explicitly name alternative 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 gives clear context that this is the primary way to get pool data, suggesting it should be used by default for pool queries. It does not provide explicit when-not-to-use guidance or name alternatives, but the 'main way' phrasing provides a strong usage signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dex_get_networksA
REQUIRED FIRST STEP: Get all supported blockchain networks for DEX data. Always call this first to see available network IDs like 'ethereum', 'solana', 'arbitrum', etc.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It does disclose the core behavior (returning supported networks) and provides example outputs, but it does not mention whether the call is read-only, if any prerequisites exist, or how the list is ordered/paginated. This is adequate for a simple discovery call but not richly 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 a single, tight sentence that front-loads the key directive ('REQUIRED FIRST STEP') and provides an illustrative example. Every word contributes to understanding when and why to call the tool, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, simple network-list tool, the description covers what the tool does, why it's needed, and what to expect. It could go further by mentioning that the returned IDs are used in subsequent DEX tool parameters, but the examples already imply this. The absence of an output schema is mitigated by the clear examples.
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 the baseline is 4. The description adds value by giving example return values ('ethereum', 'solana', etc.), which helps agents understand the domain of expected network IDs. There are no input parameters to describe, so this score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves all supported blockchain networks specifically for DEX data, with a specific verb ('Get') and resource ('all supported blockchain networks'). It also provides examples of network IDs, distinguishing it from generic network listing tools like get_supported_networks or geckoterminal_get_networks by scoping to DEX use.
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 marks this as 'REQUIRED FIRST STEP' and instructs 'Always call this first', providing clear when-to-use guidance. It doesn't name alternatives or exclusions, but the DEX-specific context and directive are sufficient for most agents to know 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.
dex_get_pool_detailsA
Get detailed information about a specific liquidity pool including reserves, fees, and token information.
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID (e.g., 'ethereum') | |
| inversed | No | Whether to invert the price ratio | |
| poolAddress | Yes | Pool contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does mention the categories of data returned (reserves, fees, token information), which gives some insight into the response, but it does not state that the operation is read-only, nor does it mention any constraints like supported networks or potential errors. It is adequately transparent for a simple read tool but not rich.
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 a single sentence that is front-loaded with the action and resource, and every phrase contributes to understanding. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description should more thoroughly explain what 'detailed information' includes. It names three categories but remains vague about other potential fields (e.g., fees breakdown, price, liquidity). Sibling tools exist for related data, so the agent would need more clarity on the exact response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond what the schema already provides for network, poolAddress, and inversed. It does not clarify parameter formats or relationships beyond the schema 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's action ('Get') and resource ('detailed information about a specific liquidity pool'), and names key content (reserves, fees, token information). This distinguishes it from sibling tools like dex_get_pool_ohlcv and dex_get_pool_transactions, which focus on historical data or trades.
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 detailed pool information is needed, but provides no explicit guidance on when to choose this over related tools (e.g., get_pool_reserves, geckoterminal_get_pool). No alternatives or exclusions are mentioned, so guidance 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.
dex_get_pool_ohlcvA
Get historical OHLCV (Open, High, Low, Close, Volume) price data for a pool. Essential for price analysis, charting, and backtesting.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | End time (max 1 year from start) | |
| limit | No | Number of data points (max 366) | |
| start | Yes | Start time (Unix timestamp, RFC3339, or yyyy-mm-dd) | |
| network | Yes | Network ID (e.g., 'ethereum') | |
| interval | No | Candle interval | 24h |
| inversed | No | Invert price ratio | |
| poolAddress | Yes | Pool contract address |
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 only restates the function and use cases, without disclosing return format, pagination, timezone handling, or error behavior. It adds minimal 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?
Two sentences capture the core action and use cases without redundancy. The first sentence front-loads the function, and every word 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?
Without an output schema, the description conveys the return type ('historical OHLCV price data') and provides sufficient purpose. Combined with the schema's clear input parameters, it is adequate for a straightforward data-fetching tool, though it doesn't detail array structures or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-specific context beyond the schema, not even referencing the required parameters. It neither improves nor harms the existing 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 clearly states the tool retrieves historical OHLCV price data for a pool, specifying the resource (pool) and data type (OHLCV). It expands the acronym and mentions use cases, distinguishing it from pool detail and transaction 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 by stating it's essential for price analysis, charting, and backtesting, which implies when to use it. However, it doesn't explicitly name alternatives or exclusions, leaving a 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dex_get_pool_transactionsB
Get recent transactions for a liquidity pool including swaps, adds, and removes.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (up to 100 pages) | |
| limit | No | Results per page (max 100) | |
| cursor | No | Transaction ID for cursor-based pagination | |
| network | Yes | Network ID (e.g., 'ethereum') | |
| poolAddress | Yes | Pool contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full behavioral burden. It reveals that the tool returns swaps, adds, and removes, but it does not disclose ordering, pagination behavior, time-window semantics, response shape, or any side effects. 'Recent' is vague and lacks a defined timeframe.
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 a single, front-loaded sentence with no filler. It immediately states the action and resource, then provides a compact list of included transaction types.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is not sufficiently complete. It does not clarify the return format, pagination details, or the exact meaning of 'recent'. The schema documents parameters, but the tool's response contract and behavioral limits remain underspecified.
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 already documents all 5 parameters fully (100% coverage), so the baseline is 3. The description adds no extra parameter-level context, but it does not need to given the schema's completeness.
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 ('Get') and identifies the resource ('recent transactions for a liquidity pool') while enumerating transaction types ('swaps, adds, and removes'). This clearly states the tool's purpose and distinguishes it from sibling tools like dex_get_pool_details or dex_get_pool_ohlcv.
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 guidance is given about when to use this tool versus related pool/trade tools. The purpose is implied, but there are no alternatives, exclusions, or context about conditions such as choosing this over geckoterminal_pool_trades or dex_get_pool_details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dex_get_statsA
Get high-level statistics about the DexPaprika ecosystem: total networks, DEXes, pools, and tokens available.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden of behavioral disclosure. It implies a read-only operation via 'Get' and lists the data scope, but does not discuss potential caching, data freshness, or authentication requirements. For a simple stats tool this is adequate but not extensive.
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 a single sentence that front-loads the verb and resource, and every word adds meaning. It lists the stats without unnecessary elaboration.
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, the description is the sole source of information about the return value. It names the key aggregate metrics, which is enough for an agent to decide whether to call this tool, though the exact output format is 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?
The input schema has zero properties, so there are no parameters to document. The description adds value by clarifying what the output statistics cover, but since there are no parameters, the baseline 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?
The description uses the verb 'Get' and specifies the resource as 'high-level statistics about the DexPaprika ecosystem'. It enumerates the specific metrics (total networks, DEXes, pools, and tokens), which clearly differentiates it from sibling tools like dex_get_networks or dex_get_network_dexes that focus on specific subsets.
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 clearly indicates this is for an overview of the entire ecosystem, implying it should be used when aggregate statistics are needed. However, it does not explicitly mention alternatives or conditions when not to use it, so it falls short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dex_get_token_detailsB
Get detailed information about a token on a specific network including price, volume, and trading pairs.
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID (e.g., 'ethereum') | |
| tokenAddress | Yes | Token contract address |
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 mentions the output includes price, volume, and trading pairs, but it does not describe any limitations, data source specifics, failure behavior, or whether it is strictly read-only. For a tool with no explicit readOnly hint, this is insufficient.
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 a single concise sentence that front-loads the primary action and key output fields. There is no redundant or unnecessary text, making it appropriately sized 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?
The description covers the core purpose but lacks context for a tool with no output schema and many siblings. It does not specify which networks are supported, whether data is sourced from a specific provider, or any caveats. Given the simplicity of the tool, this is minimally acceptable but leaves 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 100%, with both 'network' and 'tokenAddress' having descriptions. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 applies. It does not elaborate on the parameters or their relationships.
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: 'Get detailed information about a token on a specific network including price, volume, and trading pairs.' This identifies the verb (get), the resource (token details), and specific aspects. However, it does not explicitly distinguish this tool from siblings like dex_get_token_pools or get_erc20_token_info, so it lacks 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 offers no guidance on when to use this tool versus alternatives. It does not mention any exclusions or alternative tools for related use cases, such as getting token pool information or ERC-20 token info. This leaves the agent without context for selection among many similar siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dex_get_token_poolsB
Get liquidity pools containing a specific token. Great for finding where a token is traded and its liquidity.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| sort | No | Sort order | desc |
| limit | No | Results per page (max 100) | |
| network | Yes | Network ID (e.g., 'ethereum') | |
| orderBy | No | Field to order by | volume_usd |
| reorder | No | Reorder so specified token is primary | |
| pairedWith | No | Filter pools paired with this token address | |
| tokenAddress | Yes | Token contract address |
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 disclosing behavioral traits. It does not mention pagination (page/limit), sorting options (orderBy/sort), reordering behavior, or pairing filters. The only addition is a high-level use case, leaving the agent unaware of key behaviors such as default sorting by volume or the ability to filter by paired token.
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 concise sentences, front-loaded with the action and resource. It avoids redundant detail and every word earns its place, providing a quick and clear summary without unnecessary fluff.
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 8 parameters, no output schema, and no annotations, the description is too sparse. It does not explain the return structure (e.g., what fields a liquidity pool object contains), how sorting/filtering parameters affect results, or how to navigate through pages. This leaves significant gaps for an agent trying to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameter descriptions are already complete. The description adds slight semantic value by emphasizing 'specific token' (maps to tokenAddress) and 'liquidity' (related to volume_usd ordering), but it does not elaborate on optional parameters like pairedWith or reorder. This meets the baseline for high schema coverage without adding much extra meaning.
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 ('Get liquidity pools') and the specific resource ('containing a specific token'). It distinguishes this from sibling tools like dex_get_network_pools or dex_get_dex_pools by focusing on token-based lookup, and the phrase 'where a token is traded' adds practical context. This is a precise, non-tautological statement of purpose.
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 a use case ('Great for finding where a token is traded and its liquidity') but does not explicitly state when to use this tool versus alternatives like geckoterminal_token_pools or dex_get_dex_pools. It lacks exclusions or direct comparisons to sibling tools, so the guidance is only implicit rather than actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dex_searchA
Search across ALL networks for tokens, pools, and DEXes by name, symbol, or address. Good starting point when you don't know the specific network.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search term (token name, symbol, or address) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that the search spans all networks and covers tokens, pools, and DEXes. However, it does not describe result format, pagination, matching behavior, or any rate limits. This is minimal but acceptable for a read-only search 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 two short sentences, front-loaded with the primary action and scope, followed by a practical use case. Every word adds value, with no redundant or filler 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 one-parameter search tool, the description provides sufficient context: what it searches, across what scope, and when to use it. It doesn't explain output structure, but the absence of an output schema and the tool's simplicity make this acceptable. The mention of 'starting point' helps integrate with the broader toolset.
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 already provides 100% coverage with 'Search term (token name, symbol, or address)'. The description repeats this information ('by name, symbol, or address') without adding new meaning. Given the schema's high coverage, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches across ALL networks for tokens, pools, and DEXes by name, symbol, or address. The verb 'search' and specific resource types ('tokens, pools, and DEXes') make the purpose explicit. It also distinguishes itself from sibling network-specific tools by emphasizing the cross-network scope.
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 usage guidance: 'Good starting point when you don't know the specific network.' This explicitly tells the agent when to use this tool and implies that network-specific tools are preferable when the network is known. It lacks an explicit naming of alternatives, but the context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dogecoin_get_balanceA
Get balance for a Dogecoin address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Dogecoin address to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavior such as read-only status, confirmation of balance, or response format. It only says 'Get balance,' which minimally implies read-only but does not provide sufficient behavioral context for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of 8 words. Every word earns its place, and it is extremely 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?
For a one-parameter read-only balance getter, the description and schema are mostly adequate. It does not explain the return format or any edge cases, but the low complexity keeps this from being a major 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?
The input schema already provides 100% coverage for the single address parameter, and the tool description adds no additional meaning beyond what the schema documents. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and the resource ('balance for a Dogecoin address'), making it easy to distinguish from other chain-specific balance tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: use this tool when you need a Dogecoin address balance. However, it does not explicitly mention when not to use it or point to alternative tools like bitcoin_get_balance, so it lacks explicit exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dogecoin_get_network_infoB
Get current Dogecoin network information including fee rates
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 only states that it gets network information and mentions fee rates, but does not describe what fields are returned, whether the call is read-only (implied but not explicit), or any potential side effects or limitations.
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 a single, concise sentence with no redundancy. It front-loads the action ('Get current Dogecoin network information') and includes a useful detail ('including fee rates') without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no parameters, so the description must fully explain what the agent can expect. It mentions fee rates but leaves the scope of 'network information' vague, which is insufficient for a tool that may return various metrics like block height, difficulty, or connections.
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 the description is not required to explain parameter details. The schema coverage is vacuously 100%, and the baseline for 0 params is 4, which is appropriate here.
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 retrieves current Dogecoin network information, with fee rates as a specific included element. It distinguishes itself from other chain-specific network info tools by name and the explicit mention of Dogecoin, but does not elaborate on what other information is included.
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 guidance is provided on when to use this tool versus alternatives. While the name scopes it to Dogecoin, there is no mention of appropriate contexts, exclusions, or comparisons to sibling tools like bitcoin_get_network_info or dogecoin_get_balance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dogecoin_get_transaction_historyB
Get transaction history for a Dogecoin address
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of transactions to return | |
| offset | No | Number of transactions to skip | |
| address | Yes | Dogecoin address to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits itself. It only says 'Get transaction history' and omits useful details such as pagination defaults, ordering, transaction types (incoming/outgoing), or any network defaults. This is minimal and does not enrich the agent's understanding beyond the tool's name.
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 a single, direct sentence with no extraneous words. It is front-loaded with the action and resource, achieving clarity in one breath.
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 read-only listing tool with three well-documented parameters, the description is minimally viable. However, it lacks details about pagination behavior or response format, which would be useful given the absence of an output schema and annotations. It covers the core intent but not the full context.
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 descriptions for all three parameters (address, limit, offset), giving 100% coverage. The description adds no additional parameter-level meaning, which aligns with the baseline of 3 when the schema is fully descriptive.
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 'Get' with an explicit resource 'transaction history' and target address, clearly identifying its purpose. It distinguishes itself from sibling Dogecoin tools like dogecoin_get_balance and dogecoin_get_network_info.
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 guidance is provided on when to use this tool versus alternatives, nor any exclusions or contextual hints. The description merely states what it does without explaining when it is preferable to similar chain-specific transaction history tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dogecoin_validate_addressA
Validate a Dogecoin address format
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Dogecoin address to validate |
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 of behavioral disclosure. It only says 'validate format' but does not indicate what the return value looks like (e.g., boolean, result object), whether the validation includes checksum verification or only basic format checks, or how invalid addresses are handled. This lack of behavioral information is a significant gap for an agent selecting the 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 a single, front-loaded sentence with zero unnecessary words. It clearly conveys the tool's purpose without any redundancy or 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 one-parameter validation tool, the description states the core purpose, but it does not explain the output format or edge-case behavior. With no output schema and no annotations, the description should provide more context about what the agent can expect after invoking the tool. However, given the tool's simplicity, it remains minimally adequate.
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 already provides complete coverage for the single parameter 'address' with the description 'Dogecoin address to validate.' The tool description adds no extra semantic meaning beyond the schema, but since schema coverage is 100%, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Validate') and the specific resource ('Dogecoin address format'). It distinguishes itself from sibling validation tools for other blockchains like bitcoin_validate_address and xrp_validate_address, making the tool's purpose immediately obvious.
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 is implied by the tool name and description: use this when you need to validate a Dogecoin address. However, it does not explicitly mention when to use this instead of other validation tools (e.g., the generic validate_address) or provide any context about input requirements beyond the address parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
encode_call_dataA
Encode function call data for use in multicall
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes | Function arguments as strings | |
| functionSignature | Yes | Function signature (e.g., 'balanceOf(address)') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It states the operation is to encode function call data, implying a pure computation with no side effects, and 'for use in multicall' adds context about the output's purpose. However, it does not disclose the return format (e.g., hex string), encoding standard, or potential error conditions, leaving some ambiguity for a fully self-sufficient 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 a single, efficient sentence: 'Encode function call data for use in multicall'. Every word contributes to understanding the tool's purpose and usage context, with 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?
For a simple tool with only two parameters and a clear purpose, the description is adequate. The schema fully documents the parameters, and the description explains the tool's role in the multicall workflow. However, without an output schema, a brief note about the return value (e.g., encoded hex string) would have made it fully complete, so it is slightly shy of 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 coverage is 100%, with both functionSignature and args fully described in the schema. The description adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Encode' with a clear resource 'function call data' and a specific context 'for use in multicall'. This distinguishes it from generic encoding tools like abi_encode, encode_packed, and calculate_event_signature, which are present in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for use in multicall' explicitly ties this tool to the multicall workflow, indicating when it should be used. It provides clear context but does not mention exclusions or alternatives like 'use encode_packed for packed data'. This is a clear context without explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
encode_packedA
Encode values using Solidity's abi.encodePacked (non-standard packed encoding)
| Name | Required | Description | Default |
|---|---|---|---|
| types | Yes | Array of Solidity types (e.g., ['address', 'uint256']) | |
| values | Yes | Array of values corresponding to the types |
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 that encoding is 'non-standard packed', which is a key behavioral trait. However, it does not mention potential pitfalls like collision risks, no padding, or validation behavior. For a pure encoding function, this may be acceptable but still leaves 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 a single, concise sentence that conveys the essential information without unnecessary detail. It is well-structured and easy to parse.
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 there is no output schema, the description does not explain the return format (e.g., hex string). It also does not mention constraints like the length of the types and values arrays. For an AI agent, this may be sufficient for basic use, but it lacks completeness for robust 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 already provides 100% coverage for both parameters, including examples for types and descriptions for values. The description adds no extra semantic information beyond what the schema offers, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: encoding values using Solidity's abi.encodePacked. It identifies the specific method (abi.encodePacked) and notes the 'non-standard packed encoding' trait, distinguishing it from a probable sibling like abi_encode.
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 that this tool is for packed encoding, which implies when to use it. However, it does not explicitly name alternatives or state when not to use it. The qualifier 'non-standard packed encoding' provides nuance but lacks an explicit comparison to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_block_timeA
Estimate the average block time for a network by analyzing recent blocks
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| sampleSize | No | Number of recent blocks to sample for estimation (5-100) |
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 methodology ('by analyzing recent blocks') but omits other important behavioral traits such as return format, error behavior, or safety (read-only). This is a noticeable gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It communicates the core purpose efficiently and is appropriately sized for the tool's simplicity.
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 low-complexity tool with well-documented parameters, the description sufficiently covers purpose and methodology. Without an output schema, it doesn't explicitly state the return format (e.g., seconds), but the meaning of 'average block time' is clear enough to make the tool usable.
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 already provides 100% coverage with detailed descriptions for both parameters, including defaults, ranges, and examples. The description adds no additional parameter semantics beyond what the schema already documents.
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 the specific verb 'Estimate' and clearly identifies the resource ('average block time') and scope ('for a network'), making the tool's purpose immediately understandable. It distinguishes itself from sibling tools by focusing on estimation rather than direct block retrieval.
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 context for when to use the tool (when an average block time estimate is needed) but does not mention alternatives or when not to use it. Usage guidance is implied via the verb 'Estimate' rather than explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_bridge_timeC
Estimate how long a bridge transfer will take
| Name | Required | Description | Default |
|---|---|---|---|
| bridge | No | Specific bridge (returns all if not specified) | |
| destChain | Yes | Destination chain | |
| sourceChain | Yes | Source chain |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states the basic action without revealing whether this is a read-only operation, what units the estimate returns, or how the optional 'bridge' parameter affects the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the core purpose without any extraneous wording. It is short and easy to parse, earning a high score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what the estimate looks like (e.g., time in seconds/minutes) and the impact of the optional bridge parameter. It does neither, leaving the agent under-informed for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all three parameters with meaningful descriptions (e.g., 'Specific bridge (returns all if not specified)'), so the baseline is 3. The description adds no extra parameter semantics, but the schema already handles this dimension.
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 estimates bridge transfer duration, with a specific verb ('estimate') and resource ('bridge transfer time'). It is distinct from sibling tools like get_bridge_quote or execute_bridge, though it could have been more explicit about the required source and destination chains.
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 guidance on when to use this tool versus other bridge-related tools such as get_bridge_quote or rubic_get_bridge_quotes. There is no mention of prerequisites, alternatives, or exclusion criteria, leaving the agent without context for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_gasC
Estimate gas for a specific transaction
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient/contract address | |
| data | No | Transaction data (hex) | |
| from | No | Sender address | |
| value | No | Value in wei | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 of behavioral disclosure. It only says 'estimate' without explaining whether this is a read-only operation, if it requires network access, or what errors may occur. This is insufficient for a transaction-estimation 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 a single, direct sentence with zero wasted words. It is appropriately front-loaded and easily parsed.
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 5 parameters and no output schema, so the description must clarify what is returned (e.g., gas limit vs. price). It does not, leaving the agent uncertain about the response. It also lacks any context about network behavior or relation to sibling tools. For a tool of this complexity, the description is inadequate.
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 100% parameter description coverage, so the description does not need to explain parameter semantics. It adds no extra insight beyond 'specific transaction', which does not meaningfully enhance schema-provided information. Baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool estimates gas for a specific transaction, providing a clear verb and resource. The 'specific transaction' scope adds some distinction, but it does not explicitly differentiate from sibling tools like get_gas_price or estimate_gas variants.
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 guidance on when to use this tool versus alternatives such as get_gas_prices_all_chains or calculate_tx_cost. There are no exclusions, examples, or context to help an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_bridgeC
Execute a cross-chain bridge transfer
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token address to bridge | |
| amount | Yes | Amount to bridge (in wei) | |
| bridge | Yes | Bridge to use (stargate, layerzero, wormhole, across) | |
| destChain | Yes | Destination chain | |
| recipient | No | Recipient address on destination chain (defaults to sender) | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| sourceChain | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states the action without mentioning that this is an on-chain transaction, that funds will be transferred, that a private key is required, or any risk/side-effect information. The privateKey parameter hints at sensitivity but the description adds no 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 a single sentence with no fluff, but it is too underspecified for a complex tool. It is concise but not appropriately sized given the tool's 7 parameters and sensitive privateKey input, so it lacks the structure needed to be truly helpful.
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 is complex (7 params, includes privateKey, no output schema, no annotations) but the description provides almost no contextual completeness. It does not explain what happens on success, return format, chain support, or any operational caveats. This is a significant 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 100%, so all parameters are already described in the schema. The description adds no parameter-specific meaning. Baseline 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool executes a cross-chain bridge transfer, with a specific verb and resource. However, it does not distinguish itself from sibling tools like execute_swap or the various bridge quote/status tools, 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?
There is no guidance on when to use this tool versus alternatives. No mention of prerequisites (e.g., obtaining a bridge quote via get_bridge_quote or checking supported chains via get_supported_bridges), and no exclusions or warnings are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_multicallB
Execute multiple contract calls in a single transaction
| Name | Required | Description | Default |
|---|---|---|---|
| calls | Yes | Array of calls to execute | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 of behavioral disclosure. It only states batching in a single transaction but does not explain that this executes a state-changing on-chain transaction, potential revert/atomicity behavior, gas costs, or what the return value looks like. This is a significant gap for a mutating contract 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 a single sentence that gets straight to the point. It is front-loaded, uses no filler, and is appropriately sized for a tool with only two 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 transaction-executing tool, the description is under-specified. With no output schema and no annotations, the agent is left without information about return values, failure behavior, or whether this broadcasts a real transaction. Sibling tools like write_contract or simulate_transaction suggest nuance, but this tool's description does not clarify where it fits.
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 100% coverage with descriptions for both parameters (calls, network). The tool description adds no additional parameter semantics beyond what the schema already states, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Execute' and the resource 'multiple contract calls in a single transaction', clearly distinguishing it from sibling single-call tools like read_contract, write_contract, and simulate_transaction. It is concise yet unambiguous about its core 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?
The description implies usage when multiple contract calls need to be batched into one transaction, but it provides no explicit guidance on when to choose this tool over individual calls or alternatives like simulate_transaction. There are no when-not conditions or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_proposalB
Execute a queued proposal after timelock delay
| Name | Required | Description | Default |
|---|---|---|---|
| values | Yes | ETH values for each call (in wei) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| targets | Yes | Target contract addresses | |
| calldatas | Yes | Encoded call data for each target | |
| privateKey | Yes | Private key for signing transaction | |
| descriptionHash | Yes | Keccak256 hash of proposal description | |
| governorAddress | Yes | Governor contract address |
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 fails to disclose that this is an on-chain mutation, requires a private key for signing, is irreversible, and may fail if the timelock has not elapsed or if the proposal is not in a queued state. The description offers no safety or side-effect information.
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 a single, front-loaded sentence with no filler. Every word contributes to stating the purpose clearly, making it highly efficient and concise.
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?
As a governance execution tool with no annotations and no output schema, the description is too thin. It lacks critical context such as preconditions (proposal must be queued, timelock elapsed), what happens on successful execution, how it fits into the overall governance workflow, and potential failure modes. More explanation is needed for such a sensitive 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?
All 7 parameters are described in the input schema (100% coverage), so the schema already provides detailed parameter semantics. The description adds no extra meaning beyond specifying the overall action, which is acceptable given the schema's thoroughness.
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 ('Execute'), the resource ('a queued proposal'), and a key condition ('after timelock delay'). This distinguishes it from siblings like queue_proposal and cast_vote, making the tool's purpose immediately understandable.
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 the tool (after a proposal is queued and the timelock delay has elapsed), but it does not explicitly mention exclusions or name alternatives. Sibling tools like queue_proposal and cancel_proposal exist, and no guidance is given for choosing between them, leaving the usage context partly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_swapC
Execute a token swap on a DEX
| Name | Required | Description | Default |
|---|---|---|---|
| dex | No | Specific DEX to use | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenIn | Yes | Address of the token to sell | |
| amountIn | Yes | Amount of input token (in wei/smallest unit) | |
| deadline | No | Transaction deadline in seconds from now (default: 1200 = 20 minutes) | |
| tokenOut | Yes | Address of the token to buy | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| minAmountOut | Yes | Minimum amount of output token to receive (slippage protection) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing that this executes a financial transaction, spends funds, requires gas, and is irreversible. It only says 'Execute a token swap', which implies action but provides no explicit warning or operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, but it adds almost no information beyond the tool name 'execute_swap'. It is under-specified rather than efficiently informative, so it 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?
For a tool with 8 parameters, 5 required, no output schema, and no annotations, the description is far too sparse. It omits critical context such as network scope, the need for quotes/slippage checks, gas requirements, and the irreversible nature of the transaction, making it inadequate for an agent to use safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with per-parameter descriptions, so the baseline is 3. The description adds no parameter-level semantics beyond what the schema already provides; it merely repeats the generic 'swap on DEX' context.
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 'Execute a token swap on a DEX' clearly identifies the action (execute) and resource (token swap on DEX), which distinguishes it from non-swap tools. However, it does not differentiate from chain-specific swap tools like solana_execute_swap or mention the EVM/network context, so it lacks 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 gives no guidance on when to use this tool versus alternatives such as get_swap_quote or get_best_route, nor does it mention prerequisites like token approval or quoting. There is no context for selecting this over other swap/bridge execution tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_news_dataB
Export news data to CSV or JSON. $0.02/request. Download bulk news data for analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Export format | csv |
| endDate | Yes | End date (YYYY-MM-DD) | |
| sources | No | Filter by sources | |
| keywords | No | Filter by keywords | |
| startDate | Yes | Start date (YYYY-MM-DD) | |
| maxRecords | No | Maximum records to export |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses the per-request cost ($0.02/request) but does not explain result delivery (e.g., file download, URL), record limits, pagination, or any filtering behavior beyond what the schema already states. The absence of output schema makes this a notable 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 description is extremely brief, using two short sentences plus a cost note. Every phrase adds value: the export formats, the per-request price, and the bulk-analysis intent. No filler or unnecessary 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?
The tool has six parameters and no output schema, so the description must clarify usage context. It covers the export purpose and cost but omits return-value format, delivery mechanism, and any limits or preconditions. The schema covers parameters, but the description leaves operational details vague, making it minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no extra meaning to parameters beyond repeating the CSV/JSON format. It does not elaborate on date ranges, sources, keywords, or maxRecords, but the schema descriptions already cover these.
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 exports news data to CSV or JSON, with the verb 'export' and resource 'news data'. The mention of 'bulk news data for analysis' helps differentiate it from sibling news-fetching tools like get_crypto_news, but does not explicitly name any 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?
No guidance is provided on when to use this tool versus alternatives such as search_historical_news or get_crypto_news. The description implies bulk download usage but lacks any explicit context, exclusions, or comparative advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_nft_metadataC
Fetch and parse NFT metadata from its token URI
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenId | Yes | Token ID to fetch metadata for | |
| collectionAddress | Yes | NFT collection contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It mentions 'fetch and parse' which implies network access and parsing, but it does not disclose that this is a read-only operation, possible failure modes (e.g., invalid token URI), or whether the metadata is returned as raw JSON or parsed fields. This is insufficient without annotation support.
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 a single concise sentence, front-loaded with the action. It is appropriately sized for the tool's simplicity and wastes no words, providing the essential information in eight words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description does not fully cover what the agent needs to know. It does not mention the return value format, error handling, or special cases like non-standard metadata. The presence of many sibling NFT tools makes this brevity a gap, as the agent cannot infer whether this tool returns on-chain data vs. parsed URI content.
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 already provides descriptions for all three parameters (network, tokenId, collectionAddress), giving 100% schema coverage, so the baseline is 3. The description adds no additional parameter semantics beyond what the schema provides; it does not clarify how the token URI is derived or any constraints on the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Fetch and parse' and the resource 'NFT metadata from its token URI', making the tool's function unambiguous. However, it does not explicitly differentiate from similar sibling tools like get_nft_info or get_erc1155_token_metadata, which may also return metadata.
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 guidance on when to use this tool versus alternatives, such as when to prefer it over get_nft_info or get_nft_collection_info. There is no 'when to use' or 'when not to use' context, leaving the agent without direction given the large pool of NFT-related sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
format_unitsA
Convert smallest unit value to human-readable format (e.g., wei to ETH)
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | Value in smallest unit (e.g., wei) | |
| decimals | No | Number of decimals |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosure. It conveys the core conversion behavior but does not mention rounding/precision behavior, return type, or how the decimals parameter affects output beyond the schema. It is adequate for this simple pure function but lacks detail on edge cases.
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 that immediately states the action and includes a clarifying example. No wasted words, ideal for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with fully described parameters and no output schema. The description clarifies the output as 'human-readable format,' implying a formatted string. Combined with the schema, this is sufficient 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 coverage is 100%, so baseline is 3. The description's example (wei to ETH) aligns with the schema's value and decimals parameters but adds no new semantic information beyond what the schema already provides. The schema itself documents both parameters effectively.
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 operation: converting a smallest unit value to a human-readable format, with a concrete example (wei to ETH). This distinguishes it from inverse tools like parse_units and leaves no ambiguity about the direction of conversion.
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 a raw integer value and need a formatted decimal, but it does not explicitly mention alternative tools such as parse_units or provide when-not-to-use guidance. Given the sibling context includes parse_units, explicit differentiation would have been helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_dex_poolsC
Get pools for a specific DEX on a network
| Name | Required | Description | Default |
|---|---|---|---|
| dex | Yes | DEX ID (e.g., 'uniswap_v3', 'sushiswap') | |
| page | No | Page number | |
| sort | No | Sort order | h24_volume_usd_desc |
| network | Yes | Network ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It simply states the function without mentioning pagination (despite a page parameter), sorting behavior, or what data is returned, providing no transparency about side effects, rate limits, or response characteristics.
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 a single clear sentence with no wasted words, making it easy to parse, though its brevity also contributes to its inadequacy.
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 four parameters, the presence of pagination and sorting, and more than thirty similarly named pool-related siblings, this minimal description is insufficient. It doesn't explain the returned data structure or how this tool differs from related tools like dex_get_dex_pools or geckoterminal_pool_ohlcv.
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 already documents all four parameters with 100% coverage, including defaults for page and sort. The description adds no parameter guidance beyond what the schema provides, so it stays at the baseline.
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 retrieves pools for a specific DEX on a network, with a clear verb and resource. However, it does not distinguish this from many similar sibling tools like dex_get_dex_pools, geckoterminal_get_pool, or geckoterminal_top_pools, which also involve pools.
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 offers no guidance on when to use this tool compared to alternatives, nor does it mention any prerequisites or exclusions. With over a dozen DEX-related siblings, this lack of context is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_get_dexesA
Get all DEXes on a specific network
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| network | Yes | Network ID (e.g., 'eth', 'bsc', 'polygon_pos') |
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 does not mention that this is a read-only operation, does not explain pagination despite the page parameter, and does not describe the structure of the returned DEX objects. The word 'all' is misleading given the presence of a page parameter.
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 a single, front-loaded sentence with no redundant words. It efficiently and clearly states the tool's core purpose without unnecessary elaboration.
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 absence of an output schema and annotations, the description leaves important gaps: it does not clarify pagination behavior, the meaning of 'all' in the context of the page parameter, or the shape of the returned data. It is minimally adequate but lacks critical context for fully informed 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?
The input schema already provides complete descriptions for both parameters with 100% coverage, including network ID examples and a page default. The description adds no additional parameter semantics beyond what the schema conveys.
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 (Get), the resource (all DEXes), and the scope (on a specific network). It effectively distinguishes this tool from siblings like geckoterminal_get_networks, which lists networks rather than DEXes.
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 the user wants DEXes for a given network, but it provides no explicit guidance on when not to use it or which alternatives exist (e.g., dex_get_network_dexes, get_supported_dexs). There is no comparative context to help the agent select among overlapping DEX-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_get_multi_poolsC
Get information for multiple pools in a single request (up to 30)
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID | |
| poolAddresses | Yes | Array of pool addresses (max 30) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral transparency. It only conveys that this is a read operation and that up to 30 pools can be queried. It doesn't disclose response format, error behavior, partial failures, or any rate limits, leaving significant 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 a single, clear sentence with no wasted words. It front-loads the key purpose and batch limit. While it could be slightly more informative without becoming verbose, it is appropriately concise.
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 batch query tool with no output schema and no annotations, the description is too terse. It doesn't explain what pool information is returned, how to format the network parameter, or how errors are handled. This leaves the agent under-informed for 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?
Schema coverage is 100%, as both 'network' and 'poolAddresses' are already described in the input schema. The description adds the 'up to 30' limit, which is also present in the schema (maxItems). Since the schema does the heavy lifting, the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'information for multiple pools' with a batch limit. It differentiates from sibling tools like geckoterminal_get_pool by emphasizing 'multiple pools' and 'single request'. However, it doesn't specify what 'information' encompasses or explicitly name alternatives, so it's not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like geckoterminal_get_pool or batch pricing endpoints. Its usage is merely implied from the description, with no explicit mention of when it should be preferred or excluded.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_get_multi_tokensC
Get information for multiple tokens in a single request (up to 30)
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID | |
| tokenAddresses | Yes | Array of token addresses (max 30) |
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 only states that multiple tokens are fetched in one request and does not describe what 'information' is returned, whether the operation is read-only, error handling, or any rate limits. This is a minimal 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 a single, concise sentence that front-loads the core purpose and key constraint. No redundant information is included.
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 must convey what 'information' is returned, but it does not. It also does not mention response formatting, pagination, or any other contextual details. For a batch token tool, this is insufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, so the schema already documents network and tokenAddresses. The description adds the batch limit but this is also present in the schema (maxItems: 30). Thus, the description adds little beyond the schema, warranting the baseline score of 3.
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 ('Get') and resource ('information for multiple tokens') with a batching constraint ('in a single request (up to 30)'). It distinguishes from the single-token sibling geckoterminal_get_token but does not differentiate from other multi-token tools like get_multi_token_info.
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 batching (single request, max 30) but provides no explicit guidance on when to choose this tool over alternatives such as get_multi_token_info or dex_get_multi_prices. There is no mention of exclusions or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_get_networksB
Get all blockchain networks supported by GeckoTerminal
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior itself. The phrase 'Get all' is at odds with the paginated page parameter in the schemaโthere is no mention that results are paginated or that multiple pages may be needed. It also doesn't describe the return format or any limitations.
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 a single sentence with no filler or repetition, efficiently conveying the core purpose in minimal words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool, the description is mostly adequate, but it lacks critical context about pagination behavior and does not clarify how the optional page parameter affects the 'all' claim. Given no output schema or annotations, this missing information leaves the agent uncertain about how to retrieve the complete list.
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 fully documents the single page parameter, and its description is straightforward. The tool description adds no additional semantic meaning about how pagination interacts with 'all networks', so it stays at the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' with the resource 'all blockchain networks' scoped to 'supported by GeckoTerminal', making the tool's primary function clear. It does not explicitly differentiate from sibling tools like geckoterminal_get_dexes or dex_get_networks, but the resource and scope are 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?
There is no guidance on when to choose this tool over alternatives such as get_supported_networks or dex_get_networks, nor any mention of pagination or use cases. The description simply states what it does without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_get_poolB
Get detailed information about a specific pool by address
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID | |
| poolAddress | Yes | Pool contract address |
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 of behavioral disclosure. However, it only says 'Get detailed information' without elaborating on read-only semantics, response format, data freshness, or potential error conditions. This is a significant gap for a tool with no annotation safety net.
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 a single sentence of nine words, clearly front-loaded with the action and resource. There is no wasted language or redundant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and a sparse description, the tool's behavior is under-specified. The description doesn't explain what 'detailed information' includes, how to format the network ID, or any other context that would help an agent invoke it confidently. The wealth of sibling tools adds ambiguity that the description does not resolve.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described ('Network ID' and 'Pool contract address'). The description's 'by address' reinforces the poolAddress parameter but adds little beyond the schema. Baseline 3 is appropriate because the schema already handles 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 clearly states the action ('Get'), the resource ('detailed information about a specific pool'), and the method ('by address'). This distinguishes it from related siblings like geckoterminal_get_multi_pools (multiple pools) and geckoterminal_pool_trades (trades).
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 guidance is provided on when to use this tool versus alternatives. There is no mention of exclusions, alternatives, or specific scenarios. The description simply states what it does without contextualizing it among the many related geckoterminal pool tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_get_tokenB
Get detailed token information including price, market cap, and metadata
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID | |
| tokenAddress | Yes | Token contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It indicates a read-only operation by using 'get' and lists the types of data returned (price, market cap, metadata), but it does not elaborate on error cases, rate limits, or that it only queries a single token per call. This provides some transparency but not comprehensive 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 a single, focused sentence that gets straight to the point. Every word contributes to the meaning, and there is no redundant or filler content, making it optimally concise and 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?
The tool has a simple two-parameter interface and no output schema, so the description must explain return values. It lists price, market cap, and metadata, but 'metadata' is vague and the structure of the response is not defined. For a single-token read operation, the information is adequate but lacks depth, leaving the agent uncertain about what other data might be included.
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 fully documents both parameters with descriptions ('Network ID' and 'Token contract address'), providing 100% coverage. The description adds no additional semantic detail about parameter formats or relationships beyond what the schema already provides, so a baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves detailed token information including price, market cap, and metadata, which is specific and actionable. It distinguishes itself from multi-token or price-only tools by implying a full token detail view, though it does not explicitly reference 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?
No guidance is provided on when to use this tool versus alternatives such as geckoterminal_get_multi_tokens or market_coingecko_coin. The description lacks any mention of preferred use cases or exclusions, leaving the agent to infer usage from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_global_dex_statsB
Get global DEX trading statistics and market overview
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided and the description offers almost no additional behavioral detail. It does not specify what metrics are included, whether the data is real-time, or the return format, leaving the agent to infer behavior from the tool name alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the tool's purpose 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?
As a parameterless tool without an output schema, the description gives a high-level purpose but fails to elaborate on the actual contents of 'trading statistics' or 'market overview.' It is minimally sufficient for invocation but not deeply informative.
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 the schema already fully describes its signature. The description's 'global' qualifier adds no parameter-specific meaning, but no compensation is necessary; the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Get global DEX trading statistics and market overview' using a specific verb and resource. The 'global' scope distinguishes it from many geckoterminal siblings that focus on individual pools or networks, though it does not 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 implies usage when global DEX statistics are needed, but provides no explicit guidance on when to choose this tool over other stats tools like market_get_global or dex_get_stats. It lacks exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_new_poolsA
Get newly created pools across all networks or on a specific network - catch new token launches early
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| network | No | Network ID (optional - omit for all networks) |
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 only says 'Get newly created pools' and the use case, but does not disclose any behavioral details such as pagination limits, sorting order, or that it is a read-only operation. Since the tool is a simple GET, it's not risky, but the description lacks transparency about response behavior or any constraints 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 a single, front-loaded sentence that immediately states the action and resource. It is concise and adds the use case in a dash clause without unnecessary fluff. Every phrase 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?
For a simple tool with two optional parameters and no output schema, the description is adequate. It tells the agent what the tool does and even hints at the use case. However, it does not describe the return format or any pagination details, though this is not critical for a list retrieval tool. Overall, it is complete enough for selection and 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 100% (both page and network are described). The description reinforces the network parameter ('all networks or on a specific network') but adds no new meaning beyond the schema. Baseline 3 is appropriate since the schema already documents the parameters well.
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 ('Get'), the resource ('newly created pools'), and the scope ('across all networks or on a specific network'). It differentiates itself from sibling tools like geckoterminal_trending_pools or geckoterminal_top_pools by emphasizing 'newly created' and the use case 'catch new token launches early'.
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 when to use this tool: when you want newly created pools to catch new token launches. It doesn't explicitly name alternatives or when-not-to-use scenarios, but the use case is implicitly distinct from trending or top pools. No exclusions are mentioned, but the context is sufficient for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_pool_ohlcvB
Get OHLCV (candlestick) data for a pool - essential for charting and technical analysis
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of candles (max 1000) | |
| token | No | Which token to get OHLCV for | base |
| network | Yes | Network ID | |
| currency | No | Price currency | usd |
| aggregate | No | Aggregate multiple periods (e.g., 4 for 4-hour candles) | |
| timeframe | No | Candle timeframe | hour |
| poolAddress | Yes | Pool contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the burden of behavioral disclosure. It simply states the action without revealing any behavioral traits such as response format, pagination, rate limits, or error conditions. This leaves the agent without important context about what the tool actually returns or how it behaves at runtime.
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 a single sentence that immediately states the core function and then adds a brief use case. It is extremely concise, front-loaded, and contains zero filler, earning the maximum score for efficiency.
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 7 parameters, no output schema, and no annotations, creating a need for a more comprehensive description. The description only captures the basic function and one use case, but leaves out critical context such as return structure, supported networks, or how the OHLCV data is formatted. Given the complexity, the description is insufficient.
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 description coverage is 100%, with every parameter having a semantic description (e.g., 'Number of candles (max 1000)', 'Which token to get OHLCV for'). The tool description itself adds minimal parameter-specific meaning beyond mentioning 'pool', but since the schema already explains all parameters, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get OHLCV (candlestick) data for a pool', which specifies the verb and resource. It adds a use case ('essential for charting and technical analysis'), but it does not explicitly distinguish itself from the sibling tool 'dex_get_pool_ohlcv', which likely serves a similar 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?
The description implies when to use the tool by mentioning 'charting and technical analysis', providing a clear context. However, it lacks explicit guidance on when not to use it or how it compares to alternative OHLCV tools (e.g., dex_get_pool_ohlcv, historical_ohlcv), so no exclusions or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_pool_tokens_infoB
Get detailed information about both tokens in a pool
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID | |
| poolAddress | Yes | Pool contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only says 'get detailed information,' which implies a read operation but does not clarify what 'detailed information' includes, any rate limits, pagination, or error conditions. The description adds no context beyond the tool's name and 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 a single sentence with no filler words. It is front-loaded with the verb and resource, making it immediately clear what the tool does. Every word contributes to the 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?
The tool is simple with two parameters and no output schema. The description adequately conveys the core purpose but does not elaborate on the return structure or the nature of 'detailed information.' Given the lack of an output schema, the description could have provided more context about what the agent should expect, but it is sufficient for a basic read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters ('Network ID' and 'Pool contract address') with 100% coverage. The description adds no additional meaning about the parameters, so it does not exceed the baseline of 3.
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 'Get detailed information about both tokens in a pool' clearly states the action (get detailed information) and the specific resource (both tokens in a pool). It distinguishes itself from sibling tools like geckoterminal_get_pool (which focuses on pool details) and geckoterminal_get_token (which covers a single token) by explicitly scoping to both tokens of a pool.
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 guidance on when to use this tool versus alternatives. It does not mention scenarios where this tool is preferred, nor does it exclude cases handled by other geckoterminal tools. The agent must infer usage from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_pool_tradesB
Get recent trades for a pool - watch whale activity and trade flow
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID | |
| poolAddress | Yes | Pool contract address | |
| tradeVolumeInUsdGreaterThan | No | Filter for trades above USD value |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral transparency burden. It only states the basic action and a suggested use, without disclosing what 'recent' means (time window), return format, pagination, or any rate limits. For a read operation, useful context like a default time range is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action and resource. The trailing 'watch whale activity and trade flow' adds a bit of fluff but is not wasteful. It is highly concise and 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?
With no output schema, the description doesn't explain return structure, time range, or trade count limits. It's adequate for a simple trade-list tool but leaves gaps (e.g., default time window, sorting, optional filter usage). The optional filter parameter is not mentioned in the description, which would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with descriptions for all three parameters. The description's 'watch whale activity' hints at the tradeVolumeInUsdGreaterThan filter, but doesn't explicitly connect it. No additional parameter meaning is added beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get recent trades for a pool' clearly states the action (get) and resource (recent trades for a pool). It distinguishes itself from sibling tools like geckoterminal_pool_ohlcv (price data) and geckoterminal_get_pool (pool metadata), 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 phrase 'watch whale activity and trade flow' implies a monitoring/analytics use case, but there is no explicit guidance on when to use this tool versus alternatives, nor any exclusions. Usage context is only implied, not clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_search_poolsA
Search for pools across all networks by token name, symbol, or address
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| query | Yes | Search query (token name, symbol, or address) | |
| network | No | Limit search to specific network (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry transparency. It discloses cross-network scope but does not mention whether results are paginated, the response format, or any rate limits or auth requirements. For a read-only search, the safety profile is implied but not explicit, leaving a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It efficiently conveys the action, target, and search criteria, earning its place with zero 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 no output schema or annotations, the description is minimal. It covers the basic purpose but lacks usage guidance and behavioral details such as pagination and result format. For a simple search tool, this is adequate but leaves room for improvement in guiding the agent through edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents each parameter. The description adds the nuance 'across all networks' and lists searchable fields, but these largely repeat the schema descriptions (e.g., 'query (token name, symbol, or address)'). No additional semantics are provided for pagination or network optionality.
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 ('Search'), resource ('pools'), and scope ('across all networks'), and specifies searchable fields (token name, symbol, or address). It effectively distinguishes from sibling tools like geckoterminal_get_pool (specific pool) and dex_get_network_pools (network-specific).
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 a clear use case: find pools by token identifier across all networks. It does not explicitly name alternatives or exclusion criteria, but the context is sufficient for an agent to choose this over similar tools like dex_search or geckoterminal_top_pools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_simple_token_priceC
Get simple token price by address - quick price lookup
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID | |
| tokenAddresses | Yes | Token addresses (max 30) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It only states 'quick price lookup' and fails to mention whether the operation is read-only, what the response format looks like, or any rate limits. This leaves the agent with significant ambiguity about the tool's 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 very concise and front-loaded, delivering the core idea in a single phrase with no wasted words. However, the term 'simple' is vague, and the description sacrifices clarity for brevity.
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 absence of annotations and output schema, the description is incomplete. It doesn't explain what 'simple' means in terms of returned data, how to specify networks, or how this tool compares to other token/price endpoints. The schema helps with parameters but the overall contextual picture is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for both parameters (network and tokenAddresses), so the baseline is 3. The description adds no additional semantic value beyond 'by address', which is already implied by the schema. It doesn't explain network format or address formatting requirements.
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 action (get) and the resource (simple token price by address), making the primary purpose understandable. However, it doesn't differentiate from sibling price tools like geckoterminal_get_multi_tokens or market_coingecko_simple_price, so it misses the opportunity to clarify its unique scope.
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 offers no guidance on when to use this tool versus alternatives. It only says 'quick price lookup' without specifying exclusive use cases, prerequisites, or scenarios where other price tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_token_poolsA
Get top pools for a specific token - find liquidity and trading venues
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| sort | No | Sort order | h24_volume_usd_desc |
| network | Yes | Network ID | |
| tokenAddress | Yes | Token contract address |
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 of behavioral disclosure. It does not explain what 'top' means (e.g., sorted by volume or transactions), how pagination works, or that it returns a list of pools. The description only states the basic purpose without revealing sorting, pagination, or other behavioral traits.
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 a single, front-loaded sentence that states the action, resource, and context. No filler or redundant information exists, making it appropriately concise for a tool that relies on the schema for parameter details.
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 the core purpose but leaves gaps: no usage guidelines, no mention of sorting/pagination options, and no return format details. Since there is no output schema, the description should compensate by explaining what output to expect, but it does not. The context is partially complete for a tool with moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all four parameters with descriptions, giving 100% schema coverage. The description adds no new parameter semantics beyond mapping 'specific token' to tokenAddress and hinting at the sort concept through 'top pools,' but this is marginal and not needed given the schema already documents each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Get') and resource ('top pools for a specific token'), making the tool's function unambiguous. It distinguishes itself from sibling tools like geckoterminal_trending_pools by emphasizing the token-specific scope, while 'find liquidity and trading venues' adds context about what the result represents.
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 'for a specific token' implies the tool is used when a user has a token address and wants its top pools, but it does not explicitly state when to use this tool over alternatives (e.g., dex_get_token_pools or geckoterminal_get_token). No exclusions or alternative tool recommendations are provided, leaving usage context 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.
geckoterminal_top_poolsC
Get top pools on a specific network by various metrics
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| sort | No | Sort order | h24_volume_usd_desc |
| network | Yes | Network ID (e.g., 'eth', 'bsc') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry full behavioral disclosure. It only says 'get top pools' but does not describe what data is returned, how 'top' is determined, whether pagination is supported, or any implications such as rate limits. The vague 'by various metrics' leaves behavior unclear.
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 a single sentence of 10 words, which is appropriately concise. However, it is slightly under-specified due to the vague phrase 'various metrics', but this does not detract significantly from its efficient structure.
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 return values and nuances. It fails to mention that the tool likely returns a list of pools, how pagination works, or what the sort options actually do. For a tool with 3 parameters, the description is too thin to be 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?
The input schema has 100% parameter descriptions, so the baseline is 3. The description adds little beyond the schema, and 'various metrics' hints at the sort parameter but fails to clarify the meaning of enum values like 'h24_volume_usd_desc' or 'h24_tx_count_desc'.
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 ('Get'), resource ('top pools'), and scope ('on a specific network by various metrics'). It is specific enough to suggest what the tool does, but does not explicitly distinguish it from sibling tools like geckoterminal_trending_pools or geckoterminal_new_pools, which may also return pools.
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 guidance is provided about when to use this tool versus alternatives. The description only mentions 'specific network', but does not explain when one would choose 'top pools' over 'trending pools' or 'new pools', nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geckoterminal_trending_poolsA
Get trending pools across all networks or on a specific network - hot new tokens and high activity pools
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| network | No | Network ID (optional - omit for all networks) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It adds some behavioral context by defining trending as 'hot new tokens and high activity pools,' but it does not mention pagination behavior, sorting order, or rate limits, which would be useful for a listing 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 a single, front-loaded sentence with no wasted words. The dash separates the action from the explanatory context, making it easy 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?
For a simple read-only tool with two optional parameters and no output schema, the description is mostly sufficient. However, it lacks differentiation from sibling pool tools and omits any mention of response structure or pagination, leaving some gaps in completeness.
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 already fully documents both parameters (page and network) with descriptions. The tool description adds no meaningful semantics beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Get'), resource ('trending pools'), and scope ('across all networks or on a specific network'). The added phrase 'hot new tokens and high activity pools' helps distinguish it from sibling tools like geckoterminal_new_pools or geckoterminal_top_pools.
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 usage context by stating the tool works across all networks or a specific network, implying when to use it. However, it does not explicitly name alternatives or exclusions relative to similar geckoterminal pool tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_mnemonicA
Generate a new BIP-39 mnemonic seed phrase for wallet creation
| Name | Required | Description | Default |
|---|---|---|---|
| wordCount | No | Number of words in the mnemonic (12 or 24) | 12 |
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 accurately describes the core action of generating a new mnemonic but does not add security context (e.g., the phrase is a secret, should be handled carefully, or whether it is returned only once). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the action, and zero extraneous words. Every word contributes to understanding the tool's purpose.
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 optional parameter and no output schema, the description sufficiently conveys the purpose and output (a mnemonic seed phrase). It could add a note about secure handling or related tools, but it is largely complete for the task.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with the wordCount parameter already documented via enum and default. The description adds no parameter-specific details, so it remains at the baseline of 3.
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 the specific verb 'generate', names the resource 'BIP-39 mnemonic seed phrase', and indicates the purpose 'for wallet creation'. This clearly distinguishes it from sibling tools like import_wallet_from_mnemonic or derive_addresses_from_mnemonic.
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 context (wallet creation) but does not explicitly state when to use this tool vs alternatives such as create_wallet, import_wallet_from_mnemonic, or derive_addresses_from_mnemonic. No exclusions or comparison are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_address_from_private_keyA
Get the EVM address derived from a private key
| Name | Required | Description | Default |
|---|---|---|---|
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It does not mention that this is a local, non-persistent derivation with no side effects, nor does it describe output format or error conditions. Only the param schema includes security notes, not the tool description itself.
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 a single, focused sentence with no redundant information. It front-loads the key purpose and omits unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the schema's richness, the description is minimally adequate but lacks expected return value details (e.g., checksummed format) and side-effect clarity, especially without an 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 coverage is 100% for the only parameter, and the schema provides detailed security context. The description adds no additional parameter meaning, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('Get') and the resource ('EVM address derived from a private key'), distinguishing it from sibling tools like derive_address_from_mnemonic or validate_address. It is precise and 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 implies usage context (having a private key and needing the derived address) but provides no explicit when-to-use guidance, exclusions, or alternatives. It's adequate but relies on the agent to infer applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_approval_eventsC
Get ERC20 approval events for a token or address
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| toBlock | No | End block | |
| fromBlock | No | Start block | |
| ownerAddress | No | Filter by token owner | |
| tokenAddress | No | Token contract address | |
| spenderAddress | No | Filter by spender |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden of disclosing behavioral traits. It only states 'Get ERC20 approval events', which is obvious from the name, and does not mention read-only nature, pagination, ordering, return format, or default block ranges. This is insufficient for a tool with no annotation support.
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 a single, concise sentence that directly conveys the core function with no redundant information. It is appropriately front-loaded and contains zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With six mandatory optional parameters and no output schema, the description is far too terse. It does not explain the structure of an approval event (e.g., owner, spender, value), how filters combine, default behavior when no filters are provided, or the response shape. The description leaves significant gaps for the agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds mild semantic value by stating 'for a token or address', which hints at using tokenAddress or ownerAddress/spenderAddress filters. However, it does not explain any relationships or constraints, such as whether at least one filter is required or how block range parameters interact.
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 retrieves ERC20 approval events and indicates two key dimensions (token or address). It uses a specific verb and resource, and distinguishes from related tools like get_token_approvals (current state) because it explicitly mentions 'events'. However, it does not explicitly clarify that these are historical event logs, which could cause ambiguity.
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 guidance on when to use this tool versus alternatives such as get_token_approvals, check_token_allowance, or get_erc20_transfers. It does not mention prerequisites like needing a token address or block range, and it does not explain any differentiation from sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_available_price_feedsA
List available Chainlink price feeds on a network
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It communicates a read-only listing operation but does not disclose response structure, pagination, or what 'available' entails. Basic behavior is clear but lacks detail about output or edge cases.
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 a single concise sentence, efficiently front-loaded with the action and object. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter listing tool with no output schema, the description provides the essential purpose but leaves out details about return format and usage context. The tool is relatively simple, so a 3 is appropriate; it is sufficient but not rich.
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 full coverage (100%) of the single network parameter, including examples and default. The description adds minimal value, only implicitly connecting the parameter to the network scope. It does not add new semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists Chainlink price feeds on a network, using the specific verb 'List' and identifying the resource ('Chainlink price feeds') and scope ('on a network'). This distinguishes it from sibling tools like get_chainlink_price which retrieves a specific price, or check_price_feed_health which checks feed health.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for discovering available feeds on a given network but does not explicitly state when to use it vs alternatives, such as get_chainlink_price for fetching a price. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_best_routeC
Find the optimal swap route across multiple DEXs for the best price
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenIn | Yes | Address of the token to sell | |
| amountIn | Yes | Amount of input token (in wei/smallest unit) | |
| tokenOut | Yes | Address of the token to buy |
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 implies a read-only operation (finding a route) but doesn't explicitly state that no swap is executed, nor does it explain return format, fees, slippage, or network limitations. The short description leaves key behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence, front-loaded with the core function. It avoids fluff and is easy to parse. However, it could include more detail without becoming verbose, so it's concise but slightly under-specified.
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 lack of annotations and output schema, the description is insufficient for the agent to fully understand tool behavior. It doesn't mention whether the result includes execution steps, price impact, or gas estimates, nor whether it executes the swap. For a 4-parameter tool with no output schema, the description should provide more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already describes all parameters (token addresses, amount in smallest unit, network). The description adds no additional parameter context beyond the schema, but it does align with the schema by implying swapping. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds the optimal swap route across multiple DEXs, which conveys a specific verb and resource. It differentiates from execution tools by saying 'find' rather than 'execute'. However, it doesn't explicitly contrast with similar tools like get_swap_quote or get_supported_dexs, so it's not fully distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description doesn't mention whether to use it for quotes, execution, or comparison, nor does it reference sibling tools like get_swap_quote or execute_swap. The agent is left to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bitcoin_newsA
Get Bitcoin-specific news about BTC, Lightning Network, miners, ordinals, and more
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of articles (1-30, default: 10) |
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 only lists topics and does not disclose behavioral traits such as recency, ordering, return format, pagination, or whether it is a read-only operation. For a news tool, this is a minimal 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 a single, clear sentence that is front-loaded with the action ('Get') and resource ('Bitcoin-specific news'). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one param, no output schema), but the description only covers purpose, not usage or behavior. It is somewhat complete for a read-only news fetch, but with many sibling news tools, it is missing guidance on when to prefer this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the only parameter (limit) with a description and default. The tool description adds no extra meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get Bitcoin-specific news about BTC, Lightning Network, miners, ordinals, and more.' It specifies the resource (Bitcoin news) and the scope (BTC, Lightning, miners, ordinals), distinguishing it from general news tools like get_crypto_news or get_defi_news.
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 Bitcoin-related news but does not explicitly mention when to use it instead of alternatives like get_crypto_news or get_breaking_crypto_news. It provides clear context ('Bitcoin-specific') but lacks explicit exclusions or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_block_by_hashC
Get a block by hash
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| blockHash | Yes | The block hash to look up |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It only states the action without revealing whether the returned block includes transactions, how missing hashes are handled, or any network-specific behavior. No additional context is added.
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 exceptionally concise at one sentence, with no wasted words. However, its brevity borders on under-specification, though it still serves a clear purpose and is not merely a tautology.
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 lacks an output schema and annotations, and the description provides no context about return values, block structure, or how it fits among many block-related sibling tools. This is inadequate for an agent to select and invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both parameters (network and blockHash) having meaningful descriptions. The tool description itself adds no parameter information, but the schema already fully documents them, warranting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get a block by hash' uses a specific verb and resource, clearly distinguishing it from block-by-number or latest-block tools. However, it is minimal and does not explicitly contrast with sibling tools beyond the 'by hash' qualifier.
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 guidance is provided on when to use this tool versus alternatives like get_block_by_number or get_latest_block. There are no exclusions, prerequisites, or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_block_by_numberC
Get a block by number
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| blockNumber | Yes | The block number to look up |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It only says 'Get a block by number' and provides no information about return format, whether transactions are included, network behavior, or any side effects. The description adds no behavioral transparency beyond the tool's name.
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 a single sentence, but it's essentially a restatement of the tool name. It is under-specified rather than effectively concise, lacking necessary context about what a block includes or when to use this tool, so it doesn't 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?
The tool has no output schema and no annotations, so the description should explain return values and usage context. It fails to mention what fields the block contains, how it differs from other block-related tools, or any network constraints. The description is too minimal to be complete for an agent selecting among many similar 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?
The schema already describes both parameters with 100% coverage, including network defaults and blockNumber description. The tool description adds no extra meaning to the parameters, so it neither helps nor harms beyond the baseline provided by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Get' and the resource 'block by number', clearly indicating the core function. However, it doesn't distinguish this from sibling tools like get_block_by_hash, get_latest_block, or get_block_with_transactions, so it doesn't fully clarify what kind of block data is returned.
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 guidance on when to use this tool versus alternatives, such as when to use get_block_by_hash or get_latest_block. It also doesn't mention network-specific usage or any prerequisites, leaving the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_block_rangeB
Get a range of blocks with summary information
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| endBlock | No | Ending block number (defaults to latest) | |
| startBlock | Yes | Starting block number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only says 'summary information' without detailing what data is included, any pagination limits, or performance characteristics. It does not disclose what 'summary' entails, which is a meaningful gap for a block range 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 a single, efficient sentence that immediately conveys the core action and resource. No redundant or filler 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?
There is no output schema, and the description does not explain the structure of the returned summaries or any constraints like maximum range size. For a tool with no annotations and no output schema, this leaves significant ambiguity about what the agent will receive.
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 already documents all three parameters with 100% coverage, including defaults and acceptable values. The description adds little beyond 'range of blocks,' which loosely implies start and end block usage but does not deepen parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get'), resource ('a range of blocks'), and scope ('summary information'). This clearly distinguishes it from siblings like get_block_by_number or get_latest_block, which focus on individual blocks.
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 guidance is provided on when to use this tool versus alternatives. It does not mention that it is for batch block queries or contrast it with single-block retrieval, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_block_receiptsB
Get all transaction receipts for a specific block
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| blockNumber | Yes | The block number to get receipts for |
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 only states the action, with no information about return format, size of results, pagination, error behavior, or any caveats such as archive node requirements. For a tool that returns 'all' receipts, potential performance issues or output structure are not disclosed.
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 a single, efficient sentence with no wasted words. It is front-loaded with the action and resource, making it easy to parse and immediately actionable.
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 a simple input schema with complete parameter descriptions and no output schema. The description adequately conveys the core purpose but omits any return value details or usage context. Given the lack of annotations and the potential for large results, the description is minimally 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?
The input schema provides complete descriptions for both parameters, including the default and meaning of 'network' and 'blockNumber'. The description adds no additional parameter context beyond what the schema already contains, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: 'Get all transaction receipts for a specific block.' It is specific about returning all receipts for a block, which distinguishes it from tools like get_transaction or get_block_with_transactions. However, it does not explicitly name alternative tools or clarify the difference from get_block_with_transactions, so it stops 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 provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or scenarios where another tool would be more appropriate. Given the large sibling set, this lack of usage context is a notable gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_block_rewardsB
Estimate block rewards for miners/validators on a specific block
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| blockNumber | No | Block number (defaults to latest) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It only states 'Estimate' without clarifying whether this is a read-only operation, whether the estimate is approximate by nature, or what the response contains. No information about authentication, rate limits, or network-specific behavior is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that clearly communicates the core action. Every word contributes value, with no redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema and annotations, so the description must explain return values and behavioral caveats. It doesn't mention what the reward estimate looks like (e.g., currency, units, whether it's per validator or total). The description is too terse to be fully useful for an agent deciding on 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 provides 100% coverage with detailed descriptions for both parameters (network and blockNumber), so the baseline is 3. The description adds no additional meaning beyond the schema; the 'specific block' phrase merely echoes the blockNumber parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Estimate') and resource ('block rewards') with a clear scope ('for miners/validators on a specific block'). This distinguishes it from sibling tools like get_block_by_number or get_block_receipts, which focus on block details rather than reward estimation.
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 guidance on when to use this tool versus alternatives. There is no mention of using get_blocks_by_miner for block lists or get_block_by_number for block details, nor any exclusions. The use case is implied but not differentiated from the many block-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_blocks_by_minerA
Find recent blocks produced by a specific miner/validator address
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| blockCount | No | Number of recent blocks to search (1-1000) | |
| minerAddress | Yes | The miner/validator address to search for |
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 not mention that it searches a configurable number of recent blocks (blockCount), what the return format is, or any edge cases like empty results. The read-only nature is implied but not stated.
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 a single sentence, front-loads the action and resource, and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read tool with no output schema. The description covers its core purpose but omits return format and any caveats about blockCount limits or network behavior. Given the schema covers parameters, this is minimally adequate.
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 already provides 100% coverage with descriptions for all three parameters (network, blockCount, minerAddress). The description adds no additional parameter meaning beyond what the schema already provides.
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 ('Find recent blocks') with a specific filter ('by a specific miner/validator address'). It distinguishes from sibling block-query tools like get_block_by_number or get_latest_block by focusing on miner-based lookup.
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: use this tool when you need recent blocks produced by a miner. It does not explicitly mention alternatives or exclusions, but the scope is well-defined enough to imply its niche.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_block_with_transactionsC
Get a block with full transaction details (not just hashes)
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| blockNumber | No | Block number (defaults to latest) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral context. It only restates the core functionality without disclosing details such as the output format, potential heavy load from fetching full transaction data, pagination behavior, or any differences from simpler block fetch tools. This adds little beyond the tool name and basic purpose.
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 a single concise sentence that effectively communicates the primary purpose. It contains no fluff, though it could arguably offer more structural detail (e.g., listing what 'full transaction details' includes). Still, it is appropriately sized for a simple read operation.
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 absence of an output schema and annotations, and the existence of many closely related sibling tools, the description is too sparse to fully enable correct selection and invocation. It does not explain what 'full transaction details' means, how this tool compares to alternatives like get_block_by_number, or any caveats about fetching large blocks.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both network and blockNumber already documented in the schema. The tool description adds no parameter-specific information, so it earns the baseline score of 3. The schema's param descriptions are adequate and need no complementation.
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 fetches a block with full transaction details, distinguishing it from tools returning only hashes. The parenthetical '(not just hashes)' helps differentiate it from sibling block-fetching tools like get_block_by_number, though it does not explicitly name an alternative.
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 guidance is provided about when to use this tool versus the many sibling block-related tools (e.g., get_block_by_number, get_block_receipts). The parenthetical hint implies a need for full transaction details, but there is no clear when-to-use or when-not-to-use statement, nor any named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_breaking_crypto_newsA
Get breaking cryptocurrency news from the last 2 hours
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of articles (1-20, default: 5) |
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 discloses the key temporal behavior (last 2 hours) but does not mention other relevant behaviors such as ordering, potential absence of results, or that it only returns a limited set. For a simple read-only news retrieval tool, this is adequate but not rich.
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 a single, front-loaded sentence that fully conveys the core purpose. There is no wasted wording, making it an excellent example of conciseness.
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 low complexity (one optional parameter, no output schema) and the clarity of the temporal scoping, the description is reasonably complete. However, it does not hint at the structure of the returned articles, which would be helpful in the absence of an output schema. Still, for a breaking news tool, the expected return type is fairly obvious.
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 100% coverage of the single 'limit' parameter with its description and default. The tool description does not add any parameter semantics beyond what the schema already documents, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'breaking cryptocurrency news' with a specific time window 'from the last 2 hours'. This distinguishes it from other news tools like get_crypto_news or search_crypto_news, which do not have the breaking/time constraint.
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 breaking news within the last 2 hours but does not explicitly mention when to prefer this tool over alternatives like get_defi_news or get_bitcoin_news. There is no explicit when-not advice or alternative tool names, so guidance is only implied via the temporal qualifier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bridge_feesC
Get detailed fee breakdown for a bridge transfer
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token to bridge | |
| amount | Yes | Amount in wei | |
| bridge | Yes | Bridge protocol | |
| destChain | Yes | Destination chain | |
| sourceChain | Yes | Source chain |
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 of disclosing behavior. It does not mention whether fees are estimates, live quotes, or historical; whether the tool reads on-chain state or queries an API; any rate limits; or the structure/nesting of the fee breakdown (e.g., protocol fee vs network fee vs bridge fee). The description is a bare statement with no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no filler words. It is appropriately concise and front-loaded with the verb 'Get'. It loses a point because it omits any additional useful context (such as the typical use case or output highlights) that would likely fit within one more sentence without clutter.
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 five required parameters, no annotations, and no output schema, the description does not provide enough context for an agent to know what to expect from the return value or how to interpret the 'detailed fee breakdown'. It does not mention related workflows (e.g., use with get_bridge_quote or execute_bridge), and the absence of an output schema means the description should compensate by outlining the fee structure, but it does not.
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 describes all five parameters (token, amount, sourceChain, destChain, bridge) at 100% coverage, so the schema carries the parameter semantics. The description does not add meaning beyond the schema, but the schema's brief descriptions (e.g., 'Token to bridge') are sufficiently clear. However, the description could add nuance like units for 'amount' (already stated as wei) or example values, which it 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 'Get detailed fee breakdown for a bridge transfer' clearly identifies the tool as fetching fee details for a bridging operation. It specifies a concrete resource (bridge transfer fees) and uses a specific verb ('get'), but does little to differentiate from sibling tools like get_bridge_quote or rubic_get_bridge_quote, though 'fee breakdown' implies more granularity than a quote.
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 alternatives like get_bridge_quote or estimate_bridge_time. The description implies it is for retrieving fee details, but does not specify scenarios, prerequisites, or alternatives, leaving the agent to infer when 'detailed fee breakdown' is preferable over other bridge-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bridge_quoteB
Get a quote for bridging tokens across chains
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token address to bridge | |
| amount | Yes | Amount to bridge (in wei) | |
| bridge | No | Specific bridge to use (stargate, layerzero, wormhole, across) | |
| destChain | Yes | Destination chain | |
| sourceChain | Yes | Source chain (e.g., 'ethereum', 'bsc') |
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. 'Get a quote' implies a non-mutating read operation, but it does not disclose specific behaviors such as return format, whether it estimates fees/slippage, or any limitations. It is not misleading, but provides minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear, front-loaded sentence: 'Get a quote for bridging tokens across chains'. It contains no redundancy and every word contributes to the 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?
Despite having no output schema and no annotations, the description does not explain what a quote includes (e.g., routes, fees, duration), how the optional 'bridge' parameter affects results, or any edge cases. For a moderately complex tool with 5 parameters, this is insufficient.
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 covers 100% of parameters with meaningful descriptions (e.g., token address, amount in wei, bridge type). The tool description itself adds no parameter-level detail, so it does not improve on the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get a quote for bridging tokens across chains' โ a specific verb (get), resource (quote for bridging), and scope (tokens across chains). It is distinct from sibling tools like execute_bridge, get_bridge_fees, and get_bridge_status, which involve different aspects of bridging.
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 guidance on when to use this tool versus alternatives such as get_swap_quote or rubic_get_bridge_quote. There is no mention of context, prerequisites, or exclusions, leaving the agent to infer the intended use case from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bridge_statusC
Track the status of a bridge transaction
| Name | Required | Description | Default |
|---|---|---|---|
| bridge | Yes | Bridge protocol used | |
| txHash | Yes | Source chain transaction hash | |
| sourceChain | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 disclosing behavior. 'Track the status' implies a read-only operation but does not describe what 'status' means (e.g., pending, completed, failed), what the response format is, or how errors are handled. Given the absence of an output schema, this is insufficient.
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 a single, front-loaded sentence: 'Track the status of a bridge transaction.' It is concise and free of fluff, though it could be slightly more informative without becoming bloated.
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?
This is a simple tool with no output schema and no annotations, yet the description fails to explain what status information is returned, which bridge protocols are supported, or how to interpret the response. It is too minimal to be fully actionable for an agent without prior knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter has a useful description (e.g., 'Bridge protocol used', 'Source chain transaction hash', and network examples for 'sourceChain'). The tool description itself adds no parameter-level meaning, but the schema already provides adequate semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'track' and the resource 'bridge transaction' with 'status', which is specific enough for basic understanding. However, it does not differentiate from sibling tools like 'rubic_get_bridge_status' or other bridge-related tools, and the scope of 'bridge transaction' is somewhat broad without specifying supported protocols.
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 guidance on when to use this tool versus alternatives such as 'rubic_get_bridge_status', 'get_bridge_quote', or 'estimate_bridge_time'. No prerequisites or context are mentioned (e.g., that the transaction must be initiated first). The existence of many similar siblings makes this lack of direction a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chain_idB
Get the chain ID for a network
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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, but it only states the basic purpose. It does not mention that this is a read-only operation, what the return format is, or any potential errors, leaving the agent without additional context beyond the trivial 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 a single short sentence: 'Get the chain ID for a network.' It is front-loaded with the key action and resource, contains no filler, and is appropriately sized for a simple utility 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?
The tool is simple (one optional parameter, no output schema), and the description covers the core purpose, but it lacks any usage context or differentiation from many similar network-related siblings. The absence of annotations and any behavioral detail leaves some gaps, though the schema compensates for parameter semantics, making it minimally viable.
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 fully describes the sole 'network' parameter, including examples and default behavior, so schema coverage is 100%. The description adds no parameter-specific information, so the baseline score of 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get' and the resource 'chain ID for a network', which is a specific verb+resource combination. However, it does not differentiate itself from sibling tools like get_chain_info or get_supported_networks, so it loses a point.
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 guidance on when to use this tool versus alternatives. There is no mention of related tools or any exclusion criteria; the only usage hint (default network) is in the schema, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chain_infoC
Get chain information for a specific network
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 of behavioral disclosure. It does not mention whether the operation is read-only, requires authentication, has rate limits, or what side effects exist. The description provides no behavioral detail beyond the bare action of 'getting'.
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-loaded with the verb, and contains no filler or repetition. However, it is so terse that it sacrifices informative detail, making it less effective than a slightly longer description that clarifies the output or intended use.
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 is simple (1 parameter, no output schema) but the description still leaves significant gaps. It does not define what 'chain information' includes, what the return value looks like, or when this tool should be chosen over similar network-related tools. Given no output schema, the description should explain the returned data, but it does not.
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 already provides full coverage of the sole parameter with examples, accepted formats (name or chain ID), and a default value. The description's phrase 'for a specific network' adds no additional semantic meaning beyond what the schema's parameter description already conveys.
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 and resource: 'Get chain information for a specific network'. It is specific enough to know it fetches data about a network, but it does not distinguish itself from closely related siblings like get_chain_id or get_network_metadata, and the term 'chain information' is vague about what fields are returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or how it differs from sibling tools such as get_network_metadata or get_chain_id. The description simply repeats the function's purpose without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chainlink_priceC
Get price from a Chainlink price feed
| Name | Required | Description | Default |
|---|---|---|---|
| pair | Yes | Price pair (e.g., 'ETH/USD', 'BTC/USD') | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral details but only repeats the basic operation without explaining data aggregation, decimal normalization, error handling, or network-specific behavior. It does not mention that the `network` parameter defaults to BSC or that some pairs might not be available on all networks. This transparency gap prevents the agent from anticipating common 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?
The description is a single sentence with no wasted words, making it efficient and front-loaded. However, it is arguably too minimal, leaving out useful context that could be included without bloat. As a structural score, it earns high marks for brevity but not for informational richness.
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 agent lacks information about the return format (e.g., raw price, decimal adjustment, timestamp). The description also omits supported feed pairs beyond the schema examples and network behavior, which are important for a price oracle tool. Given the low description depth and absence of annotations, the context is incomplete for reliable usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides thorough descriptions for both parameters (pair examples, network default and explanation), so the description adds no new parameter information. With schema coverage at 100%, the baseline score of 3 applies. The description neither enhances nor detracts from the schema's clarity.
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 function: retrieving a price from a Chainlink price feed. It uses a specific verb ('Get') and resource ('Chainlink price feed'), distinguishing it from generic price tools like get_multiple_prices or get_uniswap_pool_price, though it does not explicitly compare. It could be more explicit about the pair parameter, but overall purpose is 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 provides no guidance on when to choose this tool over its siblings such as get_custom_price_feed, get_uniswap_pool_price, or defi_get_token_prices. There is no mention of use cases, exclusions, or alternative tools. This leaves the agent to infer applicability solely from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contract_bytecodeA
Get the deployed bytecode of a contract. Returns empty if address is an EOA.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The contract address | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It adds a valuable non-obvious behavior: returns empty for EOAs. This helps the agent understand edge cases, though it doesn't mention other details like error handling or return format.
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 extremely conciseโtwo short sentences that deliver key information without wasted words. It is front-loaded with the verb and resource, and the EOA note is a valuable addition.
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 read-only tool with two well-documented parameters, the description covers purpose and a key behavioral edge case. It lacks explicit return format details, but given the low complexity and no output schema, it is sufficiently complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both address and network parameters fully. The description adds no additional parameter semantics beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the deployed bytecode of a contract, using a specific verb and resource. It also distinguishes itself from sibling tools like read_contract or get_storage_at by focusing on raw bytecode retrieval.
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 purpose is self-evident and provides clear context: use when you need a contract's deployed bytecode. It does not explicitly name alternatives or exclusions, but the context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contract_logsC
Get event logs from a specific contract
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| toBlock | No | End block (default: latest) | |
| fromBlock | No | Start block (default: latest - 1000) | |
| eventSignature | No | Event signature to filter (e.g., 'Transfer(address,address,uint256)') | |
| contractAddress | Yes | Contract address to get logs from |
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. 'Get event logs' is a straightforward read, but the description does not mention default block ranges, network support, event signature filtering, or any side effects. The schema covers some of this, but the description itself adds no behavioral nuance beyond the name.
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 a single concise sentence that gets straight to the point with no redundant information. Every word 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?
Despite the schema being thorough, the description lacks contextual completeness: it doesn't explain return format, usage guidance, or how it differs from similar log-related tools. For a tool with multiple parameters and no output schema, this is a significant 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?
The schema descriptions cover all 5 parameters comprehensively, including defaults and examples for network and eventSignature. The description itself does not add parameter semantics, but the 100% schema coverage justifies a baseline 3.
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 'Get' and the resource 'event logs from a specific contract', making the purpose evident. However, it doesn't differentiate from sibling tools like get_logs_by_topic or get_recent_events, so it doesn't fully achieve the 5-level.
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 guidance on when to use this tool over alternatives. There are no usage scenarios or exclusions mentioned, leaving the agent to infer from the schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_crypto_newsA
Get latest cryptocurrency news from 7 major sources (CoinDesk, The Block, Decrypt, CoinTelegraph, Bitcoin Magazine, Blockworks, The Defiant)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of articles to return (1-50, default: 10) | |
| source | No | Filter by source: coindesk, theblock, decrypt, cointelegraph, bitcoinmagazine, blockworks, defiant |
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 makes clear that the tool fetches news from the listed sources and is read-only by implication, but it does not disclose any nuances such as whether results are sorted, how pagination works (beyond the limit parameter), or what the returned object structure looks like. It is minimally transparent but not misleading.
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 a single, well-structured sentence that immediately states the action, the resource, and the key details (seven major sources). It is concise, front-loaded, and contains no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple input schema (two optional parameters) and no output schema. The description covers what data is fetched and the source scope, but it does not describe the output format (e.g., whether it returns article titles, URLs, timestamps) or any default behavior beyond what the schema already documents. Since there is no output schema, this missing return-value information leaves a notable gap for an AI 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?
The schema fully documents both parameters (limit and source) with descriptions and valid options. The tool description adds value by listing human-readable source names that map to the schema's enum-like values, but this is not essential since the schema already enumerates them. Thus, the description provides only marginal added meaning, consistent with a baseline 3.
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's purpose: retrieving the latest cryptocurrency news. It names the specific verb ('Get') and the resource ('latest cryptocurrency news'), and it lists the 7 exact sources, which distinguishes it from sibling tools like get_defi_news or get_bitcoin_news that target more specific niches.
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 general-purpose crypto news tool by emphasizing 'latest cryptocurrency news' from major sources, but it does not explicitly state when to use this tool over alternatives or provide exclusion criteria. Given the large set of sibling news tools, an agent might need to infer which one is appropriate, but the general phrasing offers some guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_crypto_news_sourcesB
Get list of all available cryptocurrency news sources
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides minimal behavioral detail beyond the basic action. It does not disclose whether the list includes source URLs, metadata, whether it's cached, or any other behavioral characteristics, leaving the agent to infer the response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the action and resource without wasted words. It is appropriately sized for the simplicity of 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?
The description lacks information about the return format, scope of 'all available' sources, or any conditions. Given no output schema exists, the description has the full burden of explaining what the agent will receive, which it fails to do.
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?
There are no input parameters, so the schema is trivially complete. Baseline of 4 applies since the description does not need to explain any parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and identifies the resource ('list of all available cryptocurrency news sources'), making the tool's function clear. However, it does not distinguish from the similar sibling 'market_get_news_sources', so the purpose is clear but not fully differentiated.
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 guidance is provided about when to use this tool versus alternatives like get_crypto_news or search_crypto_news. The description simply states the function without context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_custom_price_feedB
Get price from a custom Chainlink price feed address
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| feedAddress | Yes | Chainlink aggregator contract address |
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 simply states the action without revealing potential error conditions, return format, or behavior on invalid addresses. The read-only nature is implied by the name but not explicitly stated, and there is no context about rounding, decimals, or network fallbacks.
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 a single concise sentence of nine words, front-loading the main action and resource. It contains no filler or redundancies, though it is so brief that it leaves out valuable context, preventing a 5.
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 two parameters, no output schema, and no annotations, the description is notably sparse. It does not explain the price format, units, or expected return value, nor does it mention common pitfalls. The lack of sibling differentiation and behavioral details leaves the tool under-specified for an agent navigating a large toolset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters ('network' and 'feedAddress') having clear descriptions. The description adds no extra meaning beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource structure: 'Get price from a custom Chainlink price feed address'. The word 'custom' clearly differentiates it from sibling tools like get_chainlink_price which presumably handles standard feeds, and it directly indicates the tool's purpose.
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 guidance is given on when to use this tool versus alternatives such as get_chainlink_price, get_available_price_feeds, or check_price_feed_health. There are no exclusions or context signals describing preferred scenarios, leaving the agent to infer usage based solely on the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_defi_newsB
Get DeFi-specific news about yield farming, DEXs, lending protocols, and more
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of articles (1-30, default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It only states the purpose and gives no information about return format, pagination, sorting, freshness, or any caveats. For a news-fetching tool, this is a significant 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 description is a single concise sentence that is front-loaded with the core action and resource. Every word earns its place, and there is no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the minimal description is borderline adequate, but it omits details like what fields are returned, whether results are chronological, or if there are any location/source caveats. The lack of annotations and output schema increases the need for such context.
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 fully documents the single 'limit' parameter with a description and default, so schema coverage is 100%. The tool description does not add any extra parameter semantics, meeting the baseline for adequate 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 fetches DeFi-specific news and lists example topics (yield farming, DEXs, lending protocols), which distinguishes it from general crypto news tools like get_crypto_news. However, it does not explicitly differentiate itself from other news siblings beyond the 'DeFi-specific' tag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for DeFi-related news but provides no explicit when-to-use vs alternatives, nor any exclusion guidance. The presence of many sibling news tools means an agent might need more direction, but the 'DeFi-specific' scope gives a basic hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_delegation_infoB
Get voting delegation information for an address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Address to check delegation for | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenAddress | Yes | Governance token address (ERC20Votes) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It only states the action and subject, without clarifying what data is returned (delegatee? delegated balance?), whether it reads on-chain state, dependency on the token being an ERC20Votes contract, or behavior when the address has not delegated. This is a significant gap for a read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant information. It is appropriately front-loaded and every word contributes to conveying the core purpose.
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?
This is a simple 3-parameter getter with full schema coverage, but no output schema exists. The description is somewhat complete for a straightforward read operation, yet it fails to specify what 'delegation info' includes or any prerequisites, which could lead to incorrect invocation or misinterpretation of results. Adequate but with a clear 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 100%, with each parameter providing a description (e.g., network gives examples and default, tokenAddress specifies ERC20Votes). The tool description itself adds no extra meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Get') and resource ('voting delegation information') and specifies the target ('an address'). It implies a read-only query about delegation, somewhat distinguishing it from related tools like get_voting_power or delegate_votes. However, it does not detail exactly what 'delegation information' includes, leaving some ambiguity.
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 guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., ERC20Votes token), clarify that this is for governance delegation rather than Cosmos staking delegations, or reference any sibling tools. The schema's network default provides limited context but no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dex_liquidityC
Get liquidity information for a trading pair on a DEX
| Name | Required | Description | Default |
|---|---|---|---|
| dex | No | DEX to query | |
| tokenA | Yes | First token address | |
| tokenB | Yes | Second token address | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 of behavioral disclosure. It only says 'Get liquidity information' implying a read operation, but does not disclose what kind of liquidity data is returned, whether it supports multiple liquidity types, any network-specific behavior, or other runtime traits. The description is too minimal to be 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 a single concise sentence that front-loads the core purpose. There is no redundant or filler text; every word contributes to 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?
With no output schema, no annotations, and only a one-sentence description, the tool is under-specified. It fails to explain what 'liquidity information' includes, how to interpret the result, or the default network behavior, which is relevant given multiple schema parameters. This is insufficient for an agent to confidently invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter description coverage, so the schema already explains all four parameters. The description adds no parameter-specific nuance beyond what's in the schema, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('liquidity information for a trading pair on a DEX'), clearly stating the tool's function. However, it does not differentiate this tool from similar DEX-related siblings like get_pool_reserves or dex_get_pool_details, so it lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of when-not-to-use, prerequisites, or how it compares to related tools such as get_pool_reserves or dex_get_pool_details. It merely states what it does.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_eip1559_feesB
Get detailed EIP-1559 fee data including base fee and priority fee
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 only states that the tool returns fee data, without mentioning that it is a read-only operation, which networks are supported, what the response format looks like, or any potential rate limits. The description adds little beyond the tool name.
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 a single, front-loaded sentence that clearly states the tool's purpose without unnecessary words. It is appropriately concise for a simple read 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?
The tool is simple with one parameter and no output schema, but the description lacks context about return values, supported networks, or when to choose this over overlapping siblings. Given the abundance of gas/fee tools, some additional context would improve completeness.
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 thorough coverage (100%) for the lone 'network' parameter, including examples, chain ID support, and default value. The description adds no parameter information, but the schema already documents the parameter well, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets EIP-1559 fee data, naming base fee and priority fee as included components. However, it does not explicitly distinguish this from related sibling tools like get_gas_prices_all_chains or get_gas_oracle, which may also provide fee information.
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 guidance is provided on when to use this tool versus alternatives. There is no mention of supported networks, prerequisites, or scenarios where this tool is preferable to the many gas/fee-related sibling tools such as get_gas_price, get_gas_history, or calculate_tx_cost.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ens_avatarA
Get the avatar URL for an ENS name
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ENS name |
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 for behavioral disclosure. It only states the function and does not describe return format, error behavior (e.g., what if the ENS name has no avatar), or network request implications.
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 a single sentence that is front-loaded with the action and resource. Every word contributes meaning; there is no fluff 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 simple one-parameter read-only tool, the description clearly implies that the output is the avatar URL. It does not detail edge cases or return schema, but given the simplicity and no output schema, it is adequately complete for an agent to select and 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?
Schema description coverage is 100%: the only parameter 'name' is described as 'ENS name'. The tool description itself also refers to 'ENS name', adding no new semantics beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and clearly identifies the resource as 'avatar URL for an ENS name'. It distinguishes from sibling ENS tools like resolve_ens_name or get_ens_text_records by focusing narrowly on the avatar URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: when you need the avatar URL for an ENS name. However, it does not explicitly contrast with alternatives like resolve_ens_name or get_ens_name_details, nor does it specify when NOT to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ens_name_detailsC
Get comprehensive details about an ENS name
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ENS name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only says 'get comprehensive details' and does not mention output shape, potential errors, rate limits, or any side effects. This is essentially no behavioral transparency beyond an implied read operation.
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 a single short sentence, which is front-loaded and efficient. However, it is under-specified; it provides only the bare purpose and no additional context. It could be considered concise but sacrifices informativeness for brevity.
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 one parameter and no output schema, so the description is the only source for understanding what 'details' are returned. It does not enumerate the fields or differentiate from closely related ENS tools. Given the large number of sibling ENS-related tools, this description is incomplete and likely leaves the agent uncertain about its exact function.
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 one parameter, 'name', described as 'ENS name' in the schema. Since schema coverage is 100%, the baseline is 3. The description adds no extra semantic detail, such as expected format (e.g., 'vitalik.eth' vs 'vitalik') or whether subdomains are valid, but it does not need to compensate due to full 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 states the tool fetches 'comprehensive details about an ENS name', which is a clear verb+resource. However, it does not specify what those details are, and it does not distinguish this from siblings like get_ens_text_records or get_ens_avatar. The phrase 'comprehensive details' is vague and could encompass many different data types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as resolve_ens_name, get_ens_text_records, or get_ens_avatar. No context, prerequisites, or exclusions are provided. The description does not help an agent choose between related ENS tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ens_text_recordsA
Get text records for an ENS name (avatar, twitter, email, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ENS name | |
| records | No | Specific records to fetch (default: common ones) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of indicating behavior. The verb 'Get' transparently signals a read-only operation, and the examples clarify what data may be returned. However, it does not mention default behavior for the optional 'records' parameter or potential edge cases, though this is not critical for a simple getter.
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 a single, focused sentence of 13 words. It front-loads the core action and resource, with no redundant or extraneous information, achieving high efficiency.
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 simplicity (2 params, no output schema, read-only), the description covers the essentials: what it does and what it retrieves. It could be more explicit about the return format or default behavior, but the combination of description and complete schema provides enough context 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 100% for both parameters, so the baseline is 3. The description adds value by providing concrete examples (avatar, twitter, email) that clarify what 'common records' means for the optional 'records' parameter, going slightly beyond the schema's generic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb 'Get' and resource 'text records', with examples 'avatar, twitter, email' that distinguish it from sibling tools like set_ens_records or get_ens_avatar. It unambiguously conveys a read operation for ENS text records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for fetching text records from an ENS name, but it does not explicitly state when to use it over alternatives such as get_ens_avatar or get_ens_name_details, nor does it provide exclusions or comparison guidance. Usage is implied rather than explicitly directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_erc1155_token_metadataB
Get the metadata for an ERC1155 token (multi-token standard used for both fungible and non-fungible tokens). The metadata typically points to JSON metadata about the token.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenId | Yes | The ID of the specific token to query metadata for (e.g., '1234') | |
| tokenAddress | Yes | The contract address of the ERC1155 token collection (e.g., '0x76BE3b62873462d2142405439777e971754E8E77') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description is the sole source of behavioral info. It adds that metadata 'typically points to JSON metadata,' which hints at the return format but leaves ambiguity about whether the tool returns the URI or the resolved JSON. No error behavior or network defaults are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loaded with the action. The second sentence provides useful context about the ERC1155 standard without any fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should clarify the return value more thoroughly. It leaves critical ambiguity about whether the output is a token URI or the actual JSON metadata, and lacks details on network behavior or failure cases.
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 covers 100% of parameter descriptions, so the baseline is 3. The description does not add additional parameter semantics beyond what the schema already provides (e.g., tokenId, tokenAddress, network).
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 fetches metadata for an ERC1155 token and explains the token standard. However, it doesn't explicitly distinguish from sibling tools like 'fetch_nft_metadata' or 'get_nft_info'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when ERC1155 metadata is needed but provides no explicit when/when-not guidance or alternatives. The name and standard clarification give some context, but there's no comparison to other NFT metadata tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_erc20_balanceC
Get ERC20 token balance for an address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The address to check balance for | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| tokenAddress | Yes | The ERC20 token contract address |
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 of behavioral disclosure. It does not mention that this is a read-only operation, that a private key is required (which is unusual for a balance check), or that the private key is not stored. The only behavioral detail about the private key is in the schema parameter description, but the tool description itself is silent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant wording. It gets straight to the point, but its brevity means it omits important contextual details that other dimensions capture.
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 balance-checking tool, the description is minimal. It lacks mention of supported networks (the schema's default is BSC), the reason a privateKey is required, and any return value details. The lack of annotations and output schema increases the burden on the description, which it does not meet.
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 100% coverage with descriptions for all four parameters. The tool description adds no additional parameter information beyond what the schema already contains, so it only meets the baseline expected for high 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 uses the specific verb 'Get' and identifies the resource as 'ERC20 token balance for an address,' which is clear. However, it does not distinguish this from sibling tools like get_token_balance or get_native_balance, so it lacks 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 provides no information about when to use this tool versus alternatives, nor does it mention any prerequisites such as network specification or the need for a private key. There are no exclusions or alternative tool recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_erc20_token_infoC
Get ERC20 token information
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenAddress | Yes | The ERC20 token contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavioral traits. It does not state that the operation is read-only, what data is returned, whether it requires any special network handling, or any potential error conditions. The phrase 'Get ERC20 token information' is too vague to convey any meaningful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words, making it efficient. However, it is arguably too terse to be useful, bordering on under-specification rather than being a well-structured description. It earns a 4 for brevity but lacks substantive 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?
The description is incomplete for a tool with no output schema and no annotations. It does not explain what information is returned, the supported networks, or the impact of the optional 'network' parameter. The schema covers parameter formats, but the description fails to provide the necessary context about the tool's behavior and return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% as both 'network' and 'tokenAddress' have descriptive text in the schema. The description adds no additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves ERC20 token information using a specific verb ('Get') and resource ('ERC20 token information'). However, it does not specify what exact information is returned (e.g., name, symbol, decimals, total supply) and does not distinguish it from sibling tools like get_token_supply_info or get_erc20_balance.
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 guidance is provided on when to use this tool instead of alternatives. There are no mentions of prerequisites, typical use cases, or exclusions. The description simply states the action without any context about how it fits among the many other token-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_erc20_transfersC
Get ERC20 token transfer events
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default: 50) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| toBlock | No | End block | |
| fromBlock | No | Start block | |
| toAddress | No | Filter by recipient | |
| fromAddress | No | Filter by sender | |
| tokenAddress | Yes | Token contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure but only restates the tool's function without elaborating on return format, pagination, default block-range behavior, or network/performance implications. The schema hints at defaults (e.g., network defaults to 'bsc'), but the description itself adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At five words, the description is extremely efficient, front-loaded with the verb, and contains no filler. While it is arguably under-specified for a 7-parameter tool, from a pure conciseness standpoint it is clean and 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?
Given the tool's 7 parameters, lack of annotations, and absence of an output schema, this 5-word description is insufficient for the agent to fully anticipate behavior (e.g., what events are returned, or how missing block-range filters behave). The description does not compensate for these gaps, making it incomplete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema includes descriptions for all 7 parameters (100% coverage), so the schema does the heavy lifting. The description adds no parameter-level detail, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Get') and a specific resource ('ERC20 token transfer events'), communicating the tool's core function concisely. However, it does not explicitly distinguish this from related sibling tools like get_approval_events or get_contract_logs, leaving the differentiation implicit.
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 guidance is provided regarding when to use this tool versus alternatives such as get_contract_logs, get_logs_by_topic, or get_approval_events. There is no mention of prerequisites, exclusions, or recommended use cases, so the agent must infer applicability from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_event_topicB
Compute the topic0 hash for a Solidity event signature
| Name | Required | Description | Default |
|---|---|---|---|
| signature | Yes | The event signature (e.g., 'Transfer(address,address,uint256)') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It accurately conveys that this is a pure computation, but it does not disclose the return format (e.g., 0x-prefixed hex) or any edge cases. The core behavior is clear, but additional context would be helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence, front-loaded with the verb and object, with no wasted words. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter computation tool with no output schema, the description sufficiently indicates what is computed and the input. However, it lacks details on return value formatting and differentiation from closely related sibling tools, leaving minor 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?
The input schema already covers the 'signature' parameter with a clear description and example. The tool description adds minimal semantic value beyond restating the parameter context, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Compute') and the specific resource ('topic0 hash for a Solidity event signature'). It uses precise terminology and is unambiguous, though it does not explicitly differentiate from the similar sibling tool 'calculate_event_signature'.
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 guidance on when to use this tool versus alternatives such as 'calculate_event_signature' or 'get_event_topics'. There is no mention of context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_event_topicsC
Get topic hashes for common events
| Name | Required | Description | Default |
|---|---|---|---|
| eventName | No | Specific event name (Transfer, Approval, Swap, etc.) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for disclosing behavior. It does not explain whether the tool returns a single hash or multiple, how the optional 'eventName' parameter affects results, what 'common events' refers to, or the outcome for unsupported event names. This lack of detail leaves significant 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 a single, short sentence with no fluff, effectively front-loading the main action. It earns a high score for brevity, but the vague term 'common events' could be clearer without much added length.
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 simplicity (one optional parameter, no output schema, no annotations), the description is too sparse. It fails to clarify whether omitting 'eventName' returns all hashes, how the topic hash is computed, or the format of the output. A complete description would explain the optional behavior and the meaning of 'common events'.
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 a description for the only parameter, 'eventName', covering 100% of schema properties. The description itself adds no extra semantic meaning beyond the schema. Baseline 3 applies because the schema already handles parameter documentation adequately.
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 'Get topic hashes for common events' uses a specific verb and resource, clearly indicating the tool retrieves event topic hashes. It is not a tautology and conveys the core function. However, it does not differentiate from the sibling tool 'get_event_topic' (singular), leaving ambiguity about the scope or plural version.
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 guidance on when to use this tool versus alternative tools like 'get_event_topic' or 'calculate_event_signature'. There is no mention of use cases, prerequisites, or exclusions. Only the bare function is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_farming_positionC
Get LP farming position and pending rewards
| Name | Required | Description | Default |
|---|---|---|---|
| poolId | Yes | Pool ID | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| userAddress | Yes | User address to check | |
| farmContract | Yes | Farm contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states the basic action and does not disclose behavioral traits such as whether a position may not exist, how errors are handled, or what 'pending rewards' means in terms of state reads.
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 a single concise sentence, front-loaded with the verb and object. It is efficient and easy to parse, though it lacks any elaboration that might aid in understanding edge cases.
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, yet the description does not explain what data is returned (e.g., amounts, token symbols, reward rates). For a 4-parameter tool with no output schema, the description is too minimal to provide a complete picture.
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 100% coverage with descriptions for all four parameters, so the baseline is 3. The description adds no additional semantic context beyond the schema, but also doesn't need to compensate.
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 ('Get') and resource ('LP farming position and pending rewards'). It is distinguishable from siblings like get_lp_balance by focusing on the farming position and pending rewards, though it doesn't explicitly contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. Given the many similar tools in the sibling list (e.g., get_lp_balance, get_staking_position), the absence of usage context makes it hard for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_finality_statusC
Get the finality status for a block or transaction on the network
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| blockNumber | No | Block number to check finality for (defaults to latest) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It implies a read-only operation but does not explicitly state safety, side effects, or return format. The phrase 'finality status' could mean a boolean, string, or object, and the description does not clarify what the agent should expect.
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 a single, front-loaded sentence with no redundant words. It is concise and efficient, though it could be slightly more informative without becoming verbose, such as mentioning the type of finality status returned.
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 output schema and no annotations, the description is insufficiently complete. It does not explain what the return value looks like, how to interpret finality status, or how this tool fits into the broader ecosystem of block/transaction tools. Simple tools still need this context for agent 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?
The input schema provides complete descriptions for both parameters (100% coverage). The description itself does not add parameter-specific details beyond what the schema already states, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Get') and resource ('finality status for a block or transaction'), which is distinct from generic block/transaction retrieval tools. However, it does not explicitly differentiate itself from sibling tools like get_block_by_number or get_transaction, which could also be relevant for finality queries.
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 guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, network scope, or how this relates to tools like get_latest_block or estimate_block_time. An agent must infer usage solely from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_flash_loan_infoC
Get flash loan information and fees for a protocol
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | Asset address to flash loan | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| protocol | Yes | Lending protocol name (e.g., 'Aave V3') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears the full burden. It implies a read-only operation with 'Get' but does not confirm safety, response format, or any caveats such as network support or fee calculation specifics.
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 a single, concise sentence that is front-loaded with the main action and resource. There is no unnecessary content or verbosity.
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?
Without an output schema or annotations, the description should explain what information is returned, but it only says 'flash loan information and fees.' It lacks details on return format, error conditions, or network dependencies, making it incomplete for a simple info 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?
All three parameters (asset, network, protocol) are documented in the schema with descriptions, meeting the baseline. The description adds no additional semantic meaning beyond the schema, only reiterating the protocol context.
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 retrieves flash loan information and fees for a protocol, using a specific verb and resource. It is distinct enough from siblings focused on lending rates, though it could be more explicit about distinguishing itself.
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 guidance is provided on when to use this tool versus alternatives like get_lending_rates or other lending-related tools. The description states only the function without situational context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_function_selectorA
Compute the 4-byte function selector for a Solidity function signature
| Name | Required | Description | Default |
|---|---|---|---|
| signature | Yes | The function signature (e.g., 'transfer(address,uint256)') |
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 of behavioral disclosure. The one-sentence description states the computation but does not specify the output format (e.g., whether it returns a 0x-prefixed hex string), how invalid signatures are handled, or whether input normalization is applied. This leaves important behavior undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately conveys the tool's purpose with no redundant content. It is appropriately sized for a simple utility.
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 compute utility, the description and complete schema cover the essential input, but since there is no output schema and no annotations, the lack of any detail about the return value format or edge cases leaves a notable information gap. The straightforward nature of the tool mitigates this, but it is 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?
Schema description coverage is 100%, and the 'signature' parameter is clearly documented with a representative example. The tool description adds no additional semantics beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Compute' and identifies the exact resource '4-byte function selector' with the input 'Solidity function signature'. This clearly distinguishes it from sibling tools like calculate_event_signature, which targets event signatures, and keccak256_hash, which is a general hashing 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?
The description implies when to use the toolโwhenever a 4-byte function selector is neededโbut provides no explicit comparison with alternative tools or guidance on when not to use it. There is no mention of how it relates to similar tools like calculate_event_signature or get_event_topic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gas_historyB
Get historical gas prices from recent blocks
| Name | Required | Description | Default |
|---|---|---|---|
| blocks | No | Number of blocks to analyze (default: 10) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 only states the purpose and 'recent blocks' scope but does not mention that this is a read-only operation, what the return format is, how the network parameter behaves, or any implications of the blocks parameter. This is insufficient for a tool with no output schema and no 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 a single, clear, front-loaded sentence with no wasted words. It efficiently conveys the core purpose and scope. There is no clutter or redundant information, making it concise and well-structured for its simplicity.
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 absence of an output schema and annotations, the description must explain the tool's behavior and return values, but it does not. It fails to mention that the tool defaults to BSC mainnet, supports multiple networks, or what the output looks like (e.g., a list of gas prices per block). The description is too sparse to fully prepare an agent to use this tool correctly, especially with no other context.
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 100% coverage with thorough descriptions for both parameters (blocks and network), including defaults and examples. The description adds little beyond the schema, merely reinforcing the 'recent blocks' concept, which already aligns with the blocks parameter. Since the schema does the heavy lifting, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get historical gas prices from recent blocks.' It uses a specific verb ('get'), identifies the resource ('gas prices'), and scopes the operation ('from recent blocks'). This distinguishes it from related siblings like get_gas_price (current price) and get_gas_prices_all_chains (all chains not historical).
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 usage guidance, such as when to use this tool versus get_gas_price or get_gas_prices_all_chains. It does not mention that the network defaults to BSC or that blocks is an optional parameter. There is no explicit when-to-use or when-not-to-use guidance, making it difficult for an agent to select this tool appropriately in context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gas_oracleB
Get comprehensive gas price recommendations for different speed tiers
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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, but it only offers minimal detail. It doesn't state output format, units, default network behavior, or any side effects. The phrase 'for different speed tiers' is the sole behavioral hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence (9 words) that is front-loaded with the action and core purpose. Every word contributes meaning; there is 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?
The tool is simple (one optional parameter, no output schema, no annotations), and the description gives a basic idea of what it does. However, it omits important context for an agent, such as the return structure, what speed tiers are included, or how it compares to similar tools, leaving moderate 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 coverage is 100%, so the input parameter 'network' is fully documented. The description adds no extra parameter semantics (e.g., what 'network' values are valid or how speed tiers relate to the parameter), so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb ('Get') and resource ('gas price recommendations'), and specifies the qualifier 'for different speed tiers,' which conveys a distinct purpose. However, it doesn't explicitly differentiate from sibling tools like 'get_gas_prices_all_chains' or 'get_eip1559_fees.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are many gas-related sibling tools (e.g., 'get_gas_price', 'defi_get_chain_fees') but no mention of prerequisites, exclusions, or when to prefer this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gas_priceB
Get current gas price for a network
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it adds no behavioral context beyond the tool's name. It does not disclose units, data source, error behavior, or whether this is a read-only operation, leaving the agent to infer those details from the word 'Get' alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with no filler or redundant information. It is appropriately sized for such a simple tool and is easy to parse quickly.
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 simplicity of the tool and the rich schema parameter description, the description is minimally adequate. However, the absence of an output schema and the close sibling tools like get_gas_prices_all_chains create ambiguity that the description doesn't resolve, such as the exact response format or how it differs from the all-chains variant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the parameter description in the schema already explains acceptable values (network names, chain IDs), examples, and the default. The tool description itself adds no additional parameter semantics, but the schema handles it sufficiently, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Get) and resource (current gas price for a network), making the core purpose understandable. However, it does not differentiate from sibling tools like get_gas_prices_all_chains or per-chain gas tools such as near_get_gas_price and sui_get_gas_price, which also retrieve gas price information.
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 guidance is provided on when to choose this tool over alternatives like get_gas_prices_all_chains, get_gas_oracle, or get_gas_history. There is no mention of exclusions, prerequisites, or situations where other tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gas_prices_all_chainsA
Get gas prices across all supported chains for comparison
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It indicates a read-only lookup via 'Get' and defines the scope across all supported chains, but it does not disclose response format, units, or potential data volume. The description is not misleading but is sparse on behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that avoids redundancy. Every word contributes meaning, clearly stating the action, resource, scope, and purpose without 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?
Given the tool's simplicity (0 params, no output schema), the description covers the core behavior adequately. It could add output details like units or a note on when to prefer single-chain alternatives, but for a basic cross-chain gas price lookup, it is largely 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?
The tool has zero parameters, making schema coverage trivially 100%. The description correctly implies no input is needed, and with no parameters to explain, the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' with a clear resource ('gas prices') and scope ('across all supported chains'), explicitly stating the intended use case 'for comparison'. This distinguishes it from per-chain gas price tools like 'get_gas_price' or 'sui_get_gas_price'.
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 'for comparison' provides a clear context for when to use the tool. However, it does not explicitly name alternatives or provide 'when not to use' guidance, such as for single-chain gas price queries, which would be a minor omission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_governance_paramsB
Get governance parameters like voting delay, period, and thresholds
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| governorAddress | Yes | Governor contract address |
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 implies a read-only operation via the verb 'Get' but adds no additional context such as the need for a valid governor contract address, network-specific behavior, or what happens if the address is invalid. The description does not disclose any behavioral traits beyond what is evident from the name and 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 a single concise sentence with no unnecessary words. It efficiently states the tool's purpose with examples of the governance parameters returned. Every word earns its place, and it is well-structured for quick comprehension.
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 simplicity, the description is adequate but not complete. It lists examples of governance parameters but does not explain the full range of possible return values or the format of the response. There is no output schema, so the description should have provided more detail about what the agent can expect. It also does not mention that the governorAddress must be a valid governance contract address, though that is somewhat implied.
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 complete descriptions for both parameters (network and governorAddress), achieving 100% schema coverage. The description adds no additional parameter semantics beyond mentioning 'voting delay, period, and thresholds' which are examples of the returned data, not parameter details. Since schema coverage is high, the baseline of 3 is appropriate and the description does not need to compensate.
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's function as retrieving governance parameters such as voting delay, period, and thresholds. It uses a specific verb ('Get') and a specific resource ('governance parameters'), making its purpose clear. However, it does not explicitly distinguish itself from sibling tools like get_proposal_details or get_voting_power, which could cause some ambiguity.
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 guidance on when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. It simply states what the tool does, leaving the agent to infer usage context from the name and schema. No alternatives or when-not-to-use scenarios are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_holder_distributionC
Analyze token holder distribution for concentration risks
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| topHolders | No | Number of top holders to analyze | |
| tokenAddress | Yes | Token contract address |
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 of behavioral disclosure. It only states the analytical purpose and does not disclose return format, side effects (e.g., read-only vs. state-changing), or any network-specific behavior. This is minimal and leaves significant uncertainty.
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 a single, concise sentence with no filler or redundancy. It is front-loaded with the verb and resource, and every word contributes meaning. This is an appropriate size for a tool with a well-defined purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must compensate for missing contextual information. It only provides a high-level purpose and leaves unclear what the result looks like (risk score, list of holders, etc.), how concentration risk is calculated, and any edge cases. This is inadequate for an agent to confidently invoke and interpret the 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 100% โ all three parameters have descriptive text in the schema, so the schema carries the parameter semantics. The description adds no additional parameter context beyond what the schema provides, which aligns with the baseline 3 when schema coverage is high.
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 'Analyze' with a clear resource ('token holder distribution') and explicitly states the analytical goal ('concentration risks'). It is distinguishable from siblings like get_token_holder_count (count only) and wallet_token_holder_analysis (wallet-level analysis), though it does not explicitly reference 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?
No guidance is given on when to use this tool versus alternatives, nor any context about prerequisites or whether it is a read-only operation. The description is a standalone purpose statement without usage direction, leaving the agent to guess when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_blockC
Get the latest block
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior, but it only says 'Get the latest block.' It does not mention that it returns a block object, what fields are included, or that it supports multiple networks via the parameter. The behavior is implicitly a read operation, but no details 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 very concise, but it is under-specified and does not earn its place since it restates the name. It lacks necessary details that would make the description valuable, so while not verbose, it is not appropriately sized.
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 one-sentence description is inadequate. It does not explain what the latest block contains, how to interpret the response, or mention the network parameter's role, leaving an agent with significant uncertainty.
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 description for the 'network' parameter is comprehensive (100% coverage), listing examples and default. The tool description adds nothing about parameters, but the schema already provides sufficient semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get the latest block' is a direct restatement of the tool name 'get_latest_block', adding no new information. It does not distinguish the tool from sibling block-related tools or clarify the network scope, making it a 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?
There is no guidance on when to use this tool vs alternatives. No mention of preferred use cases, exclusions, or how it compares to tools like get_block_by_number or get_block_by_hash. The description provides zero usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lending_positionB
Get a user's lending/borrowing position on a protocol
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| protocol | Yes | Lending protocol name | |
| userAddress | Yes | User address to check |
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 of behavioral transparency. It only states the basic function and does not disclose return format, whether both lending and borrowing positions are returned, what happens if the user has no position, or any error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear, front-loaded sentence with no filler or redundancy. It efficiently conveys the core purpose.
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 under-specified for a tool with no annotations, no output schema, and a short description. It lacks usage guidance, behavioral details, and any clarification of the 'position' contents, making it incomplete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters (network, protocol, userAddress) are already documented with descriptions. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'a user's lending/borrowing position on a protocol'. This distinguishes it from sibling tools like get_lending_rates (rates, not positions) and get_lending_protocols (protocol list), and is specific about 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?
There is no guidance on when to use this tool versus alternatives. The description does not mention related tools such as calculate_health_factor or get_lending_rates, nor does it state any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lending_protocolsA
Get list of supported lending protocols on a network
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 implies a read-only operation via 'Get' but does not clarify response format, pagination, or any side effects. For a simple getter, this is acceptable but lacks deeper 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 a single, front-loaded sentence with no superfluous content. It immediately conveys the tool's purpose and scope, earning the maximum score for conciseness and structure.
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 optional parameter and no output schema, the description is reasonably complete. It clearly states what is returned (a list of supported lending protocols) and the context (network). Although it does not detail the output format, the description is adequate for its simplicity.
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 covers the network parameter fully with examples, default value, and explanation. The description's 'on a network' aligns with the schema but adds no additional semantic value beyond what the schema already provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get list of supported lending protocols on a network' with a specific verb (Get), resource (list of protocols), and scope (network). This distinguishes it from sibling tools like get_lending_rates, which focuses on rates, and defi_get_protocols, which covers all DeFi protocols.
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 needing a list of lending protocols for a given network but does not explicitly mention when to use this tool over alternatives, such as get_lending_rates or defi_get_protocols. No exclusions or alternative references are provided, so guidance is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lending_ratesB
Get current supply and borrow rates for a lending market
| Name | Required | Description | Default |
|---|---|---|---|
| asset | No | Asset address (for Aave) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| protocol | Yes | Lending protocol name |
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 of behavioral disclosure. It does not mention that this is a read-only operation, nor does it disclose the network default (BSC), the optionality of 'asset', or how different protocols may handle parameters. Since it adds no behavioral context beyond the core action, it falls short.
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 a single, focused sentence with no filler or redundant information. It is highly concise and easy to parse, earning a top score for efficiency.
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 read tool, the description is minimally adequate, but it lacks important context like the required 'protocol' parameter, the default network, and the special meaning of 'asset' for Aave. Given the absence of an output schema and annotations, more contextual detail would be beneficial, but the core purpose is still 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 100%, so the parameters are already documented. The description adds no additional meaning beyond what the schema provides, but it does reinforce that the tool retrieves rates, which complements the parameter descriptions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Get') and specific resource ('supply and borrow rates for a lending market'), distinguishing it from sibling tools like get_lending_protocols or get_lending_position. It is a precise and unambiguous statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of which protocols or networks are supported. The description simply states what it does without contextual usage instructions, leaving the agent to infer applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lido_statsC
Get Lido staking statistics and APR
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network | ethereum |
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 implies a read-only operation but provides no details on what data is returned, whether any rates are averaged or current, potential limitations, or output structure. This is minimal at best.
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 a single, front-loaded sentence with no filler or redundant detail. It communicates the core purpose efficiently without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, and the description does not specify what 'statistics' or 'APR' actually include. An agent cannot determine whether this tool returns total staked, current APY, historical data, etc., making the description incomplete for practical 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?
The schema provides 100% coverage of the single `network` parameter, including an enum and default value. The description adds no extra meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Get') and resource ('Lido staking statistics and APR'), making the tool's purpose understandable. However, it does not explicitly distinguish from sibling tools like get_staking_apr or get_liquid_staking_info, which could be alternative sources for similar information.
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 guidance is provided on when to use this tool versus alternatives. There are no mentions of specific use cases, prerequisites, or exclusions, so the agent is left to infer the intended context from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_liquidatable_positionsB
Find positions that can be liquidated (health factor < 1)
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| protocol | Yes | Lending protocol name | |
| addresses | Yes | Array of addresses to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits, but it only mentions the health factor criterion. It fails to state whether this is a read-only operation, how results are returned, or any edge cases (e.g., invalid addresses). This minimal description leaves the agent uncertain about the tool's side effects and output 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 a single, direct sentence that immediately states the core purpose. It is appropriately sized for a simple query tool and contains no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, yet the description does not mention the return format or any behavioral constraints. It relies entirely on the schema for parameters but leaves the agent guessing about the structure of the returned positions or any potential side effects, making it incomplete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for all three parameters (network, protocol, addresses), so the schema carries the full burden of parameter semantics. The description adds no additional meaning beyond the schema, which is the baseline expectation at 100% 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 function: finding positions eligible for liquidation based on health factor < 1. It uses a specific verb ('Find') and resource ('positions'), and distinguishes itself from sibling tools like get_lending_position (which retrieves a single position) and defi_get_liquidations (which returns liquidation events).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as calculate_health_factor or get_lending_position. The description only states the tool's purpose without any exclusions, prerequisites, or context for alternative selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_liquid_staking_infoA
Get liquid staking token addresses and info for a network
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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. The verb 'Get' implies a read-only operation, but no additional behavioral traits (return format, unsupported network behavior, caching, or data freshness) are disclosed. This is minimal but not misleading.
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 a single, front-loaded sentence with no filler. It conveys the action and resource efficiently.
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 getter, the description plus rich schema is mostly sufficient. However, there is no output schema and 'info' is vague; listing example return fields or clarifying the data structure would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the parameter description already explains network examples, chain ID support, and the default BSC. The tool description adds only the phrase 'for a network', providing no extra semantic value beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' with a clear resource ('liquid staking token addresses and info') scoped to 'a network'. This distinguishes it from sibling tools like get_lido_stats, get_staking_protocols, and get_staking_apr by focusing on token addresses/info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided, and no alternatives are named. The usage is only implied: pass a network to retrieve liquid staking token info. Given the large number of staking-related sibling tools, this leaves disambiguation to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_logs_by_topicB
Get logs filtered by event topic hash
| Name | Required | Description | Default |
|---|---|---|---|
| topic0 | Yes | Primary topic (event signature hash) | |
| topic1 | No | Second indexed parameter | |
| topic2 | No | Third indexed parameter | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| toBlock | No | End block | |
| fromBlock | No | Start block | |
| contractAddress | No | Contract address filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior, but it only restates the core function. It does not mention default network behavior (e.g., defaults to BSC), pagination, response format, or the fact that topic0 is required. This is a read-only operation, but the absence of any behavioral context is a notable 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 description is a single clear sentence with no filler or redundant information. It is front-loaded with the core action and filter, making it easy 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 tool has 7 parameters, no output schema, and no annotations, yet the description only offers a one-line summary. It lacks information on return format, default network, or how topic hashes should be formatted, leaving the agent under-equipped for 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?
Schema description coverage is 100%, so the baseline is 3. The description adds minimal value by indicating that 'topic0' is a primary filter, but it does not clarify the roles of topic1/topic2 or other parameters beyond what the schema already provides.
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 ('Get logs') and the filter criterion ('by event topic hash'), which specifies both the resource and the distinguishing feature. This sets it apart from sibling tools like get_contract_logs or get_erc20_transfers, which focus on other filters or event types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as get_contract_logs or get_event_topics. There are no exclusions, prerequisites, or context hints, leaving the agent to guess the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lp_balanceC
Get LP token balance for a trading pair
| Name | Required | Description | Default |
|---|---|---|---|
| dex | No | Specific DEX | |
| tokenA | Yes | First token address | |
| tokenB | Yes | Second token address | |
| address | Yes | Address to check balance for | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 of behavioral disclosure. The description only states what the tool does, not any behavioral traits such as read-only nature, return format, units, or network/DEX defaults. It does not disclose whether the balance is in wei, whether the address must be a wallet or contract, or any potential side effects (though it is likely a read-only getter). The lack of such information is a significant 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 description is a single, concise sentence that is front-loaded with the action ('Get') and resource ('LP token balance'). It contains no redundant words and is easy to parse. Every word 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?
This tool has 5 parameters, no output schema, and no annotations. The description is minimal and does not explain the return value, units, or any caveats about network/DEX selection. For a tool that queries balances, the agent might need to know if decimals are handled, if the balance is returned as a raw integer, or how 'trading pair' maps to token addresses. The lack of such context makes the description insufficient for a complete understanding.
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 descriptions for all 5 parameters (100% coverage), so the baseline is 3. The description does not add additional parameter semantics beyond what the schema already defines. It reinforces the purpose by mentioning 'trading pair', which maps to tokenA and tokenB, but does not elaborate on formats or relationships. The schema already covers the essential meaning, so no penalty, but also no bonus.
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: 'Get LP token balance for a trading pair'. It uses a specific verb and resource, and the scope ('for a trading pair') distinguishes it from generic balance tools like get_token_balance or get_erc20_balance. However, it does not differentiate itself from other LP-related tools such as get_pool_reserves or get_dex_liquidity, which could be seen as similar in context.
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 guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or alternative tools. While the purpose is clear, there is no explicit usage context, leaving the agent without decision support for tool selection among the many DeFi and balance-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mev_protection_infoB
Get information about available MEV protection options for a network
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 only states that it 'gets information', implying a read-only operation, but does not disclose what the response contains, whether any network-specific caveats exist, or what 'MEV protection options' entails. This is minimal behavioral disclosure beyond the name.
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 a single, concise sentence that is front-loaded with the action and resource. There is no unnecessary information, making it highly efficient and easy parse.
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?
This is a simple informational tool with one parameter and no output schema. The description is sufficient for basic understanding, but it lacks detail about the nature of the returned options or any network-specific behavior. Given the low complexity, the description is adequate but not rich; a slightly more detailed explanation of what 'MEV protection options' include would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the 'network' parameter is well documented in the schema with examples and a default. The description does not add additional semantic detail beyond referencing 'a network', which is already captured in the schema. The baseline of 3 applies because the schema handles parameter semantics adequately.
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 'Get' and the resource 'information about available MEV protection options for a network'. It is specific enough to indicate the tool's function, though it does not explicitly distinguish from sibling tools like check_mev_exposure or send_private_transaction. The network scope is evident, making the purpose clear but not differentiated.
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 guidance on when to use this tool versus alternatives, nor any exclusion criteria or context. There is no mention of related tools or scenarios where this would be the preferred choice, leaving the agent without usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_multichain_portfolioC
Get portfolio across multiple chains
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address | |
| networks | No | Networks to check (default: all supported) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It doesn't disclose whether this is a read-only operation, whether it aggregates tokens or native balances, whether it accepts a single wallet address and returns combined valuation, or any rate limits/response specifics. The default 'all supported networks' behavior is implied by schema but not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear sentence that is front-loaded with the core purpose. No redundant words, no filler. Perfectly concise for a simple read 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?
No output schema, no annotations, and only minimal description. For a tool that fetches portfolios across multiple chains, the agent needs to know what the response contains (e.g., token balances, USD value, per-chain breakdown) and how to use it. The current description is too sparse to fully support correct invocation and result interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameters are documented. The description adds no extra meaning beyond the schema; 'Networks to check (default: all supported)' is in the schema. Baseline 3 is appropriate because the schema handles the heavy lifting, but the description itself contributes nothing additional.
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 'Get portfolio across multiple chains' uses a specific verb (Get) and resource (portfolio), and clarifies the multi-chain scope. It distinguishes itself enough from siblings like get_wallet_portfolio and portfolio_get_summary by emphasizing 'multichain', 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?
No guidance is provided on when to use this tool versus alternatives. With many related portfolio tools (get_wallet_portfolio, portfolio_get_summary, market_get_wallet_balance), the description doesn't state what makes this tool the right choice, such as needing multiple chain balances or default behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_multi_native_balancesB
Get native token balances for multiple addresses
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| addresses | Yes | Array of addresses to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral transparency. It only says 'Get', which implies read-only, but does not disclose return format, error behavior, network constraints, or any side effects. It adds no information beyond what the name already suggests.
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 a single, direct sentence with no filler. It is front-loaded with the main action and perfectly concise for the tool's simplicity.
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 clarify what the return value looks like. The description only says 'balances' but does not specify the format (e.g., array of numbers, currency units, or per-address mapping). While the tool is simple, the lack of output information leaves an incomplete picture for the 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 100%: both 'network' and 'addresses' have meaningful descriptions in the input schema. The tool description adds no additional parameter context, but the baseline of 3 is appropriate given the schema already explains the parameters well.
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: 'Get native token balances for multiple addresses'. It uses a specific verb ('Get'), a specific resource ('native token balances'), and the object 'multiple addresses' distinguishes it from singular balance tools like get_native_balance and from token balance tools like get_multi_token_balances.
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 guidance is provided about when to use this tool versus alternatives such as get_native_balance or get_multi_token_balances. There is no mention of trade-offs, prerequisites, or use cases, leaving the agent to infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_multiple_pricesC
Get prices for multiple pairs in a single call
| Name | Required | Description | Default |
|---|---|---|---|
| pairs | Yes | Array of price pairs (e.g., ['ETH/USD', 'BTC/USD']) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 of behavioral disclosure. It only describes the basic function and provides no details about response format, potential errors, rate limits, network requirements, or whether the operation is read-only. The description is severely lacking in 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 a single, focused sentence that directly states the tool's purpose without any unnecessary words or repetition. It is concise and 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?
Given that there is no output schema and no annotations, the description should explain return values and any relevant context, but it does not. It also fails to differentiate from numerous similar price-checking tools in the sibling list, leaving the agent with insufficient information to choose and use the tool effectively.
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 covers 100% of the parameters with descriptions, including examples for 'pairs' and a default for 'network'. The tool description adds no additional meaning beyond the schema, so it meets the baseline expected when schema coverage is high.
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 ('Get prices') and the resource ('multiple pairs'), with the added scope of 'in a single call' which implies batching. However, it does not explicitly distinguish from sibling tools like coingecko_get_prices or market_coingecko_simple_price, so it lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only states what it does without indicating use cases, exclusions, or prerequisites. The phrase 'in a single call' hints at batching but does not clarify when this tool is preferred over other price-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_multi_token_balancesA
Get balances of multiple tokens for an address in a single call
| Name | Required | Description | Default |
|---|---|---|---|
| tokens | Yes | Array of token contract addresses | |
| address | Yes | Wallet address to check | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden but only discloses that it is a single-call batch operation. It does not mention that it is read-only, how invalid token addresses are handled, or what the return structure looks like, leaving significant 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 a single, front-loaded sentence with no redundant words. It efficiently communicates the core purpose and key differentiator.
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 read-only balance tool with a complete schema, the description provides the essential purpose but lacks mention of the return format and does not differentiate from related multi-balance tools like get_multi_native_balances. No output schema exists to compensate, but the schema details parameters well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description adds no additional parameter semantics. It does not clarify the format of balances or token lists beyond what the schema already states, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb 'Get', identifies the resource 'balances of multiple tokens for an address', and adds the differentiating phrase 'in a single call'. This clearly distinguishes it from single-balance tools like get_token_balance and from get_multi_native_balances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'in a single call' implies the tool is for efficient batch balance queries, providing clear context for when to use it. However, it does not explicitly mention alternatives or when not to use it, such as for native balances or when network-specific tools are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_multi_token_infoC
Get name, symbol, decimals for multiple tokens in a single call
| Name | Required | Description | Default |
|---|---|---|---|
| tokens | Yes | Array of token contract addresses | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it reveals no behavioral traits such as default network handling, error behavior, or return format. It merely restates the action without adding transparency about side effects or performance characteristics.
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 an efficient single sentence with no wasted words, front-loading the core functionality. It is appropriately concise, though it borders on under-specification for a tool with no annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two well-documented parameters and no output schema. The description explains the basic purpose but lacks usage context, return expectations, and alternative tool comparisons, making it minimally complete for straightforward usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already documents both 'tokens' and 'network'. The description adds no further parameter semantics beyond what the schema provides, aligning with the baseline for high 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 fetches name, symbol, and decimals for multiple tokens in a single call, using a specific verb and resource. It distinguishes from sibling tools like get_multi_token_balances by specifying metadata fields, but it does not 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?
No guidance is provided on when to use this tool versus alternatives such as get_erc20_token_info or get_multi_token_balances. The description only states what it does, without any context on suitable use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_native_balanceB
Get native token balance for an address
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | The address to check balance for | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. |
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 transparency, but it only states the basic operation. It does not disclose that this is a read-only call, that it requires network access, how the return value is structured, or any side effects. The privateKey security note is in the schema, not the description, so the description itself adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It earns its place by clearly stating the tool's core function 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 read-only balance check, the description is minimally adequate, but it lacks context on the return format (e.g., raw integer vs. formatted string) and any operational details. Given the large sibling list with overlapping tools, more context about when to use this specific tool would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear descriptions for address, network, and privateKey. The description adds no parameter-level meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('native token balance') for an address, which distinguishes it from related tools like get_multi_native_balances or get_wrapped_native_balance. However, it could be more explicit about the network context or the native token definition, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as get_multi_native_balances, get_wrapped_native_balance, or get_token_balance. There is no mention of use cases, constraints, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_network_healthB
Check the health and synchronization status of the network connection
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 implies a read-only health check but does not explicitly state safety characteristics, what is being synchronized, or any side effects. It also does not describe the return format or what 'health' entails, leaving significant 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 a single concise sentence that is front-loaded with the primary action and object. It contains no filler or redundant information, making it efficient and well-structured for an agent to quickly parse.
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 a simple interface (one optional parameter) and no output schema, so the description must convey what the agent can expect. It mentions 'health and synchronization status' but does not specify the meaning of these terms or the expected response shape. This is adequate but leaves gaps in interpretation for an agent selecting among many similar network 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 100%, and the schema's description of the 'network' parameter is detailed, including examples and default. The tool description itself adds no additional parameter semantics beyond what the schema already provides, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Check') and specifies the resource ('network connection') and the focus ('health and synchronization status'). However, it does not differentiate from sibling tools like get_network_metadata or get_finality_status that may also report network state, so it lacks 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 provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or scenarios where another tool would be preferred, leaving the agent to infer appropriate usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_network_metadataB
Get comprehensive metadata about a network including explorers, native currency, and features
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It discloses that the tool returns metadata fields (explorers, native currency, features) and implies a read-only operation via 'Get'. However, it does not describe error handling, rate limits, or the full scope of 'comprehensive', leaving some 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 a single sentence, front-loaded with the action and resource. It is concise and avoids redundancy, though 'comprehensive' adds little semantic 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?
The description provides some examples of returned metadata but no output schema exists, so the agent must infer what 'comprehensive' includes. It doesn't mention supported networks or chain ID resolution, which are covered only in the schema. For a simple tool this may be adequate, but it could be more specific about return structure.
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 fully documents the single 'network' parameter, including examples and default behavior. The tool description itself adds no additional parameter details, so it relies on the schema. With 100% schema coverage, the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves comprehensive metadata about a network, specifically mentioning explorers, native currency, and features. It uses the specific verb 'Get' and identifies the resource as network metadata, distinguishing it from sibling tools that focus on specific aspects like health or supported networks. However, it doesn't explicitly differentiate from the similarly named 'get_chain_info' sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like get_chain_info or get_supported_networks. The description simply states what it does without providing context for selection or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_nft_collection_infoB
Get comprehensive information about an NFT collection (total supply, name, symbol)
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| collectionAddress | Yes | NFT collection contract address |
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 implies a read-only operation via 'Get' and outlines the primary output fields, but it does not disclose behaviors like how 'comprehensive' is defined, network resolution beyond the schema default, error handling for invalid addresses, or any rate limits. This is adequate for a simple getter but not richly 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 a single, front-loaded sentence that immediately states the action and subject, then lists examples of the data returned. Every word earns its place; there is no fluff 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?
Given no output schema and no annotations, the description provides a minimal but viable picture: it names three key return fields. However, 'comprehensive information' is vague and suggests more fields than listed, leaving the agent uncertain about the full response structure. For a simple 2-parameter read tool, this is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents both parameters (network and collectionAddress) with descriptions. The tool description adds no additional parameter semantics beyond what is already in the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('NFT collection'), and lists three concrete data points (total supply, name, symbol). It distinguishes itself from sibling tools like get_nft_info (individual NFT) and social_get_nft_collection (social metrics) by focusing on collection-level metadata, though it does not 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?
There is no guidance on when to use this tool versus alternatives such as get_nft_info, get_erc1155_token_metadata, or social_get_nft_collection. The description provides no context, prerequisites, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_nft_infoA
Get detailed information about a specific NFT (ERC721 token), including collection name, symbol, token URI, and current owner if available.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenId | Yes | The ID of the specific NFT token to query (e.g., '1234') | |
| tokenAddress | Yes | The contract address of the NFT collection (e.g., '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D' for Bored Ape Yacht Club) |
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 some return fields but doesn't mention network behavior, error conditions, authentication, or the read-only nature beyond the 'Get' verb. The 'if available' caveat is the only behavioral nuance.
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, well-structured sentence with a clear verb, resource, and relevant return fields. No filler or redundancy. Front-loaded with the action and immediately understandable.
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 low-complexity tool with full schema coverage, the description adequately covers purpose and return fields. Without an output schema or annotations, it could benefit from mentioning network behavior or error handling, but it's sufficient for basic 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 100%, so the schema already documents all three parameters. The description adds no parameter semantics beyond naming the fields returned, which is baseline for full 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 gets detailed info about a specific NFT (ERC721 token) and lists key fields (collection name, symbol, token URI, current owner). This distinguishes it from sibling tools like get_nft_collection_info (collection-level) and get_nfts_by_owner (owner-level).
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 querying a specific NFT token, which is clear context. It doesn't explicitly name alternatives or state when not to use it, but the scope is well-defined and there are no exclusions or misleading hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_nfts_by_ownerB
Get the count of NFTs owned by an address in a specific collection
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| ownerAddress | Yes | Owner address to check | |
| collectionAddress | Yes | NFT collection contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It only says 'get the count' without mentioning network support, return type, failure behavior, or rate limits. This is a minimal read operation but lacks useful context such as what happens for an empty wallet or supported chains.
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 a single sentence that directly states the action with no redundancy or filler. Every word earns its place, and it is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should hint at return format but does not. For a simple count, the description covers the core use case but leaves gaps about how 'owned' is defined and the structure of the response (e.g., plain integer vs object). It is adequate but not thorough.
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 already documents all three parameters (collectionAddress, ownerAddress, network) with descriptions, so coverage is 100%. The tool description adds little meaning beyond the schema, merely restating that it counts NFTs for a specific collection and owner, which is already implied by the parameter names. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves the count of NFTs owned by an address in a specific collection. The verb 'get' and resource 'NFTs by owner' are specific, and it distinguishes itself from siblings like check_nft_ownership (which checks a single NFT's ownership) and get_nft_info (which fetches metadata).
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 offers no guidance on when to use this tool versus alternatives. It does not mention exclusions, preferred use cases, or contrast with any sibling NFT tools, leaving the agent to infer from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pending_transaction_countB
Get the number of pending transactions for an address (difference between pending and latest nonce)
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The address to check | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the responsibility for behavioral disclosure. It does add one important detail: the count is calculated as the difference between pending and latest nonce. However, it does not state that this is a read-only operation, what the return format is, or any edge cases, so it is only partially 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 a single, well-structured sentence that front-loads the main purpose and includes a helpful parenthetical calculation detail. Every word earns its place, with no redundancy or 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?
Given the simplicity of the tool (2 well-documented parameters), the description is adequate but incomplete. It explains the core functionality and calculation, but lacks usage context, alternative guidance, and explicit return type (though implied by 'number'). The gap in usage guidelines prevents a higher 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?
The schema descriptions cover both parameters fully (100% coverage), so the baseline of 3 applies. The tool description itself adds no additional parameter semantics beyond what the schema already provides, making it sufficient but not enhanced.
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 ('Get the number of pending transactions for an address') and adds precision by defining the count as the difference between pending and latest nonce. It is specific about the resource and operation, though it does not explicitly distinguish from sibling tools like get_pending_transactions_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention the difference from get_pending_transactions_info or any other related tool, nor does it provide context on when this lightweight count is appropriate. The parenthetical about nonce is a technical definition, not a usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pending_transactions_infoB
Get information about pending transactions in the mempool for a network
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | Optional address to check pending transactions for | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for disclosing behavior. It only states the basic read operation without describing what 'information' includes, whether it supports filters beyond address, or any rate limits or side effects. This falls short of transparent behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately states the tool's purpose. No redundant or filler content is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what the tool returns or includes, but it does not. It only says 'information' without detailing the structure or content of the response, leaving the agent uncertain about the tool's actual output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear descriptions for both 'address' and 'network'. The tool description adds no additional parameter detail beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Get') and resource ('information about pending transactions in the mempool') with a network scope, effectively distinguishing it from the sibling 'get_pending_transaction_count' by focusing on 'information' rather than count.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_pending_transaction_count' or other mempool-related tools. It does not mention any prerequisites, exclusions, or alternative scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pool_reservesC
Get the reserves in a liquidity pool
| Name | Required | Description | Default |
|---|---|---|---|
| dex | No | Specific DEX | |
| tokenA | Yes | First token address | |
| tokenB | Yes | Second token address | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 only restates the tool's name without explaining output format, units, error conditions, or the BSC default network mentioned in the schema. The verb 'get' implies a read operation, but the description adds no transparency beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no filler words, front-loading the core action. It is appropriately sized for a simple getter and every word earns its place, though it sacrifices depth for brevity.
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 has four parameters and no output schema, the description should clarify what the returned reserves represent and any limitations. It does not mention the BSC default (from the schema), the optional dex parameter, or what 'reserves' means in terms of format. This is inadequate for a tool with medium complexity, leaving important context unexplained.
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 complete descriptions for all four parameters (token addresses, DEX, network with default). The tool description itself contributes no parameter semantics, but since schema coverage is 100%, the baseline is 3. The description adds nothing beyond what the schema already explains.
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 ('Get') and the resource ('reserves in a liquidity pool'), using a specific verb and target. However, it does not differentiate from sibling tools like get_dex_liquidity or dex_get_pool_details, which may perform similar functions. This fits the 'clear but no sibling differentiation' level.
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 guidance is provided about when to use this tool versus alternatives. The description lacks any context about supported DEXs, prerequisites, or distinction from other pool-related tools. This is essentially no usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_portfolio_overviewC
Get a comprehensive portfolio overview for an address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address to analyze | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully communicate behavioral traits. It only states 'comprehensive portfolio overview' without clarifying whether this is a read-only operation, what data is included, whether network parameter affects behavior, or any rate limits. This is a substantial 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 description is a single, efficient sentence with no filler, and the core purpose is front-loaded. While it sacrifices detail, it earns high marks for conciseness.
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 lack of output schema and annotations, the description needs to explain return values and behavioral scope. It does not mention what 'comprehensive' includes, how network selection affects results, or how this tool differs from the many portfolio-related siblings. This is inadequate for correct tool 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 100% for both address and network, so the schema carries the meaning. The description adds no extra layer of context beyond the schema, keeping it at the baseline 3.
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 ('Get') and resource ('portfolio overview') for an address, making the core purpose understandable. However, it does not differentiate from siblings like get_wallet_portfolio, get_multichain_portfolio, or portfolio_get_summary, all of which sound similar in scope.
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 guidance is provided on when to use this tool versus alternatives. The description does not mention use cases, prerequisites, or exclusions, leaving the agent without direction for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_price_impactC
Calculate the price impact for a given trade size
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenIn | Yes | Address of the token to sell | |
| amountIn | Yes | Amount of input token (in wei) | |
| tokenOut | Yes | Address of the token to buy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to declare safety or side effects, the description must carry the full burden. It merely states 'calculate' without disclosing whether this is a read-only operation, what DEX or liquidity source is used, or any limitations. There is no mention of output format, accuracy, or potential network-specific 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 a single, direct sentence with no filler or redundant information. It is appropriately sized for the tool's simplicity, though it could be slightly expanded to add context without becoming verbose.
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 incomplete for the tool's complexity. It lacks any explanation of what 'price impact' means in this context, whether it estimates the impact on a specific pool or aggregator, or what the return value looks like. With no annotations and no output schema, the description leaves critical information to the user, making it hard for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, providing descriptions for all parameters including token addresses and amount. The description adds minimal semantic value by using the phrase 'trade size' which maps to amountIn, but it doesn't clarify the role of network or how the parameters interact. Baseline of 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates price impact for a given trade size, which is a specific verb+resource. It distinguishes itself from sibling tools like get_swap_quote by focusing on the price impact metric, though it doesn't explicitly differentiate from similar DEX 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?
No guidance is provided on when to use this tool versus alternatives such as get_swap_quote or get_best_route. The description implies usage for estimating price impact but gives no context about selecting it over related tools, making it hard for an agent to know when it is the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_proposal_detailsC
Get details of a governance proposal
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| proposalId | Yes | Proposal ID | |
| governorAddress | Yes | Governor contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral aspects itself. It only states 'Get details', giving no information about network requirements, response format, potential errors, or whether the operation is read-only. The absence of behavioral context is a significant gap for an on-chain data lookup.
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 a single sentence with no wasted words. However, it is so brief that it borders on under-specification rather than effective conciseness. It earns merit for being short but lacks the structure needed to convey additional context.
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 absence of an output schema, the description does not explain what 'details' are returned. The sibling list includes multiple proposal-related tools, creating ambiguity about scope. The description does not compensate for these missing details, leaving the agent without enough context to expect return data or limitations.
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 covers all three parameters with descriptions (100% coverage). The tool description adds no extra meaning beyond the schema, so a baseline score of 3 is appropriate. The schema already explains network, proposalId, and governorAddress adequately.
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 'Get details of a governance proposal' clearly identifies a read operation on a governance proposal resource. However, it does not specify what 'details' include or how this differs from related tools like get_proposal_proposer or get_governance_params, limiting distinction among siblings.
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 guidance is provided about when to use this tool versus alternatives such as get_proposal_proposer or check_vote_eligibility. There is no mention of prerequisites like needing a governor address and proposal ID, or any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_proposal_proposerB
Get the address that created a proposal
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| proposalId | Yes | Proposal ID | |
| governorAddress | Yes | Governor contract address |
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 only says it 'gets' an address, implying a read operation, but does not confirm that it is a read-only on-chain call, nor does it mention potential reverts, network requirements, or any other behavioral characteristics.
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 a single concise sentence, 'Get the address that created a proposal', that is front-loaded and conveys the core purpose without any waste. Every word 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?
The tool is simple and the schema fully documents the parameters, but there is no output schema and no annotations. The description states the return value (an address) and is not misleading, yet it lacks context about error scenarios, which networks are supported, or how this relates to other governance tools. Overall it is minimally adequate but leaves clear 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 100% for all three parameters (network, proposalId, governorAddress), providing clear definitions for each. The tool description adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get the address that created a proposal' clearly states the verb (Get) and resource (the proposer address), making the tool's function unambiguous. It distinguishes itself from sibling governance tools like get_proposal_details by focusing specifically on the proposer, though it does not 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?
There is no guidance on when to use this tool versus other governance tools such as get_proposal_details or get_voting_power. The description does not mention use cases, prerequisites, or alternatives, leaving the agent to infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recent_eventsC
Get recent events from the last N blocks for monitoring
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| blocksBack | No | Number of blocks to look back (default: 100) | |
| eventSignature | Yes | Event signature to watch | |
| contractAddress | Yes | Contract to monitor |
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 merely restates the tool's function and offers no insight into return format, ordering, pagination, rate limits, or potential side effects. The 'monitoring' hint is the only extra context, but it doesn't describe 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 a single concise sentence with no filler or redundancy, achieving good front-loading of the core action. However, it is under-specified for such a complex tool, which slightly reduces the score from 5 to 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 tool has four parameters, no annotations, and no output schema, so the description must compensate and explain return values, how to specify events, and default behavior. The current description leaves significant gaps, such as what kind of events are returned, how eventSignature works, and the meaning of 'recent', making it incomplete for practical 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 description coverage is 100%, so the baseline is 3. The description adds minimal semantic value beyond the schemaโit only relates 'N blocks' to the blocksBack parameter. It doesn't explain how the parameters interact (e.g., contractAddress + eventSignature), but the schema descriptions already cover each field.
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 clearly states the tool fetches recent events within a block range, with a specific verb ('Get') and scope ('last N blocks'). However, it doesn't mention contract address or event signature, which are required parameters, and doesn't distinguish itself from similar event/log tools like get_contract_logs or get_logs_by_topic, so it loses a point.
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 only adds 'for monitoring' as a vague use case and provides no guidance on when to use this tool versus alternatives. There are no explicit when-to-use or when-not-to-use instructions, nor any mention of alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_staking_aprB
Calculate estimated APR for a staking contract
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| stakingContract | Yes | Staking contract address |
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 only states 'Calculate estimated APR,' which hints at approximation but does not disclose whether the operation is read-only, what data sources are used, or what the return format will be. This is minimal disclosure for a tool with no annotation support.
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 a single, focused sentence that immediately conveys the tool's purpose. It is concise, front-loaded, and contains no unnecessary words, earning a top score for conciseness.
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 the tool returns (e.g., percentage, decimal) and how to interpret the result. It also lacks usage context and alternatives. Despite the low complexity, the missing output specification and lack of guidance make the description incomplete for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptive text for both parameters (network and stakingContract), achieving 100% schema coverage. The description adds no additional parameter semantics, but according to the calibration baseline, a score of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Calculate') and resource ('APR for a staking contract'), clearly indicating the tool's function. It distinguishes from siblings like get_staking_protocols (which lists protocols) and get_staking_position (which queries a user's position), as none of the other tools directly compute APR for a given staking contract.
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 guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or related tools, leaving the agent to infer usage solely from the tool name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_staking_positionB
Get staking position and rewards for an address
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| userAddress | Yes | User address to check | |
| stakingContract | Yes | Staking contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It implies a read-only operation due to 'Get', but does not disclose return composition, network behavior, or any required contract verification. It adds minimal behavioral context beyond the tool name.
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 a single, front-loaded sentence with no filler or repetition. It efficiently conveys the core purpose.
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 should explain what 'staking position and rewards' includes, such as staked amount, pending rewards, or unlock time. It does not, leaving the agent uncertain about the tool's full behavioral scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters (network, userAddress, stakingContract). The description adds no extra semantic detail beyond what is in the schema, meeting the baseline of 3.
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 'Get' and the specific resource 'staking position and rewards' for an address. It distinguishes from sibling tools like get_staking_apr (returns rates), get_staking_protocols (lists protocols), and claim_staking_rewards (write action).
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 guidance is provided for when to use this tool versus alternatives such as get_farming_position or get_liquid_staking_info. The description simply states what it does without any when/when-not context or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_staking_protocolsB
Get list of popular staking protocols on a network
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for disclosing behavior. It only states that it gets a list of popular staking protocols, but does not describe the output format, whether the list is sorted, what 'popular' means, or any network-specific behavior. The schema indicates a 'network' parameter with a default, but the description does not mention that this is a read-only operation or what data is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence (8 words) and is front-loaded with the essential purpose. Every word is necessary and there is no redundant information or 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?
The tool is simple (one optional parameter) and has no output schema. The description conveys the core action but lacks specifics about the return value (e.g., protocol names vs. details) and leaves 'popular' undefined. Given the absence of annotations and output schema, the description 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?
The input schema already provides comprehensive documentation for the 'network' parameter, including examples and a default value (100% schema_description_coverage). The description adds no additional parameter semantics beyond connecting the parameter to 'on a network', so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('list of popular staking protocols') with scope ('on a network'). It is clear and distinguishes itself from specific staking action tools like get_staking_apr or get_staking_position, though it does not explicitly contrast with similar list tools like get_lending_protocols.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Sibling tools like get_staking_apr, get_staking_position, and defi_get_protocols exist, but the description does not mention them or clarify when this tool is preferred. Usage context is only implied by the verb 'Get'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_standard_gas_limitsC
Get standard gas limits for common transaction types
| Name | Required | Description | Default |
|---|---|---|---|
| operationType | No | Specific operation type (transfer, swap, etc.) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided and the description discloses no behavioral traits such as data source, caching, or return format. The 'Get' verb implies read-only, but beyond that, the behavior is opaque.
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 a single, front-loaded sentence with no filler. Every word contributes to the tool's purpose.
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?
Despite the tool's simplicity, the description is minimal and leaves important context unclear, such as what 'standard gas limits' refers to (per network? per chain?), the response shape, and when it should be preferred over gas estimation tools. It is not clearly differentiated from sibling 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?
The schema describes the single optional parameter operationType with examples, achieving 100% coverage. The description adds no new parameter semantics beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'standard gas limits for common transaction types', using a specific verb and resource. It distinguishes itself from gas price/estimation tools in the sibling list, though it doesn't explicitly contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like estimate_gas or get_gas_prices. The description does not mention exclusions, prerequisites, or suitable use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_storage_atA
Read raw storage from a contract at a specific slot. Useful for reading private variables or understanding contract state.
| Name | Required | Description | Default |
|---|---|---|---|
| slot | Yes | The storage slot to read (hex string, e.g., '0x0' for slot 0) | |
| address | Yes | The contract address | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 that it reads raw storage, which implies a low-level operation, and mentions reading private variables (a key insight). However, it does not explain behaviors like whether the returned data is raw bytes, how slots are computed, or any network-specific nuances. It adds some value beyond the schema but lacks depth.
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, front-loaded with the primary action ('Read raw storage from a contract at a specific slot') and followed by a concise use case. Every word contributes meaning, with no fluff 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?
Given that no output schema exists, the description could have explained what the return value represents (e.g., raw 32-byte word), but it does not. It covers the 'why' (reading private variables) and the core 'what', but lacks details on return format and edge cases. For a low-level EVM tool, this feels minimally adequate but incomplete.
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 already provides 100% coverage with descriptions for all three parameters: address, slot, and network. The description does not add anything beyond the schema, but it does reinforce the purpose by linking 'slot' to 'storage slot with example '0x0'. Since coverage is complete, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Read' and the resource 'raw storage from a contract at a specific slot', which is specific and distinct from sibling tools like get_contract_bytecode or read_contract. However, it could more explicitly distinguish itself from read_contract, which also reads contract state.
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: 'Useful for reading private variables or understanding contract state.' It implies an alternative approach is available for regular contract reads, but it does not explicitly name alternatives or state when not to use it. Sibling tools like read_contract and simulate_transaction are available but not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_supported_bridgesB
List all supported bridge protocols and their capabilities
| Name | Required | Description | Default |
|---|---|---|---|
| destChain | No | Filter by destination chain support | |
| sourceChain | No | Filter by source chain support |
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 only says 'list' and does not explain the return structure of 'capabilities', filter semantics (AND/OR), pagination, or any authentication needs. This leaves significant ambiguity for a read-only 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 a single, focused sentence with no redundant words. It is appropriately sized for the tool's simplicity.
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 is straightforward, but the description lacks details about what 'capabilities' means or the format of the returned list. Since there is no output schema, the description should clarify return value structure. The purpose is clear, but an agent may still be unsure what to expect.
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 already provides descriptions for both parameters ('Filter by destination chain support' and 'Filter by source chain support'), so schema coverage is 100%. The description adds no extra parameter context, but it doesn't need to beyond the baseline.
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 ('List') and the resource ('supported bridge protocols and their capabilities'). It is specific and concise, but it doesn't explicitly distinguish it from sibling tools like defi_get_bridges, which could also be interpreted as bridge-related list 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?
No guidance is given on when to use this tool vs alternatives such as defi_get_bridges or rubic_get_supported_chains. There is no mention of prerequisites, typical use cases, or whether it should be used before bridge quotes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_supported_dexsB
List all supported DEXs on a specific network
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. The verb 'List' implies a read-only operation, which is basic transparency. However, it does not disclose any additional behaviors such as error handling, rate limits, or what constitutes a 'supported' DEX, so it carries only the minimal burden effectively.
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 a single, clear, front-loaded sentence with zero wasted words. It immediately communicates the tool's purpose without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description and schema together provide sufficient information for correct invocation. The description clearly states what it does, and the schema explains the parameter. It lacks mention of return format, but that is not essential for a low-complexity listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with a detailed description of the 'network' parameter, including examples and defaults. The description text adds no meaningful parameter semantics beyond the schema, so it stays at the baseline of 3.
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 'List all supported DEXs on a specific network' uses a specific verb and resource, clearly indicating the tool's function and scope. However, it does not explicitly distinguish itself from sibling tools like 'dex_get_network_dexes' or 'geckoterminal_get_dexes', which likely serve a similar purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or alternative tools, leaving the agent without context for selection among the many DEX-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_supported_networksA
Get list of supported networks
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 states the action clearly but does not disclose potential caveats such as data freshness, pagination, or rate limits. The verb 'Get' implies a non-destructive read, which is sufficient for a tool of this simplicity.
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 a single sentence that is front-loaded and minimal. Every word contributes directly to understanding the tool's purpose, with no redundancy or 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?
Given the tool's low complexity, zero parameters, and no output schema, the description is nearly complete. It could optionally mention the return format or example networks, but for a simple lookup, the provided detail is adequate.
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, and the schema description coverage is 100% vacuously. Per baseline, when there are no parameters, a score of 4 is appropriate since there is nothing to add beyond what the schema already shows.
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 'Get list of supported networks' clearly states the verb (Get) and resource (networks). It is specific enough for most uses, though it does not distinguish itself from similar sibling tools like rubic_get_supported_chains or x402_get_supported_networks.
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 guidance is given on when to use this tool versus alternatives. There is no mention of which networks are included or whether this list is global or context-specific. The tool's simplicity implies usage, but no explicit context or exclusions are offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_swap_quoteB
Get a swap quote for exchanging tokens. Returns expected output amount and price impact.
| Name | Required | Description | Default |
|---|---|---|---|
| dex | No | Specific DEX to use (e.g., 'uniswap', 'pancakeswap'). If not specified, finds best route. | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenIn | Yes | Address of the token to sell | |
| amountIn | Yes | Amount of input token (in wei/smallest unit) | |
| tokenOut | Yes | Address of the token to buy |
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 does not explicitly state that this is a read-only quote operation, that it does not execute swaps, or any potential caveats like price slippage or route selection behavior. The only behavioral addition over the name is the return field mention.
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, front-loads the primary action, and contains no filler. Every word adds value, making it efficiently 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?
The description covers the core return values but does not mention other potential return fields (e.g., fees, route, min received) and lacks any indication of when the quote is valid or how it handles missing dex specification. Given there is no output schema, this leaves some ambiguity about the complete response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description does not need to add parameter semantics. It does not provide additional context beyond what the schema already declares for parameters like tokenIn, tokenOut, amountIn, dex, and network.
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 'Get' with resource 'swap quote' and clarifies the context 'for exchanging tokens'. It explicitly states the return payload (expected output amount and price impact), which distinguishes it from execute_swap or get_best_route.
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 guidance is provided on when to use this tool versus alternatives such as execute_swap, get_best_route, or chain-specific swap quote tools. The description only states what the tool does, without any context on selection or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_token_approvalsB
Get a list of token spending approvals for an address. Shows which contracts can spend your tokens.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The wallet address to check approvals for | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenAddresses | No | Optional list of specific token addresses to check |
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 of disclosing behavioral traits. The verbs 'Get' and 'Shows' imply a read-only operation, which is helpful, but the description does not disclose network default behavior, pagination, response format, or any caveats about supported chains. This is minimal disclosure for a tool with no annotation support.
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 (20 words), front-loaded with the primary verb and resource, and contains zero filler. Every word contributes to understanding the tool's purpose.
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 three-parameter lookup tool, the description adequately conveys the core purpose, but it omits context that would help an agent, such as the default network (BSC), the optional token scoping, and what the response contains. With no output schema present, some return-value guidance would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all three parameters (address, network, tokenAddresses) with clear descriptions. The tool description adds no additional parameter-level meaning beyond the schema, which aligns with the baseline score of 3.
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 ('Get') and clearly identifies the resource ('list of token spending approvals') and scope ('for an address'). The second sentence ('Shows which contracts can spend your tokens') adds interpretive clarity that helps distinguish this from more granular approval tools like check_token_allowance, though it does not 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?
There is no guidance on when to use this tool versus the many related siblings (e.g., check_token_allowance, get_approval_events, batch_check_allowances). The description only implies the use case ('Shows which contracts can spend your tokens') but provides no exclusions, prerequisites, or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_token_balanceC
Get balance of a specific token
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenAddress | Yes | Token contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only offers a single action statement. It doesn't mention default network, error behavior, return format, or any side effects (though none expected). The schema provides some parameter details, but the description adds no behavioral context beyond the basic operation.
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 a single, front-loaded sentence with no redundant information. It earns its place by stating the core purpose, though it is arguably too brief 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?
The tool has 3 parameters, no output schema, and no annotations, so the description must be more informative. It lacks any mention of supported networks, how the token address is interpreted, or what the response contains. This leaves a critical gap for correct invocation, especially given the large number of similar sibling 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?
The input schema comprehensively describes all three parameters with 100% coverage, including the network default and accepted values. The description adds nothing beyond the schema, which is acceptable given the high schema coverage, but it doesn't clarify any parameter relationships or edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (get) and target (token balance), but it does not differentiate from numerous sibling tools such as get_erc20_balance, get_native_balance, or chain-specific balance tools. It is accurate but lacks scope details like supported networks or token standards.
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 guidance on when to use this tool versus alternatives, nor any exclusions or preconditions. There is no mention of which chains it supports or how it compares to similar balance tools, leaving the agent to guess based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_token_holder_countB
Estimate token holder count by analyzing transfer events
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| blockRange | No | Number of blocks to analyze (default: 10000) | |
| tokenAddress | Yes | ERC20 token contract address |
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 does disclose that the result is an estimate and that the method relies on transfer events, which is useful behavioral context. However, it doesn't explain accuracy limitations, the effect of blockRange, or whether the operation is read-only (though that's likely assumed). The description offers some insight but lacks depth expected for a heuristic 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 a single, concise sentence that immediately states the tool's purpose and method. Every word adds value, with no filler or redundancy. It is front-loaded with the key action and resource.
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 simplicity and the rich input schema, the description is mostly sufficient. It communicates the core function without needing to explain return values since the name and description imply the output. However, it could benefit from mentioning that blockRange affects estimation accuracy or noting that the count is approximate, but the word 'estimate' already covers that. Overall, it's adequate for a straightforward read-oriented tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with each parameter (network, blockRange, tokenAddress) having a clear description. The tool description adds no extra meaning beyond the schema. Per guidelines, baseline is 3 when schema coverage is high, and the description doesn't enhance parameter understanding.
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 estimates token holder count and explains the method (analyzing transfer events). It uses a specific verb ('estimate') and resource ('token holder count'), making its purpose clear. However, it doesn't explicitly differentiate from similar sibling tools like get_holder_distribution, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool instead of alternatives, nor does it mention any exclusions, prerequisites, or recommended use cases. There is no mention of when estimates are appropriate or how blockRange affects results. This is a minimal description that leaves usage decisions to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_token_supply_infoB
Get comprehensive token supply information including total supply, burned, and circulating
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenAddress | Yes | ERC20 token contract address |
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 only lists output fields and does not mention read-only nature, network support, default network behavior, or response shape. Key behavioral context like the BSC default and multi-network support is left to 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 a single clear, front-loaded sentence with no filler. It earns its place but is minimal and could have included additional high-value details without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain return values, but it only names three fields and says 'comprehensive,' leaving the full response shape ambiguous. It also omits important context like network defaults and supported chains, making the tool under-specified 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 100%, so the schema already documents both parameters and the network default. The description adds no parameter-specific semantics beyond the output fields, which maps to the tool's purpose but not to the input parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('token supply information'), and clearly lists the key data returned (total supply, burned, circulating). This distinguishes it from generic token info tools like get_erc20_token_info and chain-specific supply tools like sui_get_total_supply.
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 token supply metrics are needed, but it does not explicitly state when to use this tool over alternatives, nor does it mention exclusions or prerequisites. No guidance is given for choosing between this and similar token-related tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transactionB
Get detailed information about a specific transaction by its hash. Includes sender, recipient, value, data, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| txHash | Yes | The transaction hash to look up (e.g., '0x1234...') | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It adds some detail about the return fields (sender, recipient, value, data), but omits potentially important behaviors such as whether pending transactions are supported, error conditions, or the full set of fields included in 'more'. This is moderate transparency, not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and complemented by a brief list of return fields. Every sentence serves a purpose with no extraneous content, making it highly concise and 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?
The description is adequate for a simple lookup tool but lacks completeness: it does not enumerate all return fields beyond the initial examples, nor does it clarify multi-network support or the default network (BSC), which is only in the schema. For an agent, the vague 'and more' and absence of output schema leave uncertainty about the full response shape.
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 already provides full descriptions for both parameters (txHash and network), including default and example. The description adds no additional parameter semantics beyond what the schema offers, so it neither enhances nor detracts from the baseline score for high 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 retrieves detailed information for a specific transaction by hash, including fields like sender, recipient, value, and data. This is a specific verb+resource and the purpose is unambiguous, though it does not explicitly differentiate from chain-specific transaction tools like aptos_get_transaction or sui_get_transaction.
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 guidance is provided on when to use this tool versus the many chain-specific transaction lookup tools listed as siblings. The description does not mention that the network parameter allows cross-chain usage or suggest alternatives, 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.
get_uncle_blocksA
Get uncle (ommer) blocks for a specific block. Uncle blocks are valid blocks that weren't included in the main chain.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| blockNumber | Yes | The block number to get uncles for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It adds conceptual value by explaining what uncle blocks are, but it does not mention return format, pagination, errors, or any side effects. For a read-only tool, this is adequate but not rich.
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 long, front-loaded with the core action ('Get uncle blocks for a specific block') and immediately followed by a clarifying definition. Every word earns its place; there is no 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 is simple, with a complete input schema and no output schema. The description explains the concept (uncle blocks) and the target (a specific block), which is enough for an agent to understand what the tool does. It could mention the return value shape, but given the simplicity, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents both network and blockNumber well. The description adds no additional parameter semantics beyond what the schema already provides, such as format or default behavior. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('uncle (ommer) blocks') and clearly scopes it to 'a specific block'. It also defines the concept of uncle blocks, which distinguishes it from sibling block retrieval tools like get_block_by_number or get_latest_block.
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 clearly implies when to use the tool: when you need uncle/ommer blocks for a particular block. It does not explicitly name alternatives or exclusions, but the context is clear. The emphasis on 'specific block' and the required blockNumber parameter provide clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_uniswap_pool_priceB
Get current price from a Uniswap V3 pool
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| poolAddress | Yes | Uniswap V3 pool address | |
| token0Decimals | No | Decimals of token0 (default: 18) | |
| token1Decimals | No | Decimals of token1 (default: 18) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but only says 'Get current price'. It fails to disclose behavioral nuances such as the price direction (token0 per token1), reliance on network, or the return format. This is minimal transparency, not misleading but not helpful.
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 a single concise sentence that directly conveys the tool's purpose with no redundancy. It is front-loaded and every word 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 tool's simplicity, the description is minimally viable but lacks detail about the return value (e.g., price direction) and when to choose it over similar price tools. Without an output schema or annotations, this gap leaves the agent with insufficient context for complex scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (network, poolAddress, token0Decimals, token1Decimals) are fully documented in the schema. The description adds no parameter context, but the baseline of 3 applies because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get current price') and the resource ('Uniswap V3 pool'), making the tool's purpose unambiguous. However, it does not differentiate from sibling tools like get_pool_reserves or geckoterminal_simple_token_price, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. It simply states what it does, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_voting_powerB
Get voting power for an address at a specific block
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Address to check | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| blockNumber | No | Block number (default: latest) | |
| governorAddress | Yes | Governor contract address |
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 does not mention that this is a read-only operation, what the return format looks like, how blockNumber is interpreted (despite schema default), or any network-related nuances. The description is purely functional and lacks context about side effects or operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. It efficiently communicates the core purpose without repetition or fluff, making it easy to parse quickly.
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 is relatively simple with 4 parameters and no output schema. The description covers the basic action but lacks details on return values, edge cases (e.g., blockNumber omitted), or how voting power is calculated. For a straightforward query, this is minimally viable but leaves room for improvement regarding expected output and usage conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema; it merely echoes 'specific block' which matches the blockNumber parameter already described. The schema itself provides adequate parameter documentation, so no significant gap exists.
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: 'Get voting power for an address at a specific block.' It uses a specific verb ('get'), identifies the resource ('voting power'), and includes the target ('address') and condition ('specific block'), distinguishing it from related governance tools like cast_vote or check_vote_eligibility.
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 guidance is provided on when to use this tool versus alternatives. Sibling tools such as check_vote_eligibility, get_delegation_info, and get_governance_params overlap in the governance domain, and the description does not clarify how this tool differs or when it should be preferred. The context is implied by the name but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wallet_activityC
Get recent transaction count and activity level
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states the tool returns a transaction count and activity level, but it does not clarify the time window, how activity level is computed, whether it is read-only, or what the response format looks like. This is a meaningful gap for a wallet-related 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 a single succinct sentence with no filler. It immediately states the core function and outputs, making it easy for an agent to parse.
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 tool is relatively simple, the lack of annotations and output schema means the description needs to explain the return value and behavioral nuances. It does not define 'activity level', the lookback period, or the response structure, leaving an agent uncertain about what to expect.
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 100% description coverage for both parameters, so the schema already documents the address and network parameters. The tool description itself adds no parameter semantics beyond what the schema provides, which is acceptable given the high 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 uses a specific verb ('Get') and resource ('wallet activity') and indicates the output ('recent transaction count and activity level'). It is clear about what the tool does, though it does not explicitly distinguish itself from sibling transaction-history tools like market_get_wallet_transactions or aptos_get_account_transactions.
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 guidance is provided on when to use this tool versus alternatives. There are many sibling tools that provide wallet transactions or balances, and the description does not explain what 'activity level' uniquely offers or when a caller should prefer this tool over a transaction history or balance tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wallet_portfolioC
Get a comprehensive portfolio summary for a wallet including native balance and common token balances
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The wallet address to check | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits, but it only lists output contents ('native balance and common token balances'). It does not explain what 'comprehensive' means, whether valuations are included, how 'common tokens' are determined, or any response structure. This leaves significant 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 a single, front-loaded sentence with no filler. It efficiently conveys the core purpose and includes relevant specifics, making it concise and 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?
The tool has no output schema and no annotations, so the description is the only source of behavioral info. It lacks details on return format, supported networks, and edge cases, which is insufficient for a 'comprehensive' summary tool. The agent is left with gaps in understanding what the output will look like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'address' and 'network' documented. The description adds no additional parameter meaning beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Get a comprehensive portfolio summary') and indicates the resource ('a wallet') and key contents ('native balance and common token balances'). However, it does not explicitly differentiate this from sibling tools like get_portfolio_overview or get_multichain_portfolio, which appear similar.
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 guidance on when to use this tool versus alternatives. It doesn't mention the network parameter's default, scope of wallet coverage, or any exclusions. This forces the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wrapped_native_balanceA
Get the wrapped native token balance (WETH, WBNB, WMATIC, etc.) for an address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The address to check balance for | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral disclosure burden. It states the return value concept (wrapped native token balance) and the examples clarify the token types, which is reasonable for a read-only getter. However, it does not mention details like whether the balance is returned in raw units or formatted, or the default network behavior (though the schema fills some 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 a single, clear sentence that is front-loaded and free of fluff. It efficiently communicates the tool's purpose without wasting words, making it easy for an agent to parse.
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 balance-checking tool with no output schema, the description is adequate for selection but not fully complete. It does not explicitly mention return format or behavior on unsupported networks, but given the schema covers parameter defaults and the tool is straightforward, the description is minimally 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 coverage is 100% for both parameters, so the baseline is 3. The description adds some semantic context by listing examples of wrapped native tokens, which helps interpret the address parameter, but it does not meaningfully extend beyond what the schema already provides for the network parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: getting the wrapped native token balance for an address. It includes concrete examples (WETH, WBNB, WMATIC) and the resource is specific, distinguishing it from siblings like get_native_balance or get_erc20_balance.
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 this tool (when needing a wrapped native token balance, not regular native or arbitrary ERC20), but it does not explicitly mention alternatives or exclusion criteria. The distinction from sibling tools is inferred from the name and examples rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
goplus_address_securityB
Check if an address is associated with malicious activity (scams, phishing, hacks)
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Address to check for malicious activity |
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 only states the tool 'checks' for malicious activity but does not disclose the return format (e.g., boolean, risk score), whether it is read-only, or any limitations (e.g., relies on known blacklists, does not guarantee safety). This leaves the agent uncertain about the tool's 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 a single sentence that is concise and front-loaded, stating the essential purpose without any wasted words. It is appropriately sized for a simple 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?
With no output schema and no annotations, the description must compensate by explaining return values and limitations, but it does not. It fails to mention what the response contains or any operational constraints (e.g., chain support), leaving the tool under-specified 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?
The schema already provides a clear parameter description ('Address to check for malicious activity') with 100% coverage. The tool description adds no additional meaning, such as acceptable formats or supported chains, but the high schema coverage justifies the baseline score of 3.
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 ('Check') and resource ('an address') and clearly states the outcome: 'is associated with malicious activity (scams, phishing, hacks)'. This distinguishes it from sibling GoPlus tools like goplus_token_security (checks tokens) and goplus_dapp_security (checks dapps).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for checking addresses for malicious activity, but it does not explicitly state when to use it, when not to use it, or mention alternatives such as goplus_token_security or goplus_dapp_security. There is no guidance on context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
goplus_approval_securityC
Check token approval security - analyze if approved spender contracts are risky
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | Yes | Chain ID or name | |
| contractAddress | Yes | Spender contract address to check |
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 fails to explain what 'risky' means, what the output format is, whether the operation is read-only, or any side effects. This is a significant gap for a security analysis 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 a single, concise sentence that front-loads the primary action ('Check token approval security') and then provides a brief elaboration. Every word adds value, and there is no 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 the tool has only two parameters and no output schema, the description does not specify what the tool returns (e.g., a risk score, boolean, list of vulnerabilities). This is particularly problematic because the description says 'analyze if... risky' but does not explain the output structure, leaving the agent without critical information for interpreting 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 already provides descriptions for both parameters (chainId and contractAddress) with 100% coverage. The description adds the concept of 'approved spender contracts' but does not add meaningful syntax or format details beyond what the schema conveys, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: checking token approval security and analyzing whether approved spender contracts are risky. The verb 'check' and the resource 'token approval security' are specific. However, it does not distinguish this tool from the similarly named sibling 'check_approval_risks' or other approval-related 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 no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or explicitly name alternative tools. The intended use case is only implied by the description's phrasing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
goplus_dapp_securityB
Check dApp/website security - detect phishing sites, malicious dApps
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | dApp URL to check (e.g., https://uniswap.org) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It says 'detect phishing sites, malicious dApps' but does not disclose whether this is a read-only operation, what the output format is (boolean, risk score, report), or any limitations or prerequisites. This is insufficient for a security 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 a single, front-loaded sentence that efficiently communicates the core purpose. It is concise and free of filler, though it could add a bit more useful detail without becoming verbose.
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 simplicity (one parameter, no output schema), the description provides a basic understanding of what it does. However, it lacks information about what the result looks like or the scope of the security check, so it is 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?
The schema already provides a description for the 'url' parameter with an example. The tool description adds no further meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks dApp/website security and specifies the types of threats it detects (phishing, malicious dApps). This distinguishes it from sibling tools like goplus_token_security or goplus_address_security, which focus on different resources.
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 ('Check dApp/website security') but provides no explicit guidance on when to use this tool versus alternative security tools. It does not mention exclusions or name alternatives, leaving the agent to infer from the tool name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
goplus_nft_securityC
Check NFT collection security - detect fake collections, malicious contracts
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | Yes | Chain ID or name | |
| contractAddress | Yes | NFT contract address to analyze |
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 states what the tool detects but does not mention whether it is a read-only check, what kind of report it returns, or any limitations. The lack of this context is significant for a security-analysis 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 a single, efficient sentence with no fluff. It earns its place by giving a clear purpose, though it could be structured to include more actionable detail without becoming verbose.
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 compensate by explaining what the tool returns and any caveats. It only mentions detection categories, leaving the agent without expectations for the response format or interpretation. Given the large sibling set, more context is needed to ensure correct selection and 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?
The schema description covers 100% of the parameters, so the baseline is 3. The description adds no extra semantics beyond what the schema already provides (chainId and contractAddress). It also does not explain format requirements or additional context.
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 checks NFT collection security and specifies it detects fake collections and malicious contracts, making the resource and intent clear. It distinguishes itself from token-focused security tools by explicitly mentioning NFT collections, but does not explicitly differentiate from other NFT security siblings like goplus_rugpull_detection.
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 guidance is provided on when to use this tool versus alternatives. The sibling list includes many similar security and rug-pull detection tools, leaving the agent without a basis for selection. There are no exclusions, prerequisites, or alternative mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
goplus_rugpull_detectionC
Comprehensive rug pull detection combining multiple GoPlus security checks
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | Yes | Chain ID or name | |
| tokenAddress | Yes | Token contract address to analyze |
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 of behavioral disclosure. It only adds that the tool 'combining multiple GoPlus security checks', which is slight context, but it omits crucial details like whether the tool is read-only, what specific checks are run, output format, or any potential 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 a single sentence that is concise and front-loaded with the main purpose. It is appropriately sized, though it could be more informative without being verbose.
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 has no output schema and many closely related siblings, the description is insufficiently complete. It does not explain what 'rug pull detection' includes, how the combined checks work, what the output looks like, or how to interpret results. This is a significant gap for a tool with no structured output documentation.
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 covers 100% of the parameters with descriptions for chainId and tokenAddress. The description adds no parameter-level details, but the schema already provides sufficient meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Comprehensive rug pull detection' with a specific resource (rug pull detection via GoPlus). However, it does not distinguish itself from similar sibling tools like detect_rug_pull_risk, goplus_token_security, or detect_honeypot, so it lacks 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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, use cases, or exclusions. Given the many overlapping tools in the sibling list, more explicit guidance is essential.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
goplus_signature_decodeA
Decode signature/permit data to understand what you're signing (prevents blind signing attacks)
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | Yes | Chain ID or name | |
| inputData | Yes | Signature data (hex) or EIP-712 typed data (JSON) | |
| contractAddress | No | Contract address (for EIP-712) |
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 conveys the tool's safe, read-only nature implicitly through 'decode' and the protective purpose, but it doesn't detail the output format, any limitations on data size, or how it handles invalid input. More behavioral context would be helpful.
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 entire description is a single, front-loaded sentence that immediately states the verb and object, with a helpful parenthetical benefit. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and annotations, the description should have provided more context about what the decoded result looks like or any prerequisites. The description is adequate for basic selection but leaves the agent guessing about the response structure and edge cases.
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 already documents all three parameters with full descriptions, so the description doesn't need to add much. The description's mention of 'signature/permit data' aligns with inputData and contractAddress, but it doesn't clarify the interplay between parameters beyond what the schema states. Baseline is acceptable.
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 'Decode' and identifies the resource as 'signature/permit data', clearly stating it's for understanding what you're signing. This distinguishes it from sibling tools like decode_transaction_data or sign_message, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'to understand what you're signing' gives clear context for when to use this tool, and the parenthetical '(prevents blind signing attacks)' adds a specific security use case. However, it doesn't explicitly name alternatives or state when not to use it, so it falls short of the highest bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
goplus_supported_chainsB
Get list of blockchain networks supported by GoPlus security API
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 states the tool returns a list of supported chains but gives no details on response format, pagination, or whether the list is exhaustive. The behavior is not misleading but is minimally 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 a single, clear sentence with no unnecessary words. It is appropriately sized for a simple zero-parameter 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?
Given the simplicity (no parameters, no output schema), the description is adequate but not entirely complete. It does not describe the expected return structure or clarify what 'supported' means, which could be ambiguous. However, for a basic list endpoint, this may be 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?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter semantics since none exist. It correctly omits any parameter-related details.
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 ('Get') and resource ('list of blockchain networks supported by GoPlus security API'), clearly identifying the tool's function. It distinguishes itself from generic siblings like 'get_supported_networks' by naming 'GoPlus security API', though it does not explicitly contrast with those 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?
No guidance is provided on when to use this tool versus alternatives. With many sibling tools like 'get_supported_networks', 'defi_get_chains', and 'dex_get_networks', the description fails to indicate which scenarios call for this specific GoPlus-focused tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
goplus_token_securityB
Check token security using GoPlus API - detects honeypots, rug pulls, malicious code, and other risks
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | Yes | Chain ID or name (ethereum, bsc, polygon, arbitrum, base, etc.) | |
| contractAddress | Yes | Token contract address to analyze |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It reveals that the tool uses the GoPlus API and detects specific risk types, which is useful. However, it does not mention the output format, whether it is read-only (implied), rate limits, or what 'other risks' entails, leaving some 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?
A single, front-loaded sentence conveys the purpose and key capabilities without any wasted words. It is concise and structured effectively.
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 is simple with two well-documented parameters and no output schema, so the description does not need to explain parameters or return structure. However, given the crowded space of similar security tools, the description fails to clarify its precise scope or output shape, leaving the agent uncertain about what the response will contain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters have clear descriptions (chainId and contractAddress). The tool description adds no additional parameter semantics beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Check') and resource ('token security') and gives concrete risk categories (honeypots, rug pulls, malicious code). However, it does not distinguish this from closely named siblings like goplus_rugpull_detection, detect_honeypot, or analyze_token_security, so it misses 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?
No guidance is provided on when to use this tool versus the many overlapping security-related siblings. There is no mention of whether this is the comprehensive check or a specific subset, nor any exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hash_messageB
Hash a message using EIP-191 format
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Message to hash |
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 of behavioral disclosure. It only mentions the hashing format but does not disclose the output format (e.g., hex string), the exact EIP-191 prefix behavior, or any edge cases. For a simple, non-mutating hash operation, this is minimal but not completely absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It immediately conveys the tool's core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not explain what the tool returns (e.g., a hex-encoded hash) or any nuances of EIP-191 hashing. Given the large sibling tool list and the absence of annotations, the description is insufficient for an agent to fully understand the tool's behavior without prior knowledge. Complexity is low, but the missing return format and format specifics create a clear 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?
The schema covers the only parameter 'message' with a description, and the tool description adds the EIP-191 format context, which clarifies the hashing algorithm. However, the description does not add parameter-specific details such as expected encoding (e.g., UTF-8) or handling of large messages. With 100% schema coverage, the baseline is 3 and the description only marginally extends it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (hash), the resource (message), and the specific format (EIP-191), distinguishing it from raw hashing tools like keccak256_hash and structured data hashing like hash_typed_data. This is a specific verb+resource+format combination.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as keccak256_hash, sign_message, or hash_typed_data. The description only states what it does, leaving the agent to infer when EIP-191 hashing is appropriate. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hash_typed_dataB
Hash typed structured data according to EIP-712
| Name | Required | Description | Default |
|---|---|---|---|
| types | Yes | Type definitions | |
| domain | Yes | EIP-712 domain separator | |
| message | Yes | Message data to hash | |
| primaryType | Yes | Primary type name |
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 use of the EIP-712 standard, which is a key behavioral trait. However, it does not mention the return format (e.g., hex-encoded hash), potential error conditions, or any dependencies, 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 a single, concise sentence that is fully front-loaded and contains no extraneous words. Every word 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?
The tool has no output schema, so the description should clarify what the tool returns, but it does not. It also lacks context about the EIP-712 hashing process or how the output relates to signing. This incompleteness could leave an AI agent uncertain about the result and how to use 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?
The schema has 100% description coverage, with each parameter (domain, types, primaryType, message) already described. The description adds no additional parameter semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Hash typed structured data according to EIP-712' clearly states the verb (hash), the resource (typed structured data), and the standard (EIP-712). It distinguishes from sibling tools like sign_typed_data and verify_typed_data_signature by focusing specifically on hashing.
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 guidance on when to use this tool versus alternatives. It is a single sentence without context, prerequisites, or exclusions. While the purpose implies usage for hashing EIP-712 data, it does not explain when hashing is appropriate compared to signing or verifying.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hex_to_numberA
Convert a hex string to a decimal number
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | The hex string to convert (e.g., '0x1a') |
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 only states the basic conversion without disclosing behavior for invalid input, whether the '0x' prefix is required or optional, or the exact return format (e.g., integer, string).
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 that is front-loaded with the verb and resource, containing no extraneous information. Extremely concise.
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 simplicity (one param, no output schema), the description adequately conveys the core functionality. It lacks explicit return type specification, but the phrase 'decimal number' strongly implies a numeric output.
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 covers the parameter comprehensively with an example ('0x1a'), achieving 100% coverage. The tool description adds nothing beyond the schema, but no additional detail is necessary.
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 ('Convert') and clearly identifies the input (hex string) and output (decimal number). It distinguishes from sibling tools like number_to_hex which perform the reverse operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case but does not explicitly state when to use this tool versus alternatives. No mention of exclusions or cases where a different conversion tool (e.g., number_to_hex) would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
historical_ath_atlB
Get all-time high and all-time low data for a symbol
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Trading symbol |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full behavioral burden. It only says 'Get' which implies read-only, but does not disclose what data is returned, whether both ATH and ATL are returned together, or any limitations. For a data retrieval tool with no annotations, this is minimal 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 a single short sentence that is front-loaded with the action and resource. It is perfectly concise with no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain what 'data' means in terms of return values, but it does not. The agent cannot know if it receives numeric values, timestamps, or both. The description is too incomplete for a tool with no output information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the only parameter 'symbol' is already described in the schema as 'Trading symbol'. The description's 'for a symbol' adds no new meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and precisely names the resource ('all-time high and all-time low data') for a symbol. This clearly distinguishes it from sibling historical tools like historical_prices or historical_ohlcv by focusing specifically on ATH/ATL values.
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 guidance is provided about when to use this tool versus alternatives. The description simply states what it does without any context on use cases, prerequisites, or why an agent would choose this over related historical tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
historical_correlationC
Get correlation data between two symbols
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days | |
| symbol1 | Yes | First symbol | |
| symbol2 | Yes | Second symbol |
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 not disclose whether the operation is read-only, what time range is covered, how 'days' affects the calculation, or what the response format contains. The description is a bare statement of functionality with no additional behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundant words. It conveys the core purpose efficiently. Every word contributes to the meaning, making it appropriately concise for a simple 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?
Given the tool has no output schema and no annotations, the description should provide more context. It omits crucial details such as the correlation method (e.g., Pearson/Spearman), the time interval implied by 'days', and the structure of the returned data. For an agent to correctly invoke and interpret the result, this is insufficient, especially considering the complexity of correlation calculations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters ('Number of days', 'First symbol', 'Second symbol'). The description adds minimal semantic value by clarifying that the tool operates 'between two symbols', which maps to symbol1 and symbol2, but it does not explain the meaning of 'correlation' or how 'days' is used. This is a baseline 3 since the schema already handles 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 'Get correlation data between two symbols' clearly states a specific action (get) and resource (correlation data), and identifies the key inputs (two symbols). While it doesn't explicitly mention 'historical', the tool name historical_correlation provides that context, distinguishing it from potential real-time correlation tools. It is specific enough to differentiate from the many indicator and price tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, exclusions, or relationships to other tools like historical_ohlcv or indicator_* tools. The description only states what it does, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
historical_market_capC
Get historical market cap data
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days | |
| symbol | Yes | Trading symbol |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only implies a read operation via 'Get' but does not disclose data source, return format, time coverage, or any limitations. This is a significant gap for a market data 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 a single sentence and is front-loaded with the action, containing no fluff. It is appropriately sized for a simple tool, though it could benefit from a bit more detail without becoming verbose.
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?
Without an output schema, the description should explain what data is returned (e.g., format, granularity, units). It also fails to disambiguate from many similar historical data tools. The minimal description leaves key gaps for an agent deciding to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any extra meaning beyond the schema; the parameter descriptions are minimal but present. No additional semantics such as units or supported symbol formats are 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 clear verb+resource construction: 'Get historical market cap data.' It accurately conveys what the tool does, but it does not differentiate from sibling tools like historical_ohlcv, historical_prices, or market_get_coin_chart, which may also provide historical market cap 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?
No guidance is provided on when to use this tool versus alternatives. The description does not mention any prerequisites, exclusions, or preferred use cases, leaving the agent to choose without additional context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
historical_ohlcvC
Get historical OHLCV (candlestick) data for a symbol
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of candles | |
| symbol | Yes | Trading symbol (e.g., BTC, ETH) | |
| endTime | No | End time (ISO date or Unix ms) | |
| interval | No | Candle interval | 1h |
| startTime | No | Start time (ISO date or Unix ms) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the burden of behavioral disclosure, but it only states the basic function. It does not mention data source, time range handling, default limits, or what the returned data structure looks like, which are important for an agent to anticipate tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that is immediately informative and contains no filler. It successfully front-loads the key action and resource, earning the maximum score for conciseness.
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 absence of an output schema and annotations, the description is too sparse. It does not explain the response format, how startTime/endTime/limit interact, or any default behavior, making it incomplete for a tool with five parameters and no structured output metadata.
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 covers all five parameters with descriptions, so the baseline is 3. The description itself adds no extra parameter-level detail, relying entirely on the schema, which gives no information about parameter interactions or typical usage patterns.
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 ('Get') and resource ('historical OHLCV data') to state what the tool does, making its core purpose clear. However, it does not distinguish itself from sibling tools like market_coingecko_coin_ohlc or dex_get_pool_ohlcv, which also provide OHLCV/candlestick data, so it lacks 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 gives no guidance on when to use this tool versus alternatives. There is no mention of suitable use cases, exclusions, or comparisons with similar price-history tools, leaving the agent to infer usage solely from the tool name and minimal description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
historical_pricesC
Get historical price data for a symbol
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days of history | |
| symbol | Yes | Trading symbol | |
| vs_currency | No | Quote currency | usd |
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 only states the action and resource, without revealing return format, data granularity, time range handling, or any side effects. For a read operation this is less critical, but the opaque behavior leaves room for misinterpretation.
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 a single, concise sentence that efficiently conveys the core purpose. No unnecessary words or redundant details are present.
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 lack of an output schema and the existence of several closely related price-history tools, the description is insufficiently complete. It does not clarify what type of price data is returned (e.g., daily close, OHLCV) or how it differs from tools like historical_ohlcv or historical_market_cap.
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 has 100% description coverage, with each parameter (symbol, days, vs_currency) having a clear description. The tool description adds no additional semantic value beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('get') and resource ('historical price data for a symbol'). However, it does not distinguish this tool from many similar siblings such as historical_ohlcv, market_get_coin_chart, or defi_get_token_price_history, so it lacks 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 provides no guidance on when to use this tool versus alternatives. With numerous price-related siblings, the agent receives no hints about which tool to select for a given use case, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
historical_returnsC
Get historical returns analysis for a symbol
| Name | Required | Description | Default |
|---|---|---|---|
| period | Yes | Return period | |
| symbol | Yes | Trading symbol |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states 'Get historical returns analysis' without explaining whether it computes percentage change, what period logic is applied, what the response format is, or any limitations. This forces the agent to rely on assumptions.
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 extremely brief (seven words) and contains no filler, making it easy to process. However, this brevity borders on under-specification, so it does not achieve the highest conciseness 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?
There is no output schema, no behavioral detail, and the surrounding context includes many historical tools (historical_prices, historical_ohlcv, historical_market_cap) that could easily be confused. The description is too sparse for an agent to reliably infer what results to expect or how to interpret 'returns analysis'.
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 descriptions cover 100% of parameters ('Trading symbol' for symbol and 'Return period' with an enum for period). The tool description adds no extra semantic value beyond the schema, so the baseline of 3 is appropriate for this well-covered schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and resource 'historical returns analysis' for a symbol, making its basic purpose clear. However, it does not differentiate from sibling tools like historical_prices, historical_ohlcv, or historical_correlation, leaving ambiguity about what 'returns analysis' specifically includes.
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 guidance is provided on when to use this tool versus the many other historical_* analytic tools, nor are any exclusions or alternative tools mentioned. The agent is left to guess the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
historical_volumeC
Get historical trading volume data
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days | |
| symbol | Yes | Trading symbol |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description is a minimal restatement of the tool name, providing no behavioral details such as data granularity, supported time ranges, or return format. It merely says 'get' with no disclosure of side effects, rate limits, or output 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 a single, direct sentence with no redundant or filler words. It is maximally concise and easy to process.
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 clarification of the scope of 'volume', making the tool incomplete for an agent to select it correctly among the many historical and volume-related siblings. The description lacks essential context about what data is returned or how this tool differs from similar ones.
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 fully documents both parameters (symbol and days) with descriptions, and the description does not add extra meaning beyond what the schema provides. Baseline 3 is appropriate since schema coverage is 100%.
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 (get) and resource (historical trading volume data), but it does not specify what kind of volume or asset, making it indistinguishable from sibling tools like historical_ohlcv or defi_get_dex_volume. It is a valid but generic purpose statement.
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 guidance is provided on when to use this tool versus the many sibling historical and volume tools, nor what type of volume (token, dex, options) is covered. The description gives no context for selecting this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_wallet_from_mnemonicC
Import a wallet from a mnemonic seed phrase
| Name | Required | Description | Default |
|---|---|---|---|
| mnemonic | Yes | BIP-39 mnemonic seed phrase | |
| addressIndex | No | Address index for HD derivation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It only says 'Import a wallet' without explaining side effects (e.g., persistence, return value, security implications), which is a significant gap for a wallet-related operation.
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 a single, direct sentence with no superfluous words. It is front-loaded with the main action and efficiently communicates the tool's purpose.
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?
Without an output schema or annotations, the description must provide more context about what 'import' entails (e.g., what is returned, whether the wallet is persisted, prerequisites). It also fails to differentiate from closely related mnemonic tools, making the tool selection ambiguous 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?
Both parameters (mnemonic, addressIndex) are fully described in the schema, including the default and minimum for addressIndex. The description adds no extra parameter semantics beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb 'Import' and a resource 'wallet' from 'mnemonic seed phrase', clearly distinguishing it from wallet creation or derivation. However, it does not explicitly name sibling alternatives like create_wallet or derive_addresses_from_mnemonic, so it doesn't fully differentiate.
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 guidance is provided on when to use this tool versus alternatives such as create_wallet or derive_addresses_from_mnemonic. The description lacks explicit context for selecting this tool, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_acceleration_bandsB
Calculate the Acceleration Bands (AB) - shows potential breakout zones based on volatility
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It doesn't disclose return format, side effects, or data requirements (e.g., uses OHLCV). Only states it 'shows potential breakout zones', which is interpretive, not behavioral.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, concise, front-loaded with verb and resource, no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple indicator tool, it covers purpose and params, but lacks usage guidance and output description. Given no annotations or output schema, more detail would be helpful but it's minimally viable.
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 covers 100% of parameters with descriptions, so baseline 3. Description does not add extra parameter semantics beyond the schema; it only references volatility which is conceptual.
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 'Calculate the Acceleration Bands (AB)' with a specific verb and resource, and adds functional context 'shows potential breakout zones based on volatility'. This distinguishes it from other indicator_* siblings.
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 guidance on when to use this tool vs alternatives. It doesn't mention relationship to strategy_acceleration_bands or other band indicators, and lacks any context about market conditions or use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_adB
Calculate the Accumulation/Distribution (AD) - measures cumulative money flow volume
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description must disclose behavior. It only defines the indicator purpose but doesn't mention whether it's a read-only calculation, the output format, dependencies on OHLCV data, or any side effects. Limited to a definition.
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?
Single sentence, front-loaded with the function name, efficient and to the point.
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 indicator tool with fully described schema and no output schema, the description is minimal but adequate to convey the basic function. However, it lacks detail on the return value and how it uses the timeframe/limit parameters, which leaves some gap given no annotations.
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 covers 100% of parameters with descriptions, so baseline is 3. The description adds no extra parameter details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool calculates the Accumulation/Distribution (AD) indicator and explains it measures cumulative money flow volume. Distinct from sibling indicator tools each named for a specific indicator.
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?
Provides no guidance on when to use AD versus other indicators like indicator_ema or indicator_macd. No alternative tools are mentioned, and no use-case context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_aoB
Calculate the Awesome Oscillator (AO) - measures market momentum using SMA differences
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| fastPeriod | No | Fast period for AO | |
| slowPeriod | No | Slow period for AO |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only explains the calculation formula but does not disclose output format, data fetching behavior, or error conditions. The tool likely fetches OHLCV data and returns a time series, but this is not mentioned.
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 concise sentence that immediately communicates the tool's purpose. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite clear purpose, the description is incomplete for a 5-parameter tool without an output schema. It does not explain that data is fetched, what the return structure is, or how parameters like limit and timeframe affect the result.
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 covers all parameters with descriptions. The description adds minimal value beyond the schema, other than hinting at SMA differences which relates to the fast/slow periods. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the Awesome Oscillator and defines what it measures (momentum via SMA differences). This distinguishes it from other indicators in the sibling list, as it names the specific output and methodology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to compute AO for momentum analysis but does not explicitly state when to prefer it over other momentum indicators like indicator_rsi or indicator_macd. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_apoC
Calculate the Absolute Price Oscillator (APO) - measures difference between two EMAs to identify trend strength
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| fastPeriod | No | Fast period for APO | |
| slowPeriod | No | Slow period for APO |
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 behavioral burden. It says 'calculate,' implying a safe read-only operation, but does not disclose output format, potential edge cases, or whether it fetches OHLCV data. Minimal behavioral context is added.
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?
Single sentence, front-loaded with the main verb and resource, zero filler. Highly efficient while conveying the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should explain more. It omits return value details, how OHLCV data is fetched and used, and any limitations. For a 5-parameter tool, this is a clear 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 100%, so baseline is 3. The description adds context by explaining the two EMAs, mapping loosely to fastPeriod and slowPeriod, but it does not substantially clarify parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the Absolute Price Oscillator (APO) and explains what it measures (difference between two EMAs for trend strength). This is a specific verb+resource with clear meaning, though it doesn't explicitly differentiate from sibling indicators like PPO or MACD.
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 guidance on when to use this tool over alternatives. Sibling indicators (MACD, PPO, EMA) exist, and the description does not mention any selection criteria or scenarios where APO is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_aroonC
Calculate the Aroon Indicator - identifies trend changes and strength using high/low price extremes
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only explains the indicator's purpose ('identifies trend changes and strength') without covering what the output looks like (e.g., Aroon Up and Down series), data requirements, or edge cases. This is a significant gap for a calculation tool that returns values.
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 a single, focused sentence that front-loads the action ('Calculate') and resource, with no filler or redundancy. Every word adds value, making it appropriately concise.
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?
Despite having a clear schema, the description is incomplete for an indicator tool: it doesn't explain return values (e.g., Aroon Up/Down series), how the indicator is presented, or any usage context. Without an output schema, the agent is left without key information to interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (symbol, timeframe, period, limit) having a clear description. The tool description adds no extra parameter context, but the schema already provides sufficient meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Calculate') and resource ('Aroon Indicator'), and adds context about what it identifies ('trend changes and strength using high/low price extremes'). This distinguishes it from other technical indicators by name, and the 'indicator' prefix differentiates it from sibling 'strategy_aroon'.
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 guidance is given on when to use this tool versus alternatives like strategy_aroon or other indicators (e.g., indicator_rsi for momentum). The description implies it's for technical analysis but provides no exclusions or alternative recommendations, leaving the agent to guess based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_atrC
Calculate the Average True Range (ATR) - measures market volatility by averaging the true range
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 of behavioral disclosure. It states what ATR measures conceptually but does not explain how the tool behaves: what data it fetches, what it returns, or any side effects. The description does not contradict any annotations, but it offers minimal behavioral insight beyond a textbook definition.
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 a single concise sentence that front-loads the core purpose (calculate ATR) and adds a brief explanation. It is not verbose and every word earns its place. However, it is terse to the point of under-specification, which is a completeness concern rather than a conciseness issue.
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 four parameters, no annotations, and no output schema, the description is incomplete. It does not mention that the tool requires historical OHLCV data, what the output format looks like, or how the parameters (e.g., timeframe, limit) shape the result. The one-line description is insufficient for an agent to use the tool correctly without additional assumptions.
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 has 100% description coverage for all four parameters (limit, period, symbol, timeframe), so the schema already explains each parameter. The description adds a general sense of 'true range' but does not clarify how parameters like period or limit affect the ATR calculation. Baseline of 3 is appropriate when schema covers all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the Average True Range (ATR) and explains that it measures market volatility. This is a specific verb+resource, but it does not explicitly distinguish itself from sibling indicator tools such as indicator_ema or indicator_rsi. The definition is helpful but lacks direct 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?
No guidance is provided on when to use this tool versus other indicators or how it fits into a workflow. The description merely defines ATR and does not mention alternatives, prerequisites, or typical use cases. With many sibling indicator tools, this absence of usage context is a notable gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_bbwA
Calculate the Bollinger Bands Width (BBW) - measures the distance between upper and lower Bollinger Bands
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| stdDev | No | Standard deviation multiplier | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 disclosing behavior. It only states the formula, but does not disclose that the tool fetches OHLCV data via symbol/timeframe parameters, nor what the return structure looks like (e.g., a time series of BBW values). This leaves key behavioral traits hidden.
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 a single, well-structured sentence that front-loads the verb 'Calculate' and provides a clear definition. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has five parameters, no annotations, and no output schema. The description covers the conceptual definition but omits usage guidance, return format, and data-fetching behavior. It is adequate but has clear gaps, making it minimally viable.
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 already provides 100% coverage, with descriptions for all five parameters including default values. The description adds no parameter-level details, which is acceptable under the baseline but does not enhance understanding of how limit, period, or stdDev affect the calculation.
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 calculates Bollinger Bands Width and defines it as the distance between upper and lower Bollinger Bands. This distinguishes it from sibling indicator_bollinger_bands, which focuses on the bands themselves.
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 guidance on when to use this indicator versus alternatives like indicator_bollinger_bands or other volatility indicators. Usage is only implied by the tool name and definition, giving it a clear but implicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_bollinger_bandsB
Calculate the Bollinger Bands (BB) - shows price volatility with upper/lower bands around an SMA
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| stdDev | No | Standard deviation multiplier | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, placing the full burden on the description. The description only states what it calculates and does not disclose output format, data requirements, or any calculation nuances. This is a significant gap for an agent trying to understand what to expect from the 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 a single, front-loaded sentence with no redundant words. It gets straight to the point while conveying the core concept.
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 is simple with a well-documented schema, but there is no output schema and no description of return values. The description also fails to explain how this tool relates to other Bollinger Band components (e.g., width, strategy) or what the result structure looks like, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a description, so the baseline is 3. The tool description adds some conceptual clarity (Bollinger Bands relate to volatility and an SMA) but does not go beyond the schema for individual parameter meanings or relationships.
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 ('Calculate') with a clear resource ('Bollinger Bands') and explicitly explains what it shows (price volatility with upper/lower bands around an SMA). This clearly distinguishes it from other indicator tools like indicator_sma or indicator_bbw.
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 a use case (assessing price volatility) but provides no explicit guidance on when to use this tool over alternatives, nor any exclusions or prerequisites. With many sibling indicator and strategy tools, more explicit differentiation would be beneficial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_bopB
Calculate the Balance of Power (BOP) - gauges buying vs. selling pressure based on price movement
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only offers a conceptual definition of BOP and does not mention data fetching requirements, output format, or any side effects. This is a significant gap for a calculation 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 a single, well-structured sentence with no filler. It front-loads the tool's core function, making it easy to parse and immediately 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?
The tool is simple and the schema covers parameters, but the description fails to explain the return value or calculation basis beyond vague 'price movement.' Without an output schema, the agent lacks crucial context about what the tool returns, leaving the description at a minimum viable level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all three parameters (symbol, limit, timeframe) already described. The tool description adds no additional parameter semantics beyond the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the Balance of Power (BOP) indicator and explains its purpose as gauging buying vs. selling pressure. This specific verb+resource combination distinguishes it from the many other indicator_* tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of appropriate contexts, exclusions, or other indicators that might be preferred. The description only defines BOP without helping an agent choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_cciB
Calculate the Commodity Channel Index (CCI) - detects overbought/oversold conditions and trend reversals
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only says 'Calculate', leaving unstated that the tool likely fetches OHLCV data for the symbol/timeframe and returns a series of CCI values; no side effects or error conditions are addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no filler, front-loaded with 'Calculate the Commodity Channel Index (CCI).' The second half adds useful application context, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description doesn't state what the tool returns or how CCI values are delivered (e.g., array or single value). Given four parameters and a large sibling set, it also doesn't explain how inputs influence the result or when this indicator is preferred, leaving significant context 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 descriptions cover all 4 parameters (limit, period, symbol, timeframe), so baseline 3 applies. The description adds no parameter-specific meaningโit doesn't explain that period controls the lookback window or how limit/timeframe affect the calculation.
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 opens with 'Calculate the Commodity Channel Index (CCI)', a specific verb and resource. It adds a short use case ('detects overbought/oversold conditions and trend reversals'), but doesn't contrast with sibling oscillators like RSI or stochastic, so it only partially differentiates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage for technical analysis when overbought/oversold or reversal signals are needed, via 'detects overbought/oversold conditions and trend reversals.' No explicit when-to-use, exclusions, or alternatives are given, which matters because many sibling indicators serve similar purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_cfoC
Calculate the Chande Forecast Oscillator (CFO) - predicts future price movements relative to past trends
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 only states that the tool calculates an oscillator and predicts price movements, but omits critical details such as whether this is a read-only computation, what input data is required, how results are returned, or any limitations. The description adds minimal value beyond the name itself.
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 a single concise sentence, front-loaded with the action verb 'Calculate'. It is not verbose and contains no extraneous words. However, the hyphenated second clause is somewhat disjointed and does not add technical precision, keeping 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 computational indicator with no output schema, the description is incomplete. It does not explain how the oscillator should be interpreted, what the return value represents, or how it relates to other indicators. Given the large set of sibling indicator tools, this lack of context leaves the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all four parameters having textual descriptions (limit, period, symbol, timeframe). The description does not add any parameter-specific context beyond identifying the indicator, but the schema already provides baseline coverage, yielding the baseline score of 3.
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 'Calculate the Chande Forecast Oscillator (CFO)', providing a specific verb, resource, and expansion of the acronym. However, the second clause 'predicts future price movements relative to past trends' is vague and does not differentiate CFO from other predictive indicators like MACD or RSI.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use CFO versus alternative indicators. The description does not mention suitable market conditions, comparison to sibling indicators, or when this calculation would be preferred. No exclusions or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_chaikin_oscillatorB
Calculate the Chaikin Oscillator (CMO) - measures accumulation/distribution momentum
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| fastPeriod | No | Fast period for CMO | |
| slowPeriod | No | Slow period for CMO |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It only states the calculation purpose and does not mention input data requirements, return format, or any side effects or limitations. Since it's a calculation tool, the lack of detail about output or data source leaves significant 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 a single sentence that is front-loaded with the core purpose. Every word earns its place, with 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 5 parameters and no output schema, the description is quite sparse. It does not explain how fastPeriod and slowPeriod interact, what the output looks like (e.g., a series of values), or that it requires OHLCV data. This is incomplete for a tool with this level of complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all five parameters having descriptions. The tool description adds nothing about parameter semantics beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's verb ('Calculate') and resource ('Chaikin Oscillator (CMO)'), and provides a brief explanation of what it measures ('accumulation/distribution momentum'). This distinguishes it from the many sibling indicator 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 implies a use case for technical analysis of accumulation/distribution momentum, but does not explicitly state when to use this tool over other indicators or any exclusions. It lacks guidance on when not to use it or which scenarios favor alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_chandelier_exitB
Calculate the Chandelier Exit (CE) - trailing stop-loss based on ATR for trend following
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| multiplier | No | ATR multiplier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description is the sole source of behavioral disclosure. It explains the underlying concept (CE is an ATR-based trailing stop) but does not mention whether the tool is read-only, what inputs are required beyond the schema, how it handles insufficient data, or what the output looks like. The 'Calculate' verb hints at a non-mutating operation, but this is not explicit.
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 a single concise sentence that front-loads the primary verb and noun ('Calculate the Chandelier Exit') and immediately adds context. Every phrase contributes meaning, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is not complete enough for an agent to fully anticipate the tool's behavior. It does not explain the return value format, how the `limit` and `timeframe` parameters affect the calculation, or any edge cases. The basic purpose is clear, but substantial gaps remain.
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 parameters are fully described in the input schema (100% coverage), so the description does not need to repeat them. The description adds a small amount of context by mentioning 'ATR multiplier' implicitly through 'based on ATR', but it does not clarify parameter interactions or provide examples beyond the schema's basic 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 'Calculate the Chandelier Exit (CE)' and expands on its purpose as a 'trailing stop-loss based on ATR for trend following'. This specific verb+resource combination distinguishes it from the many sibling indicator tools, which all use similar 'Calculate' verbs but target different indicators.
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 trend following with a trailing stop-loss, but it does not provide explicit guidance on when to choose this tool over alternative indicators or mention any exclusions. Sibling tools like indicator_atr and strategy_macd may serve different purposes, but no direct comparison or when-not-to-use advice is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_cmfB
Calculate the Chaikin Money Flow (CMF) - measures buying/selling pressure over a period
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 describes the indicator's concept but does not mention that it fetches OHLCV data, what output format to expect (single value vs. series), or whether it is a safe read-only operation. This is a significant transparency 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 description is a single, front-loaded sentence that directly conveys the tool's purpose. Every word earns its place with no fluff 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 simple calculation tool with fully documented parameters, the description is adequate. However, it lacks any mention of return values or output shape, and there is no output schema to compensate. The agent knows what CMF is but not what to expect from the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% parameter coverage, so the baseline is 3. The description adds marginal context by relating 'period' to the measurement window, but it doesn't explain the interplay of limit, period, symbol, or timeframe beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the Chaikin Money Flow (CMF) and explains that it measures buying/selling pressure over a period. This is a specific verb+resource pairing. However, it doesn't explicitly distinguish from the sibling tool strategy_cmf, relying on the indicator_ vs strategy_ naming convention.
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 guidance is provided on when to use this tool versus alternatives such as strategy_cmf or other indicator tools. The description only defines what CMF measures, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_demaA
Calculate the Double Exponential Moving Average (DEMA) - smooths price data with reduced lag for trend detection
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 adds behavioral context by explaining that DEMA 'smooths price data with reduced lag', which is a mathematical property not in the schema. However, it doesn't disclose return format or data fetching behavior (though the schema covers fetching via 'limit').
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 concise sentences that front-load the action and specific indicator name. Every clause adds value ('calculate', 'DEMA', 'smooths', 'reduced lag', 'trend detection'). No fluff.
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 has no output schema and no annotations, the description adequately explains the core calculation but omits what the returned data looks like (e.g., a time series of DEMA values). The schema and sibling context provide some completeness, but the absence of output details keeps it at a 3.
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 covers 100% of parameters with clear descriptions (e.g., 'Trading pair, e.g., BTC/USDT', 'Timeframe'). The tool description adds no additional parameter semantics, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Calculate') and the specific resource ('Double Exponential Moving Average (DEMA)'). It differentiates from sibling indicator tools by naming DEMA explicitly and adding a unique property ('reduced lag').
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 use: 'for trend detection' with the characteristic 'reduced lag', which implies when this indicator would be preferred over other moving averages. It does not explicitly name alternatives or exclusions, so it's clear context without detailed when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_donchian_channelB
Calculate the Donchian Channel (DC) - shows highest high and lowest low over a period
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It fails to explain what the output looks like (e.g., upper/lower bands), how the tool obtains data, or any side effects. The one-line calculation description is insufficient.
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 a single, direct sentence that front-loads the action and key definition. It is concise and free of redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema, and the description does not explain the return structure, making it incomplete for an agent to use confidently. It also omits details about how symbol and timeframe interact or what the channel output represents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds minimal value beyond the schema, only reaffirming that 'period' defines the lookback length. It does not clarify parameter interdependencies or output format.
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 calculates the Donchian Channel and defines it as showing the highest high and lowest low over a period. This specific calculation distinguishes it from other indicator tools like Bollinger Bands or Keltner Channel.
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 guidance is provided on when to use this indicator versus alternatives. There is no mention of suitable market conditions or comparison with other channel/trend indicators, leaving the agent without selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_emaA
Calculate the Exponential Moving Average (EMA) - weights recent prices more heavily for trend analysis
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the transparency burden. It only explains the mathematical concept of EMA and does not disclose operational behaviors such as fetching OHLCV data, handling of the limit/timeframe parameters, or return format. This is a significant gap for a tool that likely performs data retrieval and computation.
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 a single, front-loaded sentence that efficiently states the tool's verb and resource while adding a useful explanatory note. There is no filler or redundant information, making it highly concise and 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?
The tool is a simple calculation, but given the absence of annotations and output schema, the description should offer more operational context. It does not mention that the tool retrieves OHLCV data based on symbol and timeframe, nor does it give any hint of the return structure. The well-documented schema compensates somewhat, but the description remains minimal for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all four parameters with descriptions (100% coverage), so the baseline is 3. The description adds no extra meaning to the parameters themselves; it only references the weighting concept, which is tangential to how the limit, period, symbol, and timeframe work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Calculate' and names the resource 'Exponential Moving Average (EMA)', which is clear and unambiguous. The added phrase 'weights recent prices more heavily' provides a distinguishing characteristic versus other moving averages, effectively differentiating it from sibling indicator 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 implies use for trend analysis ('for trend analysis') but provides no explicit comparisons or exclusions relative to other indicators. While this provides a basic context, it does not say when to choose EMA over SMA, MACD, or other alternatives, which are abundant in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_emvC
Calculate the Ease of Movement (EMV) - relates volume to price change
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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, but it fails to mention what the tool returns, whether it fetches OHLCV data, or any side effects. It only gives a formula description, leaving the agent without crucial behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff, efficiently stating the tool's function. However, it is too brief to carry the necessary context, so it earns a 4 rather than a 5.
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 has 4 parameters, no output schema, and no annotations, the description is insufficiently complete. It does not specify what the indicator returns, how 'period' affects the calculation, or any prerequisites, making it incomplete for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all four parameters, so the baseline is 3. The description adds a conceptual note about volume and price but does not enhance the understanding of parameters like 'period' or 'limit' beyond their schema 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 'Calculates the Ease of Movement (EMV)' with a brief definition, making its purpose immediately understandable. However, it does not differentiate this tool from sibling indicators like strategy_emv, so it lacks explicit sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternative indicators or strategy_emv. The description only defines the calculation and does not mention any usage context, prerequisites, or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_force_indexB
Calculate the Force Index (FI) - measures the power behind price movements using price and volume
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavior. It does not mention what the tool returns, whether it fetches data, or any edge-case behaviors. The description is purely formulaic and lacking in operational detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately states the core purpose. It is front-loaded and contains no redundant or promotional language.
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?
This tool has no output schema and no annotations, so the description must compensate by explaining return values or data handling, but it does not. For an AI agent, the description is too sparse to fully understand how to use the result or handle potential edge cases.
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 already provides full descriptions for all four parameters, so the baseline is 3. The description adds no additional parameter-level context beyond the general mention of price and volume, which aligns with the schema but does not enhance it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Calculate') and the specific resource ('Force Index'), and explicitly names the indicator abbreviation (FI). It distinguishes from sibling indicators by naming the exact calculation being performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus other indicators. It does not mention alternatives, prerequisites, or typical use cases. It simply defines what it does, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_ichimokuA
Calculate the Ichimoku Cloud - comprehensive indicator showing support, resistance, trend direction and momentum
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| basePeriod | No | Base line period | |
| spanPeriod | No | Leading span period | |
| conversionPeriod | No | Conversion line period |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Calculate' implies a read-only computation, but no details are given about data fetching, return format, or any side effects. The disclosure is minimal.
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 a single, front-loaded sentence that conveys purpose and capabilities without waste. Every word contributes 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?
The description covers the tool's purpose and key outputs conceptually, but lacks information about return structure or specific usage examples. Given the rich schema, it is moderately complete but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all six parameters explained. The description adds context about the Ichimoku Cloud but does not enrich parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Calculate the Ichimoku Cloud' with a specific verb and resource, and elaborates on what it shows (support, resistance, trend direction, momentum). This distinguishes it from sibling indicator tools by naming the exact indicator type.
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 by explaining the indicator's capabilities, but does not explicitly state when to use it or mention alternatives such as strategy_ichimoku. It provides no exclusions or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_kdjB
Calculate the KDJ Indicator - combines stochastic and momentum signals for trend analysis
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| signalPeriod | No | Signal period for KDJ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden of behavioral disclosure. It says 'Calculate' which hints at a pure function, but it does not state whether it fetches OHLCV data, whether it modifies state, what inputs are required beyond the symbol, or what the return structure looks like. Given zero annotation safety signals, this leaves significant 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 a single, front-loaded sentence with no redundancy. It efficiently conveys the core action and differentiator in 13 words, earning full marks for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters and no output schema, the description needs to explain what the tool returns (e.g., K, D, and J line series) and how the 'combination' works. It does neither. The tool is a complex technical indicator, but the description is too sparse to give an agent a complete mental model of expected outputs or behavior, leaving a major gap in usability.
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 already provides 100% coverage with descriptions for all five parameters (limit, period, symbol, timeframe, signalPeriod). The description's mention of 'stochastic and momentum' gives high-level context but adds no syntax, format details, or parameter-specific semantics beyond what the schema already documents. This meets the baseline for schema-heavy tools.
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 ('Calculate') and the specific resource ('the KDJ Indicator'), and adds a distinguishing detail ('combines stochastic and momentum signals for trend analysis') that sets it apart from simpler indicator siblings like indicator_stochastic or indicator_momentum. However, it does not explicitly name alternative tools or fully scope its unique output, so it stops short of the highest tier.
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 'for trend analysis' provides an implicit use case, but there is no explicit guidance on when to choose this over, say, indicator_stochastic or strategy_kdj. No exclusions, prerequisites, or alternative comparisons are given. This is implied usage at best, not active guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_keltner_channelB
Calculate the Keltner Channel (KC) - volatility bands around an EMA using ATR
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| multiplier | No | ATR multiplier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must disclose behavior. It explains the calculation concept but does not describe the output format (e.g., whether bands are returned as separate values), how missing data is handled, or any side effects. This leaves significant 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 a single concise sentence that front-loads the primary action (calculate) and resource. It is well-structured and avoids redundancy, though it could include more detail without becoming verbose.
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?
Despite having 5 parameters and no output schema or annotations, the description provides only a brief technical definition. It does not explain the return value structure, typical use cases, or caveats, leaving the context incomplete for an agent selecting or invoking the 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 100%, so parameters are fully documented in the schema. The description adds no additional semantic detail about parameters beyond the technical formula reference, but it does not need to compensate since the schema is comprehensive. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the Keltner Channel (KC), with a specific formula reference ('volatility bands around an EMA using ATR'). This is a specific verb+resource combination that distinguishes it from sibling indicator tools like Bollinger Bands or ATR 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?
No explicit guidance is provided on when to use this tool versus alternatives. The description implies use when Keltner Channel values are needed, but it does not discuss suitable market conditions, data requirements, or contrasting with similar indicators like Bollinger Bands.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_macdB
Calculate the MACD - tracks momentum and trend direction via EMA differences
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| fastPeriod | No | Fast period for MACD | |
| slowPeriod | No | Slow period for MACD | |
| signalPeriod | No | Signal period for MACD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It explains what MACD tracks but does not describe the output format, data source (e.g., OHLCV), or any side effects. For a pure calculation tool, this is a moderate transparency 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 description is a single, efficient sentence that front-loads the main action ('Calculate the MACD') and includes a concise explanation of purpose. There is no redundant or filler information, and it is appropriately sized for a simple indicator 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 straightforward calculation tool with a comprehensive schema, the description is adequate but incomplete regarding output expectations. Since there is no output schema, a brief note on the returned MACD values or histogram would improve completeness, but the basic purpose is covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all six parameters with descriptions (100% coverage), so the baseline is 3. The description's mention of 'EMA differences' only implicitly relates to fast/slow periods and does not add specific parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Calculate the MACD' with a specific verb and resource, and adds explanatory context about momentum and trend direction. It does not explicitly differentiate from sibling tools like indicator_ema or strategy_macd, but the name and calculation focus 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 implies usage through 'tracks momentum and trend direction', but it does not provide explicit alternatives or when-not-to-use guidance. There is no mention of when to prefer this over other indicators or strategy_macd, leaving the context implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_mass_indexB
Calculate the Mass Index (MI) - identifies potential reversals by measuring range expansion
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 of behavioral disclosure. It only explains the indicator's concept, not the tool's behavior, such as how it fetches data, what it returns, or parameter effects. There is no mention of side effects or output format, which is a significant gap given no output 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 a single, front-loaded sentence that efficiently communicates the tool's core purpose. It contains no filler or redundant information, earning a perfect conciseness score for structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and a moderate number of parameters (4), the description is too sparse to be complete. It lacks information about return values, how the calculation is performed, and the practical behavior of the tool. The complexity is not fully addressed.
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 100% coverage of parameter descriptions, including defaults and examples. The description adds no extra parameter-specific meaning beyond defining the indicator. Baseline of 3 is appropriate since the schema handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the Mass Index (MI) and explains its purpose ('identifies potential reversals by measuring range expansion'). This is a specific verb+resource, but it does not explicitly differentiate this indicator from sibling indicator tools beyond its unique 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?
The description implies when to use the tool (when needing to identify potential reversals via range expansion), but it does not explicitly provide when-not-to-use guidance or alternatives among the many sibling indicator tools. The usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_mfiA
Calculate the Money Flow Index (MFI) - volume-weighted RSI measuring buying/selling pressure
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the transparency burden. It explains the indicator's calculation method (volume-weighted RSI) and its purpose, but does not disclose details like return format, data source, or interpretation thresholds. This is adequate for a simple calculation tool but not rich.
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, focused sentence that fronts the action ('Calculate the Money Flow Index') and adds a brief definition. No wasted words; appropriate length for the tool's simplicity.
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 output schema and no annotations, the description is somewhat thin. It explains what MFI is but omits what the return values look like (e.g., time series of MFI) and any interpretation guidance. However, the schema implies OHLCV fetching via 'limit', so it is minimally viable.
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 covers all 4 parameters with clear descriptions (symbol, timeframe, period, limit). The tool description adds no parameter-specific detail, but schema coverage is 100%, so baseline 3 applies. The mention of 'volume-weighted' slightly clarifies period relevance but adds minimal 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 clearly states the tool calculates the Money Flow Index (MFI) and explains its nature as a volume-weighted RSI. This specific verb+resource combo distinguishes it from the many indicator_* siblings.
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 guidance on when to use this indicator versus alternatives like RSI, MACD, or other oscillators. It does not mention typical use cases (e.g., overbought/oversold detection) or exclusions, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_mmaxA
Calculate the Moving Max (MMAX) - computes the maximum price over a rolling period
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral burden. It states the core calculation but does not disclose whether the operation is read-only, which price field (open/high/low/close) is used, or what the output format is. It does not contradict any annotations (none exist), but it lacks additional behavioral context beyond the basic calculation.
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 a single concise sentence (12 words) that is front-loaded with the action verb 'Calculate'. Every word earns its place; there is no redundant or filler content. It adheres to the principle of minimal viable description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool and full schema coverage, the description is mostly adequate but has clear gaps: it does not specify which OHLCV price is used (the 'maximum price' could be the high, close, etc.) and does not mention the return structure. With no output schema, the agent is left guessing about the expected response format. This is a meaningful omission for an indicator tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all four parameters have descriptions), so the baseline is 3. The description adds minimal semantic valueโit only mentions 'rolling period' which maps to the 'period' parameter. It does not clarify which OHLCV price is used or how 'limit' and 'timeframe' affect the computation, but the schema already covers these basics.
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: 'Calculate the Moving Max (MMAX) - computes the maximum price over a rolling period'. It uses a specific verb ('computes') and resource ('maximum price over a rolling period'), which distinctly distinguishes it from sibling indicators like Mmin, SMA, or EMA.
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 guidance on when to choose this indicator over alternatives. It lacks any mention of use cases, exclusions, or relationships to other indicators such as Mmin or SMA. The only implied usage is from the name itself, which is inadequate for an agent deciding among many indicator tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_mminC
Calculate the Moving Min (MMIN) - computes the minimum price over a rolling period
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It simply restates the calculation without mentioning side effects, data source, return format, or any limitations. The agent cannot infer whether this is a safe read operation or if it has 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?
The description is a single sentence of 15 words, front-loading the purpose. It is concise and contains no redundant information, making it efficient and 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?
The tool has no output schema, so the description should explain the return value, but it only states the mathematical definition. It also does not mention that OHLCV data is used, despite the schema's 'limit' parameter hinting at it. The description is too minimal for an agent to understand inputs and outputs fully.
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 covers all four parameters with descriptions, so the baseline is 3. The description does not add any additional parameter semantics beyond the schema, such as how 'period' affects the calculation or what values are valid.
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: 'Calculate the Moving Min (MMIN) - computes the minimum price over a rolling period'. The verb 'Calculate' and specific resource 'Moving Min' convey a clear purpose. However, it does not explicitly differentiate from other sibling indicators beyond the 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?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of whether it is for trend analysis or other contexts. It is a standalone definition without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_mstdC
Calculate the Moving Standard Deviation (MSTD) - measures price volatility over a rolling period
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of disclosing behavior. It mentions the rolling period and volatility calculation but does not explain how data is fetched, what the output contains, or any prerequisites or side effects. The description is minimal and leaves significant behavioral details unspecified.
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 a single, efficient sentence that is front-loaded with the core purpose. Every word earns its place, and there is no redundancy or irrelevant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four parameters and no output schema or annotations, the description is underspecified. It does not explain how the limit and period parameters interact, what the returned data format is, or any potential errors. This is a basic indicator tool, but more context is needed for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameters with descriptions, so baseline is 3. The description adds the context of a 'rolling period' which aligns with the period parameter, but does not clarify the relationship between period and limit or provide additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the Moving Standard Deviation and identifies it as a volatility measure over a rolling period. It uses a specific verb and resource, and while it doesn't explicitly compare to sibling indicators, the unique MSTD name distinguishes it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like ATR or Bollinger Bands, which also measure volatility. The description only defines what the indicator does, without providing context on suitable scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_msumB
Calculate the Moving Sum (MSUM) - calculates the sum of prices over a rolling period
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states the mathematical operation and does not disclose whether the tool fetches OHLCV data, returns a single value or series, or how it handles incomplete data.
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 that wastes no words. It efficiently communicates the core purpose and formula.
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 is simple and the schema covers inputs well, but with no output schema or behavioral details, the description leaves ambiguity about the return format and the exact price used. It is minimally viable but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds slight context by explaining the rolling sum concept, but does not clarify parameter specifics beyond what the schema already provides.
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 verb ('Calculate'), the resource ('Moving Sum'), and the scope ('over a rolling period'). It distinguishes MSUM from other indicator tools by naming the exact calculation.
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 guidance is provided on when to use this tool versus alternatives like indicator_sma or indicator_ema. The description only explains what it does, not the context or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_nviA
Calculate the Negative Volume Index (NVI) - tracks price changes on days with decreasing volume
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It states that the tool calculates NVI based on price changes on decreasing-volume days, which implies a read-only calculation. However, it does not mention that the tool fetches OHLCV data for the given symbol and timeframe, nor does it describe the output format, which could be important for agent 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 a single, focused sentence that immediately communicates the tool's purpose. It contains no redundant words, is front-loaded with the primary action, and is appropriately sized for the tool's simplicity.
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 is relatively simple with just three parameters, all fully described in the schema. The description explains the NVI concept, but there is no output schema and no mention of what the tool returns (e.g., an array of NVI values). For a calculation tool, this missing output information is a gap, but the overall description is adequate for basic 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 description coverage is 100%, so the parameters (symbol, limit, timeframe) are already well documented. The description does not add any additional meaning to the parameters beyond the schema, such as explaining that 'timeframe' affects the NVI calculation period. Thus, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as calculating the Negative Volume Index (NVI) and explains its behavior ('tracks price changes on days with decreasing volume'). This specific verb+resource combination distinguishes it from sibling indicator tools like indicator_obv or indicator_ema.
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 NVI analysis is desired, but provides no explicit guidance on when to choose this over other indicators or any alternatives. While it defines what NVI does, it does not mention trade-offs, prerequisites, or exclusions, leaving the agent to infer usage from the indicator name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_obvB
Calculate the On-Balance Volume (OBV) - cumulative volume indicator showing buying/selling pressure
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only explains the conceptual meaning of OBV. It does not mention data fetching, input requirements beyond the schema, return format, or any limitations.
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 a single, concise sentence that front-loads the action and purpose. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description omits any information about the output format or what the cumulative volume indicator returns. It also lacks contextual usage details, making it incomplete for an agent to fully understand the tool's behavior, especially without an 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?
All parameters are described in the schema with 100% coverage, so the baseline is 3. The description does not add any parameter-specific semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the On-Balance Volume (OBV), a specific cumulative volume indicator, and explains its purpose as showing buying/selling pressure. This distinguishes it from other indicator tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use OBV over other indicators or any context for selecting this tool. The description simply defines the calculation without offering use cases or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_ppoC
Calculate the Percentage Price Oscillator (PPO) - shows the relationship between two EMAs as a percentage
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| fastPeriod | No | Fast period for PPO | |
| slowPeriod | No | Slow period for PPO | |
| signalPeriod | No | Signal period for PPO |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of disclosing behavior. It only gives a mathematical definition of PPO, but does not indicate that it fetches OHLCV data, what parameters control the calculation in practice, or what the output format looks like. There is no statement about side effects or data handling.
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 a single, front-loaded sentence that states the tool's primary action and the underlying concept. Every word contributes value, with 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?
The description is too terse for a tool with six parameters and no output schema. It lacks details about return values, usage context, or how the PPO calculation is applied to market data. Given the long list of sibling indicator tools, more contextual information is needed to select and invoke this 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?
The input schema has 100% description coverage for all six parameters, each with clear defaults and meanings. The tool description adds no extra parameter-specific semantics, but the schema is sufficient to understand them, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Calculate the Percentage Price Oscillator (PPO)' which is a specific verb and resource. It further explains the formula as 'shows the relationship between two EMAs as a percentage', offering some distinction from similar indicators like APO or MACD. However, it does not explicitly name or differentiate from sibling tools, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use PPO versus alternatives like indicator_apo or indicator_macd. It simply describes what the tool does, leaving the agent to infer usage from the tool name and general technical analysis knowledge.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_projection_oscillatorB
Calculate the Projection Oscillator (PO) - shows where price is within a projected trading range
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 states the core calculation and output interpretation, but does not mention how data is fetched, whether it is read-only, any side effects, or the response format. The basic purpose is disclosed, but key behavioral traits are omitted.
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 a single, well-structured sentence that front-loads the verb and resource, followed by a short explanatory phrase. There is no redundant or extraneous content, making it highly concise and easily scannable for an AI agent.
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 indicator calculation tool with well-documented parameters, the description covers the basic purpose. However, with no output schema or annotations, it does not explain the return value format, typical value ranges, or how the result should be interpreted, leaving gaps in the complete context an agent might need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for all four parameters (symbol, limit, period, timeframe), so the baseline is 3. The description does not add any parameter-level meaning beyond what the schema already provides, effectively leaving the schema to do the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Calculate' and identifies the specific resource 'Projection Oscillator (PO)', followed by an explanatory clause ('shows where price is within a projected trading range') that defines its purpose. This is specific enough to distinguish it from sibling indicator tools, though it does not explicitly name alternatives like strategy_projection_oscillator.
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 guidance on when to use this tool versus alternatives, no exclusions, and no context on suitable use cases. It only describes what the tool does, leaving the agent to infer when it should be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_psarB
Calculate the Parabolic SAR (PSAR) - provides stop-and-reverse points for trend following
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| accelerationFactorMax | No | Maximum acceleration factor | |
| accelerationFactorStep | No | Acceleration factor step |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It only states the calculation purpose and does not mention data fetching requirements, output format, edge cases, or any side effects. This is minimal for a tool that likely relies on OHLCV data and has multiple tuning parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the primary purpose and provides a brief functional elaboration. There is no fluff or redundant information, every word 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 tool has 5 parameters, no output schema, and no annotations, the description is too minimal to be considered complete. It lacks critical context about return values, how the acceleration factors affect results, and how the tool fits with related indicators. This makes it inadequate for a user to fully understand the tool's capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all 5 parameters, so the schema already documents the meaning of each parameter. The description adds no additional parameter context beyond what is in the schema, which is the baseline expectation for high 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 calculates the Parabolic SAR and provides stop-and-reverse points, which is a specific and meaningful purpose. It goes beyond a simple restatement of the name, though it does not explicitly differentiate from sibling indicator tools beyond the indicator name itself.
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 'provides stop-and-reverse points for trend following' implies the use case of trend following, but there is no explicit guidance on when to choose this over other indicators or the related strategy_psar tool. It gives a functional hint without clear alternatives or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_pvoA
Calculate the Percentage Volume Oscillator (PVO) - measures volume momentum as percentage difference between EMAs
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| fastPeriod | No | Fast period for PVO | |
| slowPeriod | No | Slow period for PVO | |
| signalPeriod | No | Signal period for PVO |
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 that the tool calculates an indicator, but does not mention data fetching behavior, side effects, or limitations. The description focuses on the indicator's formula rather than tool execution details, leaving behavioral traits undefined.
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 a single, front-loaded sentence that immediately states the action and object, then provides a concise definition. Every word contributes to understanding the tool's function, with no wasted or repetitive 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?
The description explains what PVO calculates but does not describe the output format or that the tool fetches historical OHLCV data based on symbol/timeframe. Without an output schema, this missing context leaves some ambiguity about what the tool returns, though the indicator's nature is straightforward.
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 descriptions cover 100% of parameters, so the baseline is 3. The description adds value by explaining that PVO uses EMAs, which clarifies the meaning of fastPeriod, slowPeriod, and signalPeriod (EMA periods) beyond the generic schema descriptions. This enrichment justifies a 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?
The description clearly states the tool's purpose with a specific verb ('Calculate') and resource ('Percentage Volume Oscillator'), and adds a precise definition ('measures volume momentum as percentage difference between EMAs'). This distinguishes it from other indicator tools by naming the unique PVO calculation.
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 measuring volume momentum but does not explicitly state when to use PVO over other indicators like MACD or PPO, nor does it mention any alternatives or exclusions. The definition provides some implied context but lacks direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_qstickB
Calculate the Qstick Indicator - measures buying/selling pressure based on open-close differences
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations provided, so the description carries the full burden of behavioral disclosure. It explains the calculation logic (open-close differences) but does not disclose whether the tool fetches OHLCV data (despite a 'limit' parameter), the return format, or any side effects. For a tool that likely performs data retrieval and computation, this is a significant 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 description is a single, well-structured sentence that is front-loaded with the tool's purpose. It is concise with zero wasted words, making it easy for an agent to parse quickly.
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 straightforward indicator calculation tool, the description provides the essential purpose and formula, while the schema covers all parameters. However, there is no output schema and the description does not explain what the return value looks like or how the indicator is represented, leaving some ambiguity. This is acceptable for a simple tool but could be improved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all four parameters (symbol, period, limit, timeframe) adequately described in the schema. The description adds no extra parameter-level detail beyond its explanation of the indicator's formula. Baseline of 3 is appropriate given full 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 calculates the Qstick Indicator and explains its basis (measuring buying/selling pressure via open-close differences). It specifies the verb 'Calculate' and the resource 'Qstick Indicator', making the purpose clear. It does not explicitly differentiate from sibling indicator tools, but the unique indicator name and formula description provide adequate distinction.
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 guidance is provided on when to use this tool versus other indicator tools. The description only states what it does, not when it should be chosen. Since there are many sibling indicator tools (e.g., indicator_rsi, indicator_macd), explicit usage context would be valuable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_rmaB
Calculate the Rolling Moving Average (RMA) - applies a rolling EMA for smoother trend tracking
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 only explains the calculation method ('applies a rolling EMA') and does not disclose what the tool returns (e.g., a time series of RMA values), whether it fetches historical data based on the 'limit' parameter, or any side effects. This leaves significant gaps for the agent.
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 a single concise sentence that front-loads the verb and resource. It is appropriately sized and contains no fluff, though it could benefit from additional detail without becoming verbose. It earns a high score for structure but not a perfect one due to its brevity.
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 of a technical indicator and the absence of an output schema, the description is incomplete. It does not mention return format, scaling, or what data is used, leaving the agent without critical context for invoking the tool correctly. It is not enough for the agent to anticipate the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all four parameters (limit, period, symbol, timeframe), giving 100% coverage. The tool description adds no parameter-specific meaning beyond the schema, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Calculate' and the specific resource 'Rolling Moving Average', making the tool's function immediately understandable. However, it does not distinguish RMA from the many sibling moving-average indicators (e.g., SMA, EMA, TEMA), so it falls short of a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for smoother trend tracking' implies a use case, but there is no explicit guidance on when to choose RMA over alternatives, and no mention of exclusions or conditions. This is implied usage rather than clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_rocB
Calculate the Price Rate of Change (ROC) - measures percentage change over a period
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 not mention the return format, the underlying OHLCV data usage, or edge cases (e.g., insufficient data). It only restates the formula, leaving significant 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 extremely concise: two short clauses ('Calculate the Price Rate of Change (ROC)' and 'measures percentage change over a period') with no unnecessary words. It is front-loaded with the action and resource.
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 is low-complexity and the schema fully documents inputs, but the description omits the return value format and the data basis (OHLCV). Since there is no output schema, the description should clarify what the caller receives. It is minimally acceptable but leaves 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?
The input schema already covers 100% of parameters with clear descriptions (limit, period, symbol, timeframe). The description adds no extra meaning about parameters beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Calculate') and resource ('Price Rate of Change (ROC)'), and further clarifies the metric as 'measures percentage change over a period.' This distinguishes it from sibling indicator tools by naming the exact indicator.
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 guidance on when to use ROC versus other indicators (e.g., RSI, MACD). It only defines the calculation without mention of suitable scenarios, alternatives, or exclusions. Usage is only implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_rsiB
Calculate the Relative Strength Index (RSI) - measures speed and magnitude of price changes to identify overbought/oversold conditions
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must disclose behavioral details, but it only states the calculation and purpose. It does not describe the output format, data source (OHLCV), or how limit/period affect results, leaving key behaviors undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the tool's function immediately. Every phrase earns its place, with no redundant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description is too sparse. It lacks return value details, input examples, or any mention of how the indicator is calculated beyond the generic RSI definition, making it insufficient for an agent to fully understand tool behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have schema descriptions, so the baseline is 3. The description adds no additional parameter context, but since schema coverage is 100%, the baseline is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the Relative Strength Index (RSI), a specific technical indicator, and explains its purpose. The verb 'Calculate' and the resource 'Relative Strength Index' are explicit and distinguish it from sibling tools like indicator_macd or strategy_rsi2.
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 a use case via 'identify overbought/oversold conditions,' but provides no explicit guidance on when to choose RSI over other indicators or when not to use it. No alternative tools are named, leaving the agent to infer suitability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_since_changeC
Calculate the Since Change - tracks the time since the last significant price change
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 behavior disclosure. It mentions tracking 'significant price change' but does not define 'significant,' detail the data-fetching behavior, or explain edge cases (e.g., no significant change). The output format is also undisclosed, making the tool's runtime behavior opaque.
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 a single, front-loaded sentence that states the purpose directly with no filler words. It earns its place by conveying the core function efficiently, matching the conciseness of high-scoring examples.
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 should compensate by explaining return values and broader context. It only hints at the output ('tracks the time') without specifying units, format, or whether it returns a single value or series. The description is too thin for a tool with 3 parameters and a nontrivial calculation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions already present for symbol, limit, and timeframe. The tool description adds no additional parameter meaning, so it does not go beyond the baseline expected from 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 calculates the 'Since Change' indicator, with a brief explanation of what it tracks ('time since the last significant price change'). It is specific about the verb and resource, but does not explicitly differentiate from the many sibling indicator tools, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus other indicators or strategies. There is no mention of suitable market conditions, prerequisites, or alternatives, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_smaB
Calculate the Simple Moving Average (SMA) - averages prices over a period to identify trends
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 only explains the SMA concept and does not mention that the tool likely fetches OHLCV data based on symbol, timeframe, and limit, nor does it describe the return format, edge cases, or error behavior. This lack of behavioral detail leaves an agent with insufficient information to anticipate tool 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 a single, compact sentence that front-loads the core action and purpose. It is free of verbose language and every word contributes to the meaning. However, it is slightly under-specified for the tool's complexity, so it earns a 4 rather than a 5.
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 there is no output schema and no annotations, the description must explain what the tool returns and how it operates. It only describes the SMA calculation concept, not the tool's data-fetching behavior, return value structure, or potential error conditions. This is a significant completeness gap for an indicator that requires market data.
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 complete descriptions for all four parameters (limit, period, symbol, timeframe), so the baseline is 3. The description adds no new parameter-level detail beyond what the schema already offers; it only implicitly relates to 'period' by mentioning averaging over a period. It meets the baseline but does not enhance parameter understanding.
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 calculates the Simple Moving Average (SMA) with the verb 'Calculate' and the specific resource 'Simple Moving Average (SMA)'. It also adds context by describing what it does ('averages prices over a period') and its purpose ('to identify trends'), which distinguishes it from other technical indicators based on name and concept.
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 'to identify trends' implies a general use case, but it does not explicitly state when to prefer SMA over other indicators (e.g., EMA, MACD) or provide any exclusions or alternative recommendations. The usage guidance is implied rather than clearly defined, fitting the 'implied usage' level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_stochasticB
Calculate the Stochastic Oscillator (STOCH) - compares closing price to price range over a period
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| signalPeriod | No | Signal period for STOCH |
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 calculation logic but does not explicitly state that the tool is read-only, whether it fetches OHLCV data, or what the return payload looks like. This is acceptable but not rich.
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 a single sentence that front-loads the tool's purpose, with no filler or repetition. It is concise and 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?
The absence of an output schema is not compensated by the descriptionโthere is no mention of return format or how the computed values are structured. Additionally, no usage context (e.g., trend-following vs. mean-reversion) is provided, making the tool less discoverable among the many indicator siblings.
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 100% description coverage for all 5 parameters, including defaults and examples. The tool description adds no extra parameter-level meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Calculate'), identifies the exact resource ('Stochastic Oscillator (STOCH)'), and explains the underlying formula ('compares closing price to price range over a period'). This clearly distinguishes it from sibling indicator tools like SMA or MACD, and even separates it from strategy_stochastic.
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 guidance is provided on when to use this tool over other technical indicators. It does not mention suitable market conditions, alternative indicators, or exclusionsโkey for a tool with many similar siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_temaA
Calculate the Triple Exponential Moving Average (TEMA) - reduces lag further than DEMA for trend clarity
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description is solely responsible for disclosing behavioral traits. It only states the calculation intent and does not mention data fetching, output format, side effects, or any operational implications. This lack of information leaves an agent uncertain about what the tool actually does beyond the name.
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 a single, tightly written sentence that front-loads the action verb and packs meaningful comparison into the dependent clause. No unnecessary words or repetitions are present.
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 no output schema exists and annotations are absent, the description should clarify the return value and intended use, but it does not. It omits what the tool returns (e.g., a series of TEMA values), which OHLCV data it relies on, and how the result relates to the symbol/timeframe inputs. While the schema is complete, the operational context remains underspecified.
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 already provides descriptions for all four parameters (limit, period, symbol, timeframe), so the description adds no additional parameter-level meaning. The phrase 'reduces lag further than DEMA' offers minor insight into period selection but does not materially enhance parameter semantics beyond what the schema already conveys.
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 'Calculate' and clearly identifies the resource as the 'Triple Exponential Moving Average (TEMA)'. It also distinguishes the tool from sibling indicators by explicitly comparing it to DEMA ('reduces lag further than DEMA'), which satisfies the 'distinguishes from siblings' criterion.
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 choosing TEMA over DEMA by noting its lower lag and suitability for 'trend clarity'. However, it does not explicitly state when not to use this tool or compare it with other moving averages like EMA or SMA, so it stops short of a full explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_trimaA
Calculate the Triangular Moving Average (TRIMA) - weights middle prices more for smoother trends
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral disclosure. It reveals the weighting scheme but says nothing about the output format (e.g., array of values), behavior with insufficient data, or any side effects. The information given is accurate but minimal.
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 a single sentence that front-loads the action ('Calculate the Triangular Moving Average') and includes a meaningful qualifier. There is no redundant or unnecessary 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?
The tool is relatively simple with well-documented inputs, and the description captures the core algorithm. However, without an output schema, the description does not specify what the response contains (e.g., calculated TRIMA values) or any limitations, which would help an agent understand the full context.
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 four parameters are fully described in the schema (100% coverage), so the baseline is 3. The description adds no additional parameter context beyond what the schema already provides, but it also does not need to since coverage is 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?
The description clearly states the tool's function: 'Calculate the Triangular Moving Average (TRIMA)' and adds a distinguishing characteristic ('weights middle prices more for smoother trends') that differentiates it from other moving average indicators like SMA or EMA.
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 offers no guidance on when to use TRIMA over other indicators. It only describes the calculation method, not the contexts where it is preferable, and no alternatives or exclusions are mentioned. Among many sibling indicator_* tools, this leaves selection decisions unsupported.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_trixA
Calculate the Triple Exponential Average (TRIX) - measures momentum with triple smoothing
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 of behavioral disclosure. It only defines the indicator mathematically and does not mention what the tool actually returns (e.g., a series or a single value), whether it fetches OHLCV data, or how it handles missing parameters. This is a significant gap for a tool with no output 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 a single, focused sentence that front-loads the primary function ('Calculate') and provides the indicator's full name and purpose. Every word adds value with no redundancy or 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?
The description is minimal and does not explain the return format or how the parameters affect the calculation. Given that there is no output schema and no annotations, an agent cannot fully anticipate the tool's behavior. However, as a straightforward indicator calculation tool, the description provides a basic level of completeness.
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 100% coverage of the four parameters (symbol, period, limit, timeframe), each with a concise description. The tool description adds no additional meaning beyond the schema, but since schema coverage is complete, no compensation is needed.
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 calculates the Triple Exponential Average (TRIX), a specific technical indicator, and notes it measures momentum with triple smoothing. This is a specific verb+resource that distinguishes it from sibling indicators like TEMA or EMA.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when a TRIX value is needed, but does not explicitly explain when to prefer TRIX over other momentum indicators (e.g., RSI, MACD). There is no mention of exclusions or alternative tools, leaving the agent to infer usage from the indicator name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_true_rangeA
Calculate the True Range (TR) - measures the greatest of current high-low, high-previous close, or low-previous close
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does disclose the core calculation formula, which is essential behavior. However, it does not mention data source specifics, how previous close is derived, edge cases for missing data, or the response format. This is adequate but not rich.
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 a single, well-structured sentence that front-loads the verb and provides the formula. Every word earns its place; there is no redundancy or 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?
The tool is simple: 3 params, 100% schema coverage, no output schema. The description fully explains what is calculated but does not describe the output format or return value. Given the lack of an output schema, this is a notable gap, though the formula disclosure mitigates 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?
The input schema already provides 100% coverage with descriptions for symbol, limit, and timeframe. The description does not add parameter-specific semantics beyond stating the calculation, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb 'Calculate' and clearly identifies the resource: 'True Range (TR)'. It also defines the formula precisely ('greatest of current high-low, high-previous close, or low-previous close'), which distinguishes it from other indicator tools in the sibling list like indicator_atr or indicator_sma.
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 guidance is implied: use this when you need the True Range value. However, it does not explicitly state when to prefer this over alternatives (e.g., indicator_atr for average true range) or provide any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_typical_priceB
Calculate the Typical Price - averages high, low, and close prices for a balanced trend view
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the calculation method but does not mention that the tool fetches OHLCV data based on the parameters, its read-only nature, or what the response format is. This is insufficient for a transparent behavioral profile.
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 a single sentence that is easy to scan and front-loads the action ('Calculate the Typical Price'). However, the phrase 'balanced trend view' is somewhat vague and adds minor padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should clarify what the tool returns (e.g., a single value or a series) and how it uses the input parameters. It only explains the formula, leaving the agent uncertain about the response structure and any data-fetching behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes all parameters (symbol, limit, timeframe) at 100% coverage, so baseline 3 applies. The tool description does not add any additional semantic meaning to the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the Typical Price, a specific indicator, and explains it averages high, low, and close prices. This distinguishes it from sibling indicator tools like indicator_sma or indicator_ema.
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 'for a balanced trend view' gives some usage context, but there is no explicit guidance on when to prefer this tool over alternatives, nor any exclusion criteria or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_ulcer_indexC
Calculate the Ulcer Index (UI) - measures downside risk and volatility
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only defines the concept of the Ulcer Index, not the tool's behavior. It doesn't disclose return format, data fetching, side effects, or any operational details. Since no annotations are provided, the description carries full responsibility and falls short.
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 a single, front-loaded sentence: 'Calculate the Ulcer Index (UI) - measures downside risk and volatility.' Every word earns its place, with no redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a moderate-complexity tool with no output schema and no annotations. The description doesn't explain what the tool returns (e.g., a single numeric value or a series), how the indicator is computed, or any operational context. An agent would need to infer too much from the name and schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for all four parameters, so the baseline is 3. The description adds no extra parameter semantics beyond the schema, but the schema already adequately explains each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Calculate') and resource ('Ulcer Index (UI)'), distinguishing it from sibling indicator tools by naming the exact indicator. However, it doesn't provide additional contextual details like data source or use case, so a slight deduction from the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus other indicators or risk metrics. The phrase 'measures downside risk and volatility' offers an implicit hint, but there's no explicit when-to-use, when-not-to-use, or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_vortexB
Calculate the Vortex Indicator - identifies trend direction and strength using true range
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It discloses little about behavior beyond the basic calculation: it doesn't mention output format, data fetching, handling of insufficient data, or that it is a read-only operation. The phrase 'using true range' gives a technical detail about the calculation, but not about the tool's runtime 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 a single sentence, front-loaded with the action 'Calculate' and the resource 'Vortex Indicator'. It is concise, with no redundant phrasing, and effectively communicates the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what the tool returns and under what conditions it can be used. It only gives a one-line summary, omitting the output values (e.g., VI+, VI-), data requirements, and any limitations. This is insufficient for a tool with four parameters and no structured output documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters (limit, period, symbol, timeframe). The description does not add additional meaning to any parameter, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the Vortex Indicator, with a specific verb 'Calculate' and a specific resource. It further explains the indicator's purposeโidentifies trend direction and strength using true rangeโwhich distinguishes it from other indicator tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for trend analysis by mentioning 'identifies trend direction and strength', but it does not explicitly state when to use this tool vs alternatives or provide any exclusions. There is no mention of prerequisites, such as OHLCV data availability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_vptA
Calculate the Volume Price Trend (VPT) - relates volume to price change direction
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It explains the calculation concept and implies a read-only computation, but it does not describe output format, data requirements, or edge cases such as missing volume data.
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 a single, efficient sentence that states the key purpose and formula intent. No unnecessary words or duplication of schema details.
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 technical-indicator tool with fully documented parameters, the description is minimally viable. However, the lack of output schema and absence of return-value details leave gaps about what the agent should expect as a result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are well-documented by the schema itself. The description adds no extra meaning about 'symbol', 'limit', or 'timeframe' beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Calculate') and names the exact resource ('Volume Price Trend (VPT)'). It also clarifies the indicator's core logic ('relates volume to price change direction'), which distinguishes it from other volume-based indicators like OBV or VWAP.
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 guidance is provided on when to use VPT versus alternative indicator tools from the large sibling list. The description does not mention use cases, comparisons, or exclusions, leaving the agent to infer suitability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_vwapB
Calculate the Volume Weighted Average Price (VWAP) - average price weighted by volume
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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, but it only states the formula. It does not explain how limit/timeframe affect the calculation, whether the tool fetches its own data, or what the return value looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, but it is slightly redundant: 'Volume Weighted Average Price' is already expanded in the acronym and then restated as 'average price weighted by volume.' Still, it is concise and 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?
The tool has no output schema and no annotations, and the description omits the return value format, calculation window, and whether it uses the provided limit to fetch data. For a calculation tool, more context is needed to use 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?
The input schema provides complete descriptions for all three parameters (symbol, limit, timeframe), so the baseline is 3. The tool description adds no additional parameter semantics beyond the formula, but the schema already covers the parameter meanings.
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 calculates VWAP, a specific indicator, and defines it as 'average price weighted by volume.' This distinguishes it from sibling indicator tools like indicator_sma or indicator_ema, which calculate different metrics.
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 guidance is provided on when to use this tool instead of alternatives. It does not mention that it fetches OHLCV data, nor does it differentiate between indicator_vwap and strategy_vwap, which also appears in the sibling tools list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_vwmaA
Calculate the Volume Weighted Moving Average (VWMA) - incorporates volume into moving averages for trend strength
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 for behavioral disclosure. It only explains the formula concept but fails to describe the return format, data requirements, or any side effects, leaving significant ambiguity for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that is front-loaded with the action and resource. It contains no fluff; every word contributes to understanding the tool's purpose.
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 is simple and the schema describes all inputs, so this is not overly complex. However, without an output schema or behavioral details, the description leaves the return format and usage context incomplete. It is adequate for basic invocation but lacks richer context.
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 covers 100% of parameters with descriptions, so the baseline is 3. The description does not add any extra meaning to the parameters (limit, period, symbol, timeframe) beyond what the schema already provides.
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 calculates the Volume Weighted Moving Average (VWMA), specifies the exact indicator, and explains its purpose of incorporating volume for trend strength. This distinguishes it from other indicator tools in the sibling list (e.g., SMA, EMA, VWAP).
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 trend strength analysis with volume, but it does not explicitly state when to use this tool over alternatives like VWAP or SMA, nor does it mention exclusions. This is an implied usage context rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indicator_williams_rC
Calculate the Williams %R (WILLR) - momentum indicator measuring overbought/oversold levels
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 only mentions calculation and general purpose, but fails to explain the return format, how OHLCV data is fetched, the effect of period/limit, or any other behavioral traits. This is a significant gap for a tool with no structured safety 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 a single, focused sentence that front-loads the core action and purpose. There is no filler, repetition, or unnecessary detail, making it highly concise and 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?
The tool is a moderately complex calculation with no output schema and no annotations. The description provides only the basic definition, lacking usage context, return value expectations, or differentiation from numerous sibling indicator tools. This is insufficient for an agent to understand the full scope of the 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 100% with clear descriptions for all parameters (limit, period, symbol, timeframe). The tool description adds no additional parameter semantics beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the Williams %R (WILLR) and identifies it as a momentum indicator for overbought/oversold levels. It uses a specific verb and resource, but does not explicitly differentiate from closely related sibling tools like indicator_rsi, indicator_stochastic, or strategy_williams_r.
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 guidance is provided on when to use this tool versus alternative indicators or strategies. It implies use for overbought/oversold analysis but offers no context on prerequisites, data requirements, or exclusions, leaving the agent to infer suitability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
is_contractB
Check if an address is a smart contract or an externally owned account (EOA)
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The wallet or contract address to check | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
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 implies a read-only check by using 'Check', but does not explicitly state whether it mutates state, how it handles invalid addresses, or what network behavior to expect. For a simple check tool this is adequate, but it lacks details such as error handling or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that immediately conveys the core purpose. It contains no redundant information or filler, and the key terms (smart contract, EOA, address) are front-loaded. Every word 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?
The tool is simple with two well-documented parameters, so the description's brevity is partially justified. However, there is no mention of the return value (e.g., boolean or classification), and no coverage of edge cases like network selection defaults. Given the absence of an output schema and the existence of overlapping siblings, the description feels minimally viable 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?
The input schema already provides descriptions for both 'address' and 'network' (100% coverage), so the description need not repeat them. The schema itself clearly explains each parameter (address to check, network name/chain ID with default). Therefore the description adds no extra parameter semantics, placing it at the baseline of 3.
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: checking if an address is a smart contract or an EOA. It specifies the verb 'Check' and the resource 'address', making the purpose unambiguous. However, it does not distinguish this from the similar sibling tool 'check_address_type', so it misses the differentiator needed for 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 guidance on when to use this tool versus alternatives like 'check_address_type' or 'validate_address'. It only states what it does without any context on use cases, prerequisites, or exclusions. This leaves the agent without criteria for selecting this tool over similar checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
keccak256_hashA
Compute the Keccak-256 hash of a value. Used for hashing in Ethereum (function selectors, event topics, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Type of input: 'string' for text, 'hex' for hex bytes | string |
| value | Yes | The value to hash (string or hex) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only states the core function and does not disclose output format (e.g., hex with or without 0x prefix) or how string inputs are encoded. This leaves important behavioral details ambiguous, though the purpose and schema provide 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 two compact sentences, front-loaded with the core action and followed by a purpose clause. Every word earns its place, and it is easily 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?
The tool is simple and the schema covers parameters, but there is no output schema and no mention of return format or encoding nuances. The description remains adequate for basic selection but lacks enough detail for flawless invocation in edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains the 'type' and 'value' parameters with descriptions and enum values. The description adds no additional parameter guidance beyond calling 'value' a value, so it meets the baseline without enriching beyond 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 computes a Keccak-256 hash with a specific verb and resource, and provides concrete Ethereum use cases (function selectors, event topics). This distinguishes it from sibling tools like hash_message or get_function_selector, which are specialized for different hashing needs.
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 on when to use the tool ('Used for hashing in Ethereum') and common applications, which helps an agent select it. However, it does not explicitly mention when not to use it or name alternative tools, so it lacks full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
litecoin_get_balanceB
Get balance for a Litecoin address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Litecoin address to check |
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 only says 'Get balance,' omitting whether the balance is confirmed/unconfirmed, the unit (LTC vs satoshi), or any potential delays or errors. This is a significant gap for a minimal 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 a single, front-loaded sentence with no extraneous words. It is appropriately sized for a simple one-parameter tool, earning full marks for conciseness.
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 balance lookup, the description is adequate but incomplete. With no output schema, it fails to specify the return format or units (e.g., satoshis vs LTC), leaving some ambiguity. It is minimally viable but lacks clarity on the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the 'address' parameter described as 'Litecoin address to check.' The description adds no additional meaning beyond this, so it meets the baseline but does not enhance parameter understanding.
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 'Get balance for a Litecoin address' uses a specific verb and resource, clearly distinguishing it from sibling tools like litecoin_get_transaction_history, litecoin_validate_address, and litecoin_get_network_info. It precisely states what the tool 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?
No guidance is provided on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or to prefer it over other chain-specific balance tools, leaving the agent to infer applicability solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
litecoin_get_network_infoB
Get current Litecoin network information including fee rates
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 disclosing behavioral traits. It implies a read-only operation via 'Get' but does not disclose the return structure, potential errors, or any side effects, leaving the agent with an incomplete understanding of what the tool does beyond the name.
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 a single, direct sentence that immediately states the action and the subject. Every word is purposeful, and it avoids any superfluous detail, making it highly concise and 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?
Given the tool's simplicity (no parameters, no output schema, no annotations), the description is minimally adequate but leaves gaps. It specifies 'including fee rates' but does not elaborate on what other network information is returned, which could be important for an agent deciding if this tool meets its needs.
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 has zero parameters, so the baseline per rubric is 4. The description adds minimal parameter-related context, but since there are no parameters to document, it does not need to compensate for any schema gaps.
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 gets current Litecoin network information, specifically mentioning fee rates, which distinguishes it from sibling tools for other chains like bitcoin_get_network_info or dogecoin_get_network_info. The verb 'Get' and resource 'current Litecoin network information' are specific, though 'network information' could be more precise about what data is included.
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 guidance on when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. The usage context is only implied by the tool name and the chain reference, which is insufficient for an agent to decide between this and other network info tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
litecoin_get_transaction_historyB
Get transaction history for a Litecoin address
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of transactions to return | |
| offset | No | Number of transactions to skip | |
| address | Yes | Litecoin address to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations to communicate safety or side effects, so the description must carry the full burden. 'Get transaction history' implies a read-only operation, but it does not disclose behavioral traits such as pagination defaults, ordering, inclusion of pending/unconfirmed transactions, or any rate limits. The description is minimal and does not add context beyond the core purpose.
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 a single, clear sentence with no wasted words. It is appropriately concise, though it lacks detail; this prevents a score of 5 but is not as sparse as merely repeating 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?
Given the tool's low complexity and full schema coverage, the description is adequate to understand the core function. However, with no output schema and no annotations, it leaves gaps around expected return structure and any specific behavior, making it a minimum-viable description rather than 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 100%โall three parameters have clear descriptions (address, limit, offset). The tool description adds no additional parameter meaning, but with full schema coverage, the baseline is 3. It neither enhances nor detracts from the schema's clarity.
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 'Get transaction history for a Litecoin address' clearly states the action (get), resource (transaction history), and scope (Litecoin address). It distinguishes this from siblings like bitcoin_get_transaction_history or xrp_get_transaction_history by explicitly naming Litecoin.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is impliedโuse when you need transaction history for a Litecoin addressโbut the description provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. It merely states the function without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
litecoin_validate_addressC
Validate a Litecoin address format
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Litecoin address to validate |
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 only states that it validates format, without disclosing whether it checks checksums, network type, or what the return value looks like. The agent is left without critical behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that directly states the tool's purpose with no filler. It is front-loaded and optimally sized for the simplicity of 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?
Given the lack of annotations and no output schema, the description is insufficiently complete. It does not explain the return value, error behavior, or any constraints, leaving the agent unsure how to interpret the result. A simple explicit note about returning a boolean would have improved completeness.
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 has 100% description coverage for its single parameter, so the baseline is 3. The description adds nothing beyond the schema's own 'Litecoin address to validate' text, neither enhancing nor detracting from parameter understanding.
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 validates a Litecoin address format, using a specific verb and resource. It distinguishes from sibling validation tools by explicitly mentioning Litecoin, but it is minimal and relies heavily on the tool name for 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?
No explicit guidance is provided about when to use this tool versus alternatives. The usage is implied by the coin name but not stated, and there is no mention of exclusions or sibling alternatives for other networks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_analyze_fear_greed_trendA
Analyze trends in the Fear & Greed Index over a specified period, calculating averages and trend direction
| Name | Required | Description | Default |
|---|---|---|---|
| days | Yes | Number of days to analyze (2-365) |
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 behavior (calculating averages and trend direction) but does not mention any limitations, edge cases, or what the output structure looks like. It is not misleading, but lacks additional behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the tool's purpose and outputs with 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 is simple with one well-documented parameter. The description explains the main outputs (averages and trend direction) and the context of analyzing a specified period. While there is no output schema, the description provides sufficient clarity for this low-complexity 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 100% with a clear description for 'days' (2-365). The tool description adds the phrase 'over a specified period' which aligns with the parameter but provides no additional semantic detail beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: analyzing trends in the Fear & Greed Index over a period, with specific outputs (averages, trend direction). This distinguishes it from siblings like market_get_fear_greed_current and market_get_fear_greed_historical, which simply fetch current or historical values.
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 trend analysis over a specified period but does not explicitly state when to use this tool versus alternatives like market_get_fear_greed_historical. There are no exclusions or alternative recommendations, so 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.
market_coingecko_asset_platformsB
Get list of asset platforms (blockchains) for token lookups
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter platforms (e.g., 'nft') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must convey behavioral traits on its own. It only says 'Get list' which implies a read-only operation, but it does not disclose whether results are paginated, how the filter behaves, or what fields the returned items contain. This is a minimal disclosure for a potentially data-rich 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 one concise sentence, front-loaded with the action and resource, and contains no fluff or redundant information. Every word contributes to understanding.
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 is simple (one optional parameter, no output schema) but the description still leaves gaps: it does not specify what the returned list looks like (e.g., object structure, fields), nor how the optional filter narrows results. Given the lack of an output schema, a brief mention of return contents would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the 'filter' parameter is described as 'Filter platforms (e.g., 'nft')'. However, the tool description itself adds no extra meaning beyond the schema, so it relies entirely on the schema to explain parameter semantics. The baseline for full coverage is 3.
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 verb ('Get list'), a resource ('asset platforms (blockchains)'), and a purpose ('for token lookups'). It is distinct enough from the many sibling market_coingecko_* tools, though it does not explicitly differentiate from similar list tools like market_get_blockchains.
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 'for token lookups' implies a use case, but the description provides no explicit guidance on when to prefer this tool over alternatives such as market_coingecko_contract or geckoterminal_get_networks. It lacks exclusions or alternative tool references, leaving usage context somewhat implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_categoriesB
Get all categories with market data (market cap, volume, change)
| Name | Required | Description | Default |
|---|---|---|---|
| order | No | Sort order | market_cap_desc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. The description only states the data returned, with no mention of read-only nature, rate limits, pagination, sorting behavior, or response format. This is a significant gap for a 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 a single, clear sentence (11 words) that front-loads the purpose. No wasted words, perfectly concise.
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 one optional parameter fully documented in the schema and no output schema, the description provides the essential purpose but lacks details on return structure, differentiation from categories_list, and behavioral caveats. It is adequate but with clear gaps, scoring 3.
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 fully describes the single optional 'order' parameter with enum values, default, and description. The tool description adds no additional parameter meaning, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves all categories with market data including market cap, volume, and change. It uses a specific verb (Get) and resource (categories), and the 'all' scope is clear. However, it doesn't explicitly distinguish from the sibling market_coingecko_categories_list, so it lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No mention of when to use market_coingecko_categories_list for a simple list, or other market_coingecko_* tools. The description provides zero usage context, scoring 2.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_categories_listB
Get list of all coin categories with IDs
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the behavioral disclosure burden. It only states that the tool returns a list with IDs, but it does not mention pagination, response size, rate limits, or whether the list includes deprecated or all categories. This is a minimal disclosure that leaves important behavioral traits 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 a single concise sentence that directly communicates the tool's function. There is no filler, redundancy, or unnecessary detail, making it efficiently 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 zero-parameter tool, the description gives a minimal viable explanation. However, it lacks context about how this list relates to the sibling 'market_coingecko_categories', and it doesn't mention potential large response or data freshness. It is acceptable but leaves 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?
The tool has zero parameters, so the schema is trivially at 100% coverage. Description cannot add parameter semantics beyond what exists, and the baseline for tools with no parameters is 4. It does mention 'with IDs' which hints at the output structure, but that is not parameter-related.
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 (Get) and the resource (list of all coin categories with IDs), making the tool's purpose obvious. However, it does not explicitly distinguish itself from the similarly named sibling 'market_coingecko_categories', so it misses the differentiator needed for a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'market_coingecko_categories' or other market data tools. There is no mention of context, prerequisites, or exclusions, so the agent receives no help in tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_coinB
Get detailed coin data including description, links, market data, community data, developer stats
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coin ID (use coins/list to find ID) | |
| tickers | No | Include exchange tickers | |
| sparkline | No | Include sparkline data | |
| marketData | No | Include market data | |
| localization | No | Include all localizations | |
| communityData | No | Include community data | |
| developerData | No | Include developer data |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It partially does by listing the data categories returned, but it does not mention return format, response size, potential latency, rate limits, or implications of the boolean toggles. The description adds little beyond what the tool name suggests.
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 a single concise sentence that front-loads the key information (verb and resource) and lists the data categories without wasted words. It earns every word and is easy 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?
For a tool with seven parameters and no output schema, the description gives a useful overview of the response contents but lacks guidance on use cases, trade-offs, or how it relates to alternative endpoints. It is minimally adequate but leaves the agent without advice on when to choose this over more specific CoinGecko 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?
The schema has 100% description coverage for all seven parameters, so the description does not need to add much. It does provide a high-level grouping of data categories that maps to the boolean parameters, but it does not add new meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' with a clear resource 'detailed coin data' and enumerates the included categories (description, links, market data, community data, developer stats). This distinguishes it from more specialized CoinGecko tools like simple price or chart endpoints, though it does not explicitly name any sibling 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?
No guidance is provided on when to use this tool versus other CoinGecko tools such as market_coingecko_simple_price, market_coingecko_coin_history, or market_get_coin_by_id. The description lacks context for when a comprehensive data pull is preferred over more targeted queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_coin_historyB
Get historical coin data (price, market cap, volume) for a specific date
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coin ID | |
| date | Yes | Date in dd-mm-yyyy format | |
| localization | No | Include localizations |
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 that the response includes price, market cap, and volume for a single date, which is useful. However, it omits details like timezone handling, exact response structure, or implications of the localization parameter, so transparency is adequate but not rich.
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 a single, front-loaded sentence with no filler or redundant wording. Every word adds value, and it is appropriately concise for a simple read 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 low-complexity tool with 100% schema coverage and a clear one-sentence description, the information is mostly complete for selection and invocation. The main gaps are the lack of usage guidance and some behavioral nuance, but these are not critical for a straightforward historical data lookup.
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 already provides descriptions for all three parameters (id, date, localization), so schema coverage is 100%. The description adds no extra parameter-level nuance beyond naming the data categories returned, meeting the baseline for fully documented schemas.
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 clear verb ('Get') and specifies the resource ('historical coin data') with the key qualifier 'for a specific date,' which differentiates it from range-based chart tools. It does not explicitly name sibling tools, but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus siblings like market_coingecko_coin_market_chart or market_coingecko_coin_ohlc. There are no exclusions, prerequisites, or alternative recommendations, leaving the agent to infer usage from the name/description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_coin_market_chartC
Get historical market chart data (price, market cap, volume) over time
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coin ID | |
| days | Yes | Data up to number of days ago (1, 7, 14, 30, 90, 180, 365, max) | |
| interval | No | Data interval (auto if omitted) | |
| vsCurrency | No | Target currency | usd |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure, but it only states the basic data fields. It does not mention rate limits, response format, how 'days' and 'interval' interact, or whether data is returned as arrays of [timestamp, value] pairs. The behavior is simple, but the lack of any extra detail beyond the one-line purpose is insufficient.
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 a single sentence that is concise and front-loaded. It minimally conveys the core function without repetition or fluff. However, it is slightly under-specified given the need to differentiate among many sibling tools, which costs it 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?
The tool has no output schema and no annotations, yet the description does not explain return values or data structure. With many similar market tools, the description lacks sufficient context to distinguish behavior (e.g., time range vs fixed range). The basic 'price, market cap, volume' phrase is helpful but incomplete for an agent to correctly select and invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters (id, days, interval, vsCurrency) are already well-documented in the schema. The description adds no extra meaning beyond the schema, such as examples, defaults behavior, or relationships between parameters. This aligns with the baseline of 3.
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 ('Get') and identifies the resource as 'historical market chart data (price, market cap, volume) over time'. This clearly indicates what the tool returns and is distinct from related tools like market_coingecko_coin_history or market_coingecko_coin_ohlc, though it does not explicitly name alternatives or explain how this differs from market_coingecko_coin_market_chart_range.
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 guidance is provided on when to use this tool versus similar siblings such as market_coingecko_coin_market_chart_range, market_coingecko_coin_ohlc, or market_get_coin_chart. There are no exclusions, prerequisites, or contextual hints about which tool fits a specific use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_coin_market_chart_rangeB
Get historical market data within a custom date range (unix timestamps)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coin ID | |
| to | Yes | To timestamp (UNIX) | |
| from | Yes | From timestamp (UNIX) | |
| vsCurrency | No | Target currency | usd |
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 only states the action and input format, omitting what data fields are returned (prices, volumes), possible date-range limits, or rate-limit implications.
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 with no filler, front-loading the core purpose and input format. Every word 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?
For a tool with no annotations and no output schema, the description is minimal. It lacks details about response structure, acceptable historical depth, and how it differs from related chart tools, making it barely viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are documented. The description adds no extra meaning beyond the schema, such as constraints on range size or vsCurrency 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?
Description specifies the action (get), resource (historical market data), and key differentiator (custom date range with unix timestamps), clearly distinguishing it from fixed-range siblings like market_coingecko_coin_market_chart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative guidance is provided. The custom-range mention implies use for non-standard periods, but no exclusions or comparisons are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_coin_ohlcC
Get OHLC (Open, High, Low, Close) candlestick data for a coin
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coin ID | |
| days | Yes | Data up to number of days ago | |
| vsCurrency | No | Target currency | usd |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only restates the output type. It does not disclose response format, data ordering, units, rate limits, or any other behavioral traits, leaving the agent without useful 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 a single, front-loaded sentence that directly states the core action and resource. There is no redundant wording or duplication of structured schema details.
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, yet the description only says 'OHLC candlestick data' without specifying the return shape (e.g., array of [timestamp, open, high, low, close]) or units. Combined with the lack of usage guidance, this is insufficient for an agent to confidently invoke the tool and parse the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema documents all three parameters with 100% coverage, including the days enum and vsCurrency default. The description adds no parameter-specific meaning beyond what the schema already provides, so the schema carries the semantic burden.
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 'Get' and names the resource 'OHLC candlestick data for a coin', clearly stating what the tool returns. It is distinguishable from siblings like market_coingecko_coin_market_chart by specifying OHLC candlesticks, though it does not 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 no guidance on when to use this tool versus alternatives such as market_coingecko_coin_market_chart, historical_ohlcv, or defi_get_token_price_history. It only states the action, with no context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_coins_listA
Get list of all supported coins with id, name, and symbol (use for looking up coin IDs)
| Name | Required | Description | Default |
|---|---|---|---|
| includePlatform | No | Include platform contract addresses |
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 return fields (id, name, symbol) and the purpose, but does not mention potential behavioral traits such as large response size, pagination, or rate limits. The read-only nature is implied but not explicitly stated.
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 a single sentence that is well front-loaded, with no filler. Every word adds value: the action, the object, the fields returned, and the use case.
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 list tool with one optional parameter and no output schema, the description is almost complete. It states the primary output and use case. It could mention the effect of includePlatform, but that is already documented in the schema, so the overall context is adequate.
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 100% coverage for the single parameter includePlatform with its own description ('Include platform contract addresses'). The tool description does not add any extra meaning about the parameter, so it meets the baseline of 3.
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 and resource: 'Get list of all supported coins' with explicit output fields (id, name, symbol) and a clear use case ('use for looking up coin IDs'). This distinguishes it from sibling tools like market_coingecko_coin (single coin) and market_coingecko_search (search).
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 clearly states when to use this tool: 'use for looking up coin IDs'. This provides direct context for the agent. However, it does not explicitly mention alternatives or when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_coins_marketsC
Get coins with market data (price, market cap, volume) - most commonly used endpoint
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Comma-separated coin IDs to filter | |
| page | No | Page number | |
| order | No | Sort order | market_cap_desc |
| perPage | No | Results per page (1-250) | |
| category | No | Filter by category (e.g., 'decentralized-finance-defi') | |
| sparkline | No | Include 7 day sparkline data | |
| vsCurrency | No | Target currency (usd, eur, btc, etc.) | usd |
| priceChangePercentage | No | Include price change % (1h,24h,7d,14d,30d,200d,1y) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description adds no behavioral context beyond the literal action. It does not mention pagination behavior, rate limits, response structure, or data coverage, all of which are relevant for an 8-parameter 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 a single short sentence with no fluff. It is front-loaded with the core purpose. However, it is too sparse to be considered fully structured, which lowers it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no output schema, and no annotations, the description is inadequate. It does not explain what data is returned (beyond price/market cap/volume), how pagination works, or how this endpoint differs from similar market_coingecko_* tools. Significant information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a description. The tool description itself adds no parameter-level meaning, but the schema already documents fields like ids, page, order, and perPage. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get) and resource (coins with market data), and lists key fields (price, market cap, volume). However, it does not distinguish this from sibling tools like market_coingecko_simple_price or market_coingecko_coin, except for a vague 'most commonly used endpoint' claim.
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 guidance on when to use this tool versus alternatives. The phrase 'most commonly used endpoint' implies it is a default choice but does not explain when to prefer it over other market endpoints or what limitations exist (e.g., pagination, filtering).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_coin_tickersB
Get exchange tickers for a coin (trading pairs across exchanges)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coin ID | |
| page | No | Page number | |
| depth | No | Include 2% orderbook depth | |
| order | No | Sort order | |
| exchangeIds | No | Filter by exchange IDs (comma-separated) | |
| includeExchangeLogo | No | Include exchange logo |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states the core action (getting tickers) without mentioning pagination, sorting, filtering options, or other behavioral traits such as orderbook depth inclusion. This is minimal guidance and does not help the agent anticipate tool behavior beyond the most basic level.
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 a single, short sentence that is front-loaded with the essential verb and resource. Every word earns its place, and there is no redundancy or 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?
Given the tool has 6 parameters, no output schema, and no annotations, a one-line description is insufficient for an agent to fully understand the tool's capabilities. It does not clarify what the returned tickers include (e.g., trust scores, volume), how pagination works, or how the optional parameters like exchangeIds or includeExchangeLogo affect the response. Compared to higher-scoring examples, this description leaves many 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 100%, so each parameter already has a description (e.g., 'Page number', 'Include 2% orderbook depth'). The description adds no additional meaning beyond what the schema provides, which matches the high-coverage baseline of 3.
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 'Get' and the resource 'exchange tickers for a coin', with a parenthetical clarifying 'trading pairs across exchanges'. This distinguishes it from sibling tools like market_coingecko_exchange_tickers, which likely returns tickers for a specific exchange rather than for a coin.
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 need exchange tickers for a coin) but provides no explicit guidance on when to use this tool versus alternatives like market_get_tickers or market_coingecko_exchange_tickers. There are no exclusions or alternative tool references, so it falls at 'implied usage' rather than clear contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_companies_holdingsA
Get public companies Bitcoin or Ethereum holdings
| Name | Required | Description | Default |
|---|---|---|---|
| coinId | Yes | Coin ID (bitcoin or ethereum) |
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. 'Get' implies a read-only operation, and the resource is clear, but the description does not mention response format, potential rate limits, or other behavioral traits. It is not misleading, but it is minimal.
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 a single, concise sentence with the verb and resource front-loaded. It contains zero unnecessary words and communicates the core function efficiently.
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 is simple with one parameter and no output schema, so the description is mostly adequate. However, it leaves ambiguity about whether the response covers both coins or just the selected one, and it does not specify the exact data returned (e.g., company names, amounts). This is a minor gap given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage for the single parameter coinId, including an enum (bitcoin, ethereum) and a description. The tool description adds no additional parameter information, so the baseline score for high schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and a precise resource 'public companies Bitcoin or Ethereum holdings', clearly indicating the tool's function. It distinguishes itself from sibling tools, as no other tool references public companies' cryptocurrency holdings.
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 one needs public companies' Bitcoin or Ethereum holdings, but it provides no explicit guidance on when to prefer this tool over alternatives or any exclusions. The usage context is inferred from the purpose rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_contractB
Get coin info by contract address
| Name | Required | Description | Default |
|---|---|---|---|
| platform | Yes | Platform ID (ethereum, polygon-pos, etc.) | |
| contractAddress | Yes | Token contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the full burden of behavioral disclosure. It only states the basic function and provides no information about return format, data freshness, rate limits, safety, or error conditions. For a read tool, this is insufficient 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 a single, focused sentence that uses only seven words and avoids unnecessary filler. It is concise and front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what 'coin info' includes (e.g., name, market cap, price) and any caveats. It does not, leaving the agent uncertain about the response structure. The tool has low complexity, so a more complete description is achievable.
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 100% description coverage for both parameters, so the baseline is 3. The description adds no extra semantics beyond what the schema already documents; it just reiterates the lookup method without explaining the platform parameter or return structure.
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 ('Get') and the resource ('coin info'), with the specific qualifier 'by contract address' that distinguishes it from sibling tools like market_coingecko_coin or market_coingecko_token_price. This is a specific verb + resource + scope construction.
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 guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or related tools such as market_coingecko_coin or market_coingecko_token_price, leaving the agent without decision-making context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_contract_market_chartC
Get historical market data for a token by contract address
| Name | Required | Description | Default |
|---|---|---|---|
| days | Yes | Data up to number of days ago (1, 7, 14, 30, 90, 180, 365, max) | |
| platform | Yes | Platform ID | |
| vsCurrency | No | Target currency | usd |
| contractAddress | Yes | Token contract address |
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 only says 'Get historical market data' and does not disclose what data fields are returned, the maximum time range supported by 'days', or any rate limits/pagination behavior. This is insufficient for a market data 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 a single, front-loaded sentence that immediately conveys the core function. It wastes no words, though the brevity contributes to the lack of behavioral context.
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 is relatively simple, but the description fails to specify what historical market data is included (prices, volumes, market cap) or the response format. Since there is no output schema, the description should compensate, but instead it remains vague and incomplete for an agent deciding whether this tool meets a user's request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters. The description adds minimal value beyond restating 'contract address' and does not enhance understanding of 'platform', 'days', or 'vsCurrency'. Baseline 3 applies because the schema handles 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 the action ('Get historical market data') and the resource ('a token by contract address'), making it distinct from other chart tools that use coin IDs. However, it could be more specific about what 'market data' includes (e.g., price, volume, market cap), leaving some ambiguity.
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 a contract address rather than a coin ID, but it provides no explicit guidance on when to use this tool over siblings like market_coingecko_coin_market_chart or defi_get_token_price_history. No exclusions or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_derivativesB
Get list of all derivative tickers
| Name | Required | Description | Default |
|---|---|---|---|
| includeTickers | No | Include tickers filter | unexpired |
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 simply restates the purpose without disclosing any behavioral traits such as response format, pagination, default filtering behavior, or rate limits. It does not contradict the schema, but it adds no transparency 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 a single, front-loaded sentence with no filler or redundancy. Every word serves a purpose, making it highly efficient for an agent to parse quickly.
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 this is a simple list endpoint with one optional parameter and no output schema, the description is minimally adequate but lacks important context. It does not specify what fields a 'ticker' includes, whether it returns all derivative tickers from all exchanges, or any caveats. The absence of an output schema increases the need for richer description, but for a simple tool this may suffice.
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 already provides 100% coverage for the single parameter 'includeTickers' with an enum and description. The tool description adds no additional parameter context, so the agent must rely entirely on the schema. Baseline for high schema coverage is 3.
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 'Get' and resource 'list of all derivative tickers', which distinguishes it from related tools like market_coingecko_derivatives_exchanges (which lists exchanges) or market_coingecko_coin_tickers (which gets tickers for a specific coin). It is specific enough for an agent to understand the core function, though it could be clearer about the scope (e.g., all exchanges vs. a specific one).
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 guidance on when to use this tool versus alternatives. It does not mention that it is for derivative tickers across all exchanges, nor does it reference sibling tools like market_coingecko_derivatives_exchanges or market_get_tickers. An agent would not know when this tool is the preferred choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_derivatives_exchangesC
Get list of derivatives exchanges
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| order | No | Sort order | |
| perPage | No | Results per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full behavioral disclosure burden. It only says 'get list', implying a read operation, but does not disclose pagination behavior, output structure, or any rate limits. No contradictions with annotations since none exist.
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 a single sentence, extremely concise and front-loaded. It contains no filler and directly states the tool's purpose, which is appropriate for a simple list endpoint.
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 inform the agent about expected returns and behaviors. It only states 'Get list of derivatives exchanges', omitting pagination details, the structure of each exchange object, and any special characteristics. This is insufficient for an agent to set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents all three parameters (page, order, perPage) with descriptions and defaults, so schema coverage is 100%. The description adds no semantic value beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get list of derivatives exchanges' clearly identifies the action (get list) and the resource (derivatives exchanges). It distinguishes from sibling tools like market_coingecko_exchanges by specifying 'derivatives', but doesn't elaborate on the exact scope or what qualifies as a derivatives exchange.
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 guidance is provided on when to use this tool vs alternatives. The description does not mention any prerequisites, use cases, or exclusions relative to sibling tools such as market_coingecko_derivatives or market_get_exchanges.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_exchangeB
Get detailed exchange data including trust score, trading volume, and tickers
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Exchange ID (use exchanges list to find ID) |
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 explaining behavior. It states what data is returned but does not disclose potential limitations, data freshness, rate limits, required permissions, or error scenarios. The description is purely functional and lacks behavioral context beyond the literal operation.
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 one sentence with no filler. It front-loads the core action and data types, and every word contributes to understanding. This is a model of concision.
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 is simple (one parameter, no output schema), and the description names key return fields. However, the context is incomplete because it lacks guidance on alternative tools and does not mention the shape or volume of returned data. It is adequate for a straightforward fetch but not rich enough for an agent to fully anticipate behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters, so the baseline is 3. The single 'id' parameter is described in the schema as 'Exchange ID (use exchanges list to find ID)', which adds useful guidance. The main description does not add parameter-level detail beyond what the schema already provides.
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 gets detailed exchange data with specific fields (trust score, trading volume, tickers). It identifies the resource ('exchange') and the action ('get'), making the purpose understandable. It does not explicitly distinguish itself from the similarly named sibling 'market_coingecko_exchange_tickers', but the inclusion of trust score and volume suggests broader scope.
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 offers no guidance on when to use this tool versus alternatives like market_coingecko_exchange_tickers or market_coingecko_exchange_volume_chart. The only usage hint ('use exchanges list to find ID') appears in the parameter schema, not in the description. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_exchange_ratesA
Get BTC exchange rates against all supported currencies
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It only states what the tool does (getting exchange rates) but does not disclose whether this is a read-only operation, how data is returned, whether pagination or limits apply, or any freshness/availability characteristics. For a tool lacking annotations, this is a significant transparency 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 description is a single, concise sentence that conveys the essential information without any filler. It is front-loaded and easy to parse, making it an ideal length for a simple, parameterless 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?
Given the tool's low complexity (zero parameters, no nested objects), the description is sufficient for an agent to understand its purpose and invoke it correctly. The lack of an output schema is acceptable for a tool that returns a straightforward list of exchange rates. The description could arguably mention the output format, but for a simple data retrieval tool, this is not a critical 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?
The tool has zero parameters, so there is nothing to explain about input semantics. The description adds meaning by specifying the base currency (BTC) and the scope ('all supported currencies'), which are not captured in the empty schema. This aligns with the baseline expectation for parameterless tools.
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: retrieving BTC exchange rates against all supported currencies. The verb 'Get' and resource 'BTC exchange rates' are specific, and the scope is well-defined. While it doesn't explicitly distinguish from similar market tools like market_coingecko_simple_price, the phrase 'all supported currencies' differentiates it enough for common understanding.
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 this tool (when you need BTC exchange rates for all supported currencies), but it provides no explicit guidance on alternatives or exclusions. The simple, zero-parameter interface reduces the need for detailed usage instructions, but the description does not mention when other rate tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_exchangesB
Get all exchanges ranked by trust score with trading volume data
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| perPage | No | Results per page (1-250) |
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 states the data returned but fails to disclose pagination behavior, rate limits, or that 'all exchanges' may require multiple pages, which is a significant omission for a paginated 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?
Single sentence, front-loaded with the tool's core function. No unnecessary words or repetition, achieving high information density.
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 adequate for a simple list tool, but it omits pagination semantics and return format. With no output schema and no annotations, more detail would be expected to fully distinguish this from similar exchange-list 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 coverage is 100% for both parameters (page, perPage), and the description adds no additional parameter semantics. This is the baseline score when the schema fully documents parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb ('Get') with resource ('all exchanges') and clear qualifiers ('ranked by trust score with trading volume data'). It clearly distinguishes itself from the singular market_coingecko_exchange tool by specifying 'all exchanges'.
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 guidance is given on when to use this tool vs. alternatives like market_get_exchanges or market_coingecko_exchange. The usage context is only implied by the description, with no explicit exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_exchange_tickersB
Get all trading pairs/tickers for an exchange
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Exchange ID | |
| page | No | Page number | |
| depth | No | Include orderbook depth | |
| order | No | Sort order | |
| coinIds | No | Filter by coin IDs (comma-separated) | |
| includeExchangeLogo | No | Include exchange logo |
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 only says 'Get all trading pairs/tickers' but doesn't disclose pagination behavior, rate limits, data format, or whether this is a read-only operation. There is no mention of what fields are returned or any caveats about data freshness. This is minimal for a tool with no annotation support.
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 a single concise sentence that clearly states the tool's core function. No fluff. It could be slightly more informative but for its length it's efficient. Doesn't waste words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 6 parameters, no output schema, and no annotations. The description is a single sentence and does not explain return structure, pagination nuances, or edge cases (e.g., what happens when an exchange has no tickers). The sibling context shows many similar market tools, but this description doesn't help the agent choose it over alternatives. Given the complexity and lack of structured support, the description is under-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 100%, so each parameter has a basic description. The tool description adds no extra semantics beyond 'Get all trading pairs/tickers for an exchange'. Parameters like 'depth', 'order', and 'coinIds' have reasonable schema descriptions, but the description doesn't clarify how they interact or provide examples. Baseline 3 is appropriate since schema covers the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get all trading pairs/tickers for an exchange' clearly states the verb (Get), the resource (trading pairs/tickers), and the scope (for an exchange). It distinguishes from siblings like market_get_tickers and market_coingecko_exchange by specifying exchange-specific tickers, 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 implies usage: use this when you need all trading pairs/tickers for a specific exchange. It doesn't provide explicit when-not-to-use guidance or name alternate tools. Given the large sibling list, more explicit guidance would be helpful, but the purpose is clear enough to infer basic usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_exchange_volume_chartB
Get historical volume chart data for an exchange
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Exchange ID | |
| days | Yes | Data up to number of days ago (1-365) |
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 of behavioral disclosure. It reveals only that the tool fetches data ('Get'), but gives no details about return format, data granularity, or any operational characteristics. This is a significant gap for a 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 a single, concise sentence with no wasted words. It is appropriately sized for a simple tool with two 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?
The tool is simple with two well-described parameters, but there is no output schema and no annotations. The description does not mention what the returned chart data looks like (e.g., time series, intervals), which is a notable gap for an agent trying to use the result. It is minimally complete but lacks contextual detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters (id, days) already described in the schema. The tool description adds no additional meaning beyond what the schema provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: 'Get historical volume chart data for an exchange.' It clearly indicates what the tool does and distinguishes it from siblings like market_coingecko_exchange (exchange details) and market_coingecko_exchange_tickers (tickers). However, it does not explicitly differentiate from similar chart tools for other resources, so it falls short of a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description simply states what it does, leaving the agent to infer usage context. No alternatives, exclusions, or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_globalA
Get global cryptocurrency statistics (total market cap, volume, dominance, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the transparency burden. The verb 'Get' and the listed data fields indicate a read-only market metrics operation, but the description does not state source, freshness, currency denomination, or any limitations (e.g., 'CoinGecko data' or 'excludes stablecoins'). It is accurate but minimal.
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 a single sentence, immediately states the action and resource, and uses examples to clarify content without excessive detail. It is fully front-loaded and wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema and no annotations, the description must explain the return value. It lists examples ('total market cap, volume, dominance') but is vague with 'etc.' and omits important context like currency, time, and source. It is minimally viable but leaves an agent uncertain about the exact shape and scope of the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema already exhaustively covers this aspect (100% coverage). Per baseline for zero-param tools, a 4 is warranted; the description adds contextual value by telling what data will be returned, which is more about purpose than parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the actionable verb 'Get' with a specific resourceโ'global cryptocurrency statistics'โand lists concrete examples (total market cap, volume, dominance). This is clear, but it does not explicitly differentiate from closely related siblings like market_coingecko_global_defi or market_get_global, so it falls just 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 phrase 'global cryptocurrency statistics' implies when to useโwhen broad market-level data is neededโbut there is no explicit guidance about when not to use it or what alternatives exist (e.g., coin-specific or DeFi-focused tools). This is implied usage, not clear exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_global_defiA
Get global DeFi market statistics (DeFi market cap, dominance, top coins)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clarifies the scope and type of data returned, but does not disclose behavioral traits such as data freshness, source, rate limits, or exact return structure. The read-only nature is implied by 'Get' but not explicitly stated.
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 a single, focused sentence that front-loads the core purpose and lists the key contents immediately. There is no filler, redundancy, or wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the zero-parameter schema and lack of output schema, the description provides an adequate summary of the tool's output (market cap, dominance, top coins). It lacks detail on the exact response shape, but for a simple aggregation endpoint this is sufficient for an agent to select and invoke 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?
The tool accepts no parameters, so per the rubric baseline is 4. The description adds relevant meaning about what the no-input tool returns, so no further parameter explanation is needed.
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 ('Get') and identifies a precise resource ('global DeFi market statistics'), enumerating the key data points (DeFi market cap, dominance, top coins). This clearly differentiates it from broader global market tools like market_coingecko_global by scoping to the DeFi sector.
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 guidance is provided about when to choose this tool over alternatives that also return global market data (e.g., market_get_global, coingecko_get_global_data, market_coingecko_global). The description does not include any use cases, prerequisites, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_nftC
Get detailed NFT collection data
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | NFT collection ID |
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 of disclosing behavior. It only restates the basic purpose and provides no information about return format, data source nuances, rate limits, or any side effectsโleaving the agent without 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 a single, front-loaded sentence with no wasted words. However, it is under-specified even for a simple tool, so conciseness here leans toward sparseness rather than appropriately compact guidance.
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 one parameter and no annotations or output schema, the description should clarify what 'detailed' includes and how this differs from sibling NFT tools. It fails to do so, leaving the agent without enough context to anticipate the tool's output or scope.
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 already fully documents the only parameter ('id' as 'NFT collection ID'), giving 100% coverage. The description adds no additional meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and a clear resource ('detailed NFT collection data'), making the basic purpose understandable. However, it does not differentiate this tool from closely named siblings like market_coingecko_nfts_list or get_nft_collection_info.
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 guidance is provided about when to use this tool versus alternative NFT collection tools. It gives no context for selection, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_nfts_listB
Get list of all supported NFT collections
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| order | No | Sort order | |
| perPage | No | Results per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits, but it only states the basic purpose. It does not mention pagination, response format, rate limits, or what data is included for each collection (e.g., identifiers, market data). This leaves the agent without important behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundant information. It is front-loaded and appropriately sized for the tool's simple purpose.
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 the returned list contains (e.g., names, IDs, market data). It only says 'all supported NFT collections' without specifying the output fields. Given the large sibling set and potential confusion with similar tools, the description is insufficient for full contextual understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning about the parameters beyond what the schema already provides ('Page number', 'Sort order', 'Results per page'). The parameter semantics are adequately covered by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get list of all supported NFT collections'. The verb 'Get list' indicates a list operation, and 'all supported NFT collections' specifies the resource and scope. This differentiates it from sibling tools like market_coingecko_nft (singular) and social_get_nft_collections.
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 guidance is provided on when to use this tool versus alternatives. The description does not mention when to prefer this over market_coingecko_nft or social_get_nft_collections, nor does it give context on use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_pingA
Check CoinGecko API server status
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the behavioral disclosure burden. It clearly implies a read-only status check, but does not specify what 'status' means (e.g., HTTP code, latency, regional availability), what the return value looks like, or whether any API key or rate limits apply. It is minimally transparent but not misleading.
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 a single, front-loaded sentence that wastes no words. It states exactly what the tool does in six words, making it one of the most concise entries possible for a status-check 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?
Given the tool's extreme simplicityโno parameters, no output schema, and a very low cognitive loadโthe description is nearly complete. It does not describe the response format, but for a ping/status tool, an agent can reasonably infer success from a non-error response. The absence of return details is a minor gap, so it does not get 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?
The tool accepts zero parameters, so the description needs to explain parameter semantics. The lack of any parameters is already fully captured by the empty input schema, and the description correctly implies the tool is a simple ping with no required inputs. The baseline of 4 applies here.
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 'Check CoinGecko API server status' uses a specific verb ('check') and resource ('CoinGecko API server status'), clearly distinguishing this health-check tool from the many market_coingecko_* siblings that fetch data. It is unambiguous and self-contained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives like server_health, market_coingecko_global, or other ping-style tools. It does not state whether it is a prerequisite for other CoinGecko calls, nor does it mention any rate-limit or fallback considerations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_searchB
Search for coins, categories, and exchanges by name or symbol
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (coin name or symbol) |
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 only says 'Search' without disclosing behavior such as result limits, match exactness, case sensitivity, or output format. The agent is left unaware of whether results are full objects or just references, and whether search is by partial match or exact match.
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 a single sentence, 10 words long, with no redundant phrasing. It is front-loaded with the action and resource, making it highly concise 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?
For a simple 1-parameter tool, the description is adequate but minimal. It lacks output details (e.g., what fields are returned, pagination, or how to use the results), and no output schema or annotations compensate. However, the simplicity of the tool means the description covers the core purpose sufficiently. A higher score would require mention of result characteristics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (query described as 'Search query (coin name or symbol)'), so baseline is 3. The description adds that the search covers coins, categories, and exchanges, which clarifies the query's scope, but does not add further parameter semantics beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and the resources 'coins, categories, and exchanges', with the search key being name or symbol. This distinguishes it from sibling tools like market_coingecko_contract or market_coingecko_coin, which target specific data endpoints. The scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool vs alternatives. For example, it does not mention whether to prefer market_coingecko_coin or market_get_coins for direct coin lookups, or how this search relates to other search-like tools (e.g., geckoterminal_search_pools). The description lacks any contextual or exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_simple_priceB
Get current price of coins in multiple currencies (most efficient for price lookup)
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Comma-separated coin IDs (bitcoin,ethereum,etc.) | |
| vsCurrencies | No | Comma-separated target currencies (usd,eur,btc) | usd |
| include24hrVol | No | Include 24hr volume | |
| includeMarketCap | No | Include market cap | |
| include24hrChange | No | Include 24hr change | |
| includeLastUpdatedAt | No | Include last updated timestamp |
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 only states a basic read operation with no disclosure about rate limits, return format, pagination, or authentication. This is minimal transparency for a tool with no structured behavioral 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 a single, focused sentence that clearly communicates the core function. No wasted words, front-loaded with action and resource, and the parenthetical adds a relevant tip ('most efficient for price lookup').
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 price lookup tool with a well-documented schema, the description is minimally adequate. However, it lacks context on when to use it among many similar market tools, and there is no output schema to clarify the return structure. The description could be more complete for an agent selecting among close alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for parameters like ids, vsCurrencies, and the include flags. It does not harm, but also does not enhance.
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 gets current prices for multiple coins in multiple currencies, using a specific verb ('get') and resource ('current price of coins in multiple currencies'). It broadly differentiates from other market tools by emphasizing efficiency, though it does not explicitly name sibling tools or contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'most efficient for price lookup' implies a use case, but the description does not specify when to prefer this tool over alternatives like market_coingecko_coins_markets or market_get_multiple_prices. No exclusions or scenarios are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_supported_currenciesB
Get list of supported vs currencies (fiat and crypto)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full burden of behavioral disclosure. It implies a read-only operation ('Get list') but does not mention return format, authentication needs, rate limits, or any other behavioral traits. For a simple list tool this is minimal but insufficient given no annotation support.
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 a single, front-loaded sentence with no filler or redundancy. It efficiently conveys the essential purpose without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema, the description is adequate but sparse. It states what the tool does but misses context on how the returned list should be used (e.g., as valid vs_currency values for other price tools). Given the tool's simplicity, this is acceptable but not outstanding.
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 the baseline is 4. The description adds no parameter information, but none is needed. The schema already has no properties, and the description accurately reflects the no-parameter nature.
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 retrieves a list of supported vs currencies (fiat and crypto). The verb 'Get list' is specific and the resource is defined. However, it does not explicitly distinguish from similar sibling tools like market_coingecko_exchange_rates, 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 guidance on when to use this tool versus alternatives. It merely states the action without any context on scenarios, exclusions, or relationships to other market tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_token_priceC
Get token price by contract address (for ERC20, BEP20, etc. tokens)
| Name | Required | Description | Default |
|---|---|---|---|
| platform | Yes | Platform ID (ethereum, binance-smart-chain, polygon-pos, etc.) | |
| vsCurrencies | No | Comma-separated target currencies | usd |
| include24hrVol | No | Include 24hr volume | |
| includeMarketCap | No | Include market cap | |
| contractAddresses | Yes | Comma-separated contract addresses | |
| include24hrChange | No | Include 24hr change |
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 only states that it 'gets' the price, but does not mention any limitations, return format, error cases, rate limits, or whether multiple addresses are supported. This is a minimal description with no additional behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that is easy to parse and front-loads the core purpose. It is appropriately sized for a simple tool, though it could have used the space to add usage context without becoming verbose.
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 has 6 parameters and no output schema or annotations, the description is too sparse. It does not explain what the response contains, whether the price is real-time, or any chain-specific nuances. This is inadequate for a price tool with several configurable flags.
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 100% coverage: every parameter is described with its type and purpose. The description adds no extra meaning beyond what is already in the schema. According to the guidelines, a baseline of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: getting a token price via contract address for standards like ERC20 and BEP20. The verb 'Get' and resource 'token price by contract address' are specific. However, it does not explicitly differentiate itself from the sibling tool market_coingecko_contract, which likely serves a similar purpose, so it falls short of a perfect 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?
No guidance is given on when to use this tool versus alternatives like market_coingecko_simple_price or coingecko_get_prices. The description only implies usage for contract-address-based tokens but does not state exclusions or provide decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_coingecko_trendingA
Get top 7 trending coins on CoinGecko based on user searches in the last 24 hours
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 adds useful context about the ranking mechanism (based on user searches in the last 24 hours), but it does not disclose output structure, pagination, or potential rate limits. For a simple read-only tool, this is acceptable but leaves gaps in expected 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 a single sentence that is front-loaded and free of any redundant words. It directly communicates the core functionality without unnecessary elaboration, making it concise and 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?
The tool is simple (no parameters, no output schema), but the description does not clarify what information the returned coins include (e.g., names, symbols, prices, market cap). Without an output schema, this detail is left unspecified. The description adequately conveys the high-level purpose but could be more complete about the response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema is empty, so there are no parameter semantics to describe. The baseline for zero-parameter tools is 4, and the description correctly focuses on the output rather than parameters, adding no unnecessary parameter details.
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 action ('Get'), the specific resource ('top 7 trending coins on CoinGecko'), and the scope ('based on user searches in the last 24 hours'). This distinct purpose separates it from sibling tools like market_coingecko_search or market_coingecko_coins_list, making the tool's function 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 no guidance on when to use this tool versus alternatives. While it implies usage for trending coin discovery, it does not mention exclusions or direct users to alternatives such as coingecko_get_trending or geckoterminal_trending_pools, which may serve similar purposes. There is no explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_blockchainsA
Get a list of blockchains supported by CoinStats
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It communicates a read-only list operation but does not describe the return format, sorting, or whether the list is exhaustive. This is minimally adequate but lacks helpful extra 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?
A single, front-loaded sentence states exactly what the tool does with no filler, redundancy, or unnecessary detail. Every word 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?
For a zero-parameter, simple list tool, the description covers the key facts: resource (blockchains) and source (CoinStats). It does not detail the output structure, but the absence of an output schema makes some additional description helpful, though not critical.
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, and the schema is empty. The description does not need to explain parameter behavior, and the no-parameter situation meets the baseline of 4. It correctly adds no irrelevant parameter details.
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 ('Get a list') and resource ('blockchains supported by CoinStats'), clearly identifying the tool's purpose. It also implicitly distinguishes from sibling tools like get_supported_networks or market_get_exchanges by naming CoinStats as the source of the list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as get_supported_networks or market_get_exchanges. There are no explicit use cases, exclusions, or context hints to help an agent choose it over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_coin_avg_priceC
Get the historical average price for a cryptocurrency at a specific timestamp
| Name | Required | Description | Default |
|---|---|---|---|
| coinId | Yes | The coin identifier | |
| timestamp | Yes | Unix timestamp for the price query |
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 does not explain what 'average price' means (e.g., interval, source), whether the timestamp must be exact, or any rate limits/error conditions. This ambiguity could lead to incorrect invocations.
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 a single concise sentence with no wasted words. It communicates the core purpose efficiently, though it could include more context without becoming verbose.
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 2-parameter tool, the description is minimally viable. It states what the tool returns but fails to clarify the 'average' semantics, the exact format of coinId, or any related constraints. Lacking an output schema, this leaves important gaps for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are documented in the schema. The description adds no additional meaning beyond the schema, but baseline 3 is appropriate since the schema already explains both parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('historical average price for a cryptocurrency at a specific timestamp'), clearly stating the tool's function. However, it does not distinguish this from sibling tools like market_get_coin_chart or market_get_coin_by_id, which may also return price-related 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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of appropriate use cases, prerequisites, or exclusions, leaving the agent to infer the context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_coin_by_idB
Get detailed information about a specific cryptocurrency by its unique identifier
| Name | Required | Description | Default |
|---|---|---|---|
| coinId | Yes | The coin identifier from get_coins response | |
| currency | No | Currency for price data | USD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It only says 'Get detailed information' without revealing what data is included, whether the operation is read-only, or any rate/error considerations. The vagueness of 'detailed information' leaves the agent uncertain about the return payload.
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 a single, front-loaded sentence that efficiently conveys the core purpose without unnecessary words. It is concise and easy to parse.
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 2-parameter tool with no output schema, the description is minimally viable. However, it lacks any mention of what 'detailed information' includes or how the currency parameter affects the result, and with many market_get_* siblings, slightly more context would improve completeness. Still, it is adequate for a straightforward fetch-by-id 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 100% for both parameters, so the schema already documents coinId and currency. The description's phrase 'by its unique identifier' adds a slight connection to coinId but does not provide additional semantic meaning beyond the schema, matching the baseline expectation.
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 retrieves detailed information about a specific cryptocurrency using its unique identifier. This distinguishes it from list-type tools like market_get_coins and other market_get_* siblings by specifying the singular, id-based lookup.
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 does not provide explicit guidance on when to use this tool versus alternatives. It implies the need for a coin identifier from get_coins but does not mention exclusions or compare to similar tools like market_get_coin_chart or market_get_coin_avg_price, leaving the selection decision largely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_coin_chartB
Get historical chart data for a cryptocurrency with different time ranges
| Name | Required | Description | Default |
|---|---|---|---|
| coinId | Yes | The coin identifier | |
| period | Yes | Time period for chart data |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden of behavioral disclosure. It communicates a read-only historical retrieval, but does not describe the output format (e.g., price points vs OHLCV), data granularity, timezone handling, or any rate limitations, leaving significant 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 a single, concise sentence that front-loads the action and object. It contains no redundant words and is highly scannable, earning a top 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 simple two-parameter tool with no output schema, the description adequately covers invocation details. However, the absence of return-value specifics and lack of comparison to similar chart tools 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?
The input schema provides 100% parameter coverage, including descriptions for coinId and an enum for period. The description adds minimal value beyond restating that time ranges are supported, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('historical chart data for a cryptocurrency'), with a specific qualifier ('with different time ranges'). It distinguishes itself from simple price lookup tools like market_get_coin_avg_price by emphasizing chart data, though it does not explicitly differentiate from similar chart tools like defi_get_token_chart.
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 guidance on when to use this tool versus alternatives such as defi_get_token_chart or market_coingecko_coin_market_chart. There are no use-case hints, exclusions, or alternative tool mentions, leaving the agent to infer applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_coinsC
Get comprehensive data about cryptocurrencies: price, market cap, volume, price changes (1h, 24h, 7d), supply information, trading metrics, and social links
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Search coins by name | |
| page | No | Page number | |
| limit | No | Results per page | |
| sortBy | No | Field to sort by | |
| symbol | No | Get coins by symbol | |
| sortDir | No | Sort direction | |
| currency | No | Currency for price data | USD |
| categories | No | Category filters, comma-separated (e.g., memecoins,defi) | |
| blockchains | No | Blockchain filters, comma-separated (e.g., ethereum,solana) | |
| priceLessThan | No | Price less than | |
| volumeLessThan | No | 24h volume less than | |
| priceGreaterThan | No | Price greater than | |
| marketCapLessThan | No | Market cap less than | |
| volumeGreaterThan | No | 24h volume greater than | |
| marketCapGreaterThan | No | Market cap greater than |
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 enumerates the data fields returned, which is helpful, but it does not disclose pagination behavior, default limits, sorting/filtering semantics, or the fact that it is a read-only operation. Given the lack of annotations, this is a significant 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 description is a single, well-structured sentence that is front-loaded with the core action and resource, followed by a concise list of data categories. Every word earns its place, with no redundancy or 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?
Given the complexity of 15 optional parameters, no output schema, and no annotations, the description is insufficiently complete. It lists some output fields but does not explain the filtering capabilities, pagination, sorting, or the overall return structure. The description would need to mention these aspects to be considered adequate for such a multifaceted tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all 15 parameters, achieving 100% coverage. The description adds no parameter-specific meaning beyond what the schema already states; it merely lists output fields. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves comprehensive data about cryptocurrencies and lists specific data types (price, market cap, volume, price changes, supply, trading metrics, social links). The verb 'Get' and resource 'cryptocurrencies' are specific, though it does not explicitly distinguish itself from sibling tools like market_get_coin_by_id or market_get_tickers.
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 guidance is provided on when to use this tool versus alternatives. The description does not mention any exclusions, alternative tools, or specific use cases beyond a general 'get data' statement. The schema suggests filtering and pagination, but the description offers no contextual guidance on when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_exchange_priceC
Get historical price data for a cryptocurrency on a specific exchange
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | To currency/coin symbol | |
| from | Yes | From currency/coin symbol | |
| exchange | Yes | Exchange name | |
| timestamp | Yes | Unix timestamp |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full burden. It does not disclose any behavioral traits such as read-only safety, data source, time range limitations, or return format. This is a significant gap for a data-fetching 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?
Single sentence, no filler, immediately front-loaded with the verb. 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?
With no output schema, the description should explain what data is returned (e.g., OHLC, price at timestamp). It does not, nor does it mention exchange compatibility or required format for symbol pairs. For a 4-parameter tool, this is incomplete.
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 of 100% means each parameter has a description. The tool description adds no extra meaning beyond the schema; it merely restates 'historical price data' without explaining the relationship between from/to and timestamp. Baseline at 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Get') and identifies the resource ('historical price data') with scope ('for a cryptocurrency on a specific exchange'), which separates it from broader market tools. However, it does not explicitly distinguish from similar historical price tools like market_get_coin_chart or defi_get_token_price_history, though the exchange specification helps.
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 guidance on when to use this tool versus alternatives; no mention of alternatives, prerequisites, or context. The description simply states the function, leaving the agent to infer when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_exchangesA
Get a list of supported cryptocurrency exchanges
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 only states that it returns a list of supported exchanges, with no disclosure of any behavioral traits such as pagination, response size, rate limits, or whether the list is static. This is minimal for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is immediately understandable and front-loaded with the action and object.
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, no-output-schema tool, the description gives the essential purpose but lacks any detail on the return format or content of the list (e.g., exchange IDs, names, metadata). It is minimally viable but leaves some ambiguity about what the agent will receive.
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 the schema is fully covered and no parameter documentation is needed. Baseline for 0 params is 4, and the description adds nothing beyond that, which is acceptable.
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: 'Get a list of supported cryptocurrency exchanges'. It uses a specific verb and resource, and the purpose is unmistakable. It distinguishes from related siblings like market_get_exchange_price which focuses on pricing, not the list itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No mention of scenarios, prerequisites, or related tools. The description simply states what it does, leaving the agent without context on when to prefer it over similar market_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_fear_greed_currentA
Get the current Crypto Fear & Greed Index (0-100 scale: 0-24 Extreme Fear, 25-49 Fear, 50-74 Greed, 75-100 Extreme Greed)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 adds value by disclosing the meaning of the index values (0-100 with category ranges), which helps the agent interpret the result. However, it does not mention any potential caveats like data freshness or response format, but for a simple read-only index fetch this is sufficient.
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 a single, well-structured sentence that immediately states the tool's function and includes the essential scale definitions. There is no wasted wording; it is front-loaded and easy 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?
For a tool with no parameters and no output schema, the description adequately explains what the tool returns and how to interpret the value. It could specify the exact return format (e.g., number vs object), but the scale and categories are clear enough for this simple use case.
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 the schema provides no input semantics. The baseline for 0 parameters is 4. The description's scale explanation is not about parameters but still adds context about the tool's output, which is helpful. No further parameter clarification is needed.
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 retrieves the current Crypto Fear & Greed Index and explains the 0-100 scale with category boundaries. The word 'current' distinguishes it from the sibling tools market_get_fear_greed_historical and market_analyze_fear_greed_trend.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for obtaining the present index value, but it does not explicitly state when to use it versus the historical or analysis variants. There is no direct mention of alternatives or exclusions, so the usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_fear_greed_historicalA
Get historical Fear & Greed Index data for specified number of days
| Name | Required | Description | Default |
|---|---|---|---|
| days | Yes | Number of days of historical data (1-365) |
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 states the scope (historical data over N days) and implies a read-only operation, but it does not disclose the response structure, whether pagination is involved, or any limitations beyond the parameter bounds. For a simple getter, the basic behavior is clear, but additional details would be beneficial.
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 a single sentence that is direct and front-loaded with the verb. It contains no fluff or redundant information, making it highly concise and easy to parse.
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 simplicity (one parameter, no output schema), the description is somewhat minimal. It explains what it fetches and the parameter, but does not mention the format of the returned data (e.g., array of date/value pairs), which would be helpful for an agent to know how to use the result. It is adequate but not rich, so a 3 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?
Schema description coverage is 100% for the single 'days' parameter, which already includes min/max and a description. The phrase 'for specified number of days' adds no extra meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves historical Fear & Greed Index data for a specified number of days. The verb 'Get' and resource 'historical Fear & Greed Index data' are specific, and the distinction from siblings like market_get_fear_greed_current is implicit and 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: when historical data over a day range is needed. However, it does not explicitly mention alternatives (e.g., market_get_fear_greed_current for current value, market_analyze_fear_greed_trend for analysis) or provide conditions for when to choose this tool over siblings. The guidance is present but only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_fiatsB
Get list of supported fiat currencies
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of disclosing behavioral traits. It only says what it does, not what the response looks like, whether it is safe/read-only, or if there are any limitations (e.g., static list, pagination). This lack of context makes the tool's behavior opaque.
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 a single, tightly-worded sentence with no filler. It front-loads the core action and resource, making it efficiently scannable. Every word 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 low complexity (no params, no output schema, no annotations), the description is minimally adequate but still incomplete. It doesn't specify the return format (e.g., list of currency codes, names, or objects), which the agent would need to correctly interpret the tool's output. A brief mention of the result type would make it more 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?
The tool has zero parameters, and the schema coverage is effectively 100% (empty properties). Per the rubric, 0 parameters warrant a baseline of 4. The description adds no parameter info, but none is needed.
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 ('Get') and a clear resource ('list of supported fiat currencies'), making the tool's basic function clear. However, it does not explicitly distinguish itself from the many sibling market_* tools, such as market_get_coins or market_get_exchanges, so it misses the full 5-point criterion.
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 guidance on when to use this tool versus alternatives. It doesn't mention any use case, exclusion, or alternative tools, so the agent gets no directional help beyond the implied meaning of the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_globalB
Get global cryptocurrency market statistics (total market cap, volume, BTC dominance, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 indicates a read operation ('Get') but does not explicitly state safety, data source, update frequency, or any rate limits. There is no mention of what the response contains beyond vague examples, leaving behavioral traits largely undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately states the tool's purpose. It includes helpful examples in parentheses without being verbose. Every word earns its place, making it highly efficient and 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?
Given the tool's simplicity (no parameters, no output schema), the description provides a basic understanding of what it does, but it does not detail the exact return structure or data fields. It lists examples but not a complete response shape, which is a notable gap since no output schema is present. Still, the low complexity keeps it above a 2.
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, and the baseline for such cases is 4. The description does not need to explain parameter meanings, and it appropriately omits any parameter-related details since none exist.
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 with a specific verb and resource: 'Get global cryptocurrency market statistics.' Examples like total market cap, volume, and BTC dominance further clarify the scope. However, it does not distinguish this tool from similar siblings such as market_coingecko_global, so it loses a point.
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 guidance is provided on when to use this tool versus alternatives like market_coingecko_global or other market statistics tools. The description implies usage when global stats are needed, but it lacks explicit context, prerequisites, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_newsC
Get cryptocurrency news articles with pagination
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (ISO 8601) | |
| from | No | Start date (ISO 8601) | |
| page | No | Page number | |
| limit | No | Results per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure, but it only states the basic function. It does not mention return format, ordering, default date range, or any side effects or limitations, leaving the agent without behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that communicates the essential purpose without unnecessary words. It is front-loaded and every word 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?
Despite the presence of a pagination parameter, there is no output schema and the description does not explain return values, sorting, or default behavior. Given the many similarly named news tools, the description is insufficient for an agent to predict tool behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all four parameters (to, from, page, limit). The description adds no extra meaning beyond the schema, matching the baseline of 3.
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 retrieves cryptocurrency news articles and mentions pagination, giving a specific verb and resource. However, it does not differentiate it from many sibling news tools like get_crypto_news or get_defi_news, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as get_crypto_news, get_bitcoin_news, or search_historical_news. The only usage hint is 'pagination', which is a feature rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_news_by_typeA
Get cryptocurrency news filtered by type (handpicked, trending, latest, bullish, bearish)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| type | Yes | News type | |
| limit | No | Results per page |
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 only states the core function and does not disclose pagination behavior, response structure, or any potential limitations. For a simple read tool this is minimal but still lacks context beyond the bare operation.
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 of 10 words that conveys the full purpose. No wasted words or redundant information. Excellent conciseness.
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 filtered-news tool with well-documented schema, the description plus schema is nearly complete. However, it could briefly mention that this is the filtered variant of market_get_news or note the absence of unfiltered output. Overall, it is sufficiently complete for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage with descriptions for all three parameters (type, page, limit). The description only repeats the enum values already present in the schema, adding no new semantic meaning. Baseline of 3 applies because the schema already documents parameters well.
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 'Get', the resource 'cryptocurrency news', and the specific scope 'filtered by type'. It also enumerates the available types (handpicked, trending, latest, bullish, bearish), which precisely distinguishes it from siblings like market_get_news that likely return unfiltered news.
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 'filtered by type' implicitly indicates when to use this tool, but there is no explicit mention of when not to use it or how it compares to alternatives such as market_get_news, get_crypto_news, or search_crypto_news. No alternative tools are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_news_sourcesB
Get available cryptocurrency news sources
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 only restates the basic action ('Get available cryptocurrency news sources') and does not disclose whether it returns a static list, requires any setup, or has any quirks. The read-only nature is implied but not explicitly supported, and no behavioral traits are revealed.
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 a single, concise sentence that is front-loaded and contains no fluff. It is appropriately sized for a zero-parameter 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 simple, zero-parameter tool, the description is largely complete, indicating what the tool returns (news sources) without needing to explain return values since there is no output schema. However, given the existence of a near-duplicate sibling (get_crypto_news_sources), a bit more context would help disambiguate, though the core information is 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?
The tool has zero parameters, and schema description coverage is 100%, so the baseline is 4. The description adds no parameter-specific meaning, but none is needed since there are no parameters to explain.
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 retrieves available cryptocurrency news sources, using a specific verb (Get) and resource. However, it does not differentiate itself from the sibling tool 'get_crypto_news_sources', which appears to serve the same purpose.
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 guidance on when to use this tool versus alternatives. With many news-related siblings (e.g., get_defi_news, get_bitcoin_news, market_get_news), there is no context on whether this tool is for listing sources or fetching articles, and no exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_portfolio_chartC
Get portfolio performance chart data
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Chart time period | |
| shareToken | Yes | Portfolio share token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavior disclosure. The verb 'Get' implies a read operation, but the description does not clarify whether the data is historical, real-time, cached, or what the response contains besides 'chart data'. It lacks any mention of output format, units, or other behavioral traits.
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 a single concise sentence, 'Get portfolio performance chart data', with no redundant or wasteful wording. It is appropriately sized for a tool with two parameters and no complex behaviors, earning a perfect conciseness 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?
The tool is simple with two well-documented parameters, but the description does not explain what the returned chart data looks like (e.g., time series points, arrays, timestamps) or how it relates to the portfolio. With no output schema and no annotations, the agent lacks sufficient context to understand the return value, making this incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters ('type' as 'Chart time period' and 'shareToken' as 'Portfolio share token') documented. The description adds no extra meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves chart data for a portfolio, using the verb 'Get' and the resource 'portfolio performance chart data'. It is specific enough to convey the core function, but it does not distinguish this tool from similar siblings like portfolio_get_performance or market_get_portfolio_coins, which also deal with portfolio performance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, such as portfolio_get_performance for summary performance or market_get_portfolio_coins for coin-level data. The description provides no context, exclusions, or mention of alternative tools, leaving the agent to infer usage based solely on the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_portfolio_coinsB
Get portfolio holdings with P/L data (requires share token from CoinStats web app)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| limit | No | Results per page | |
| shareToken | Yes | Portfolio share token from CoinStats web app |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden of behavioral disclosure. It only mentions the share token requirement, which is already in the schema. It does not disclose any other behavioral traits such as read-only nature, pagination behavior, error conditions, or rate limits. This is minimal and insufficient.
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 a single sentence that is clear and front-loaded with the core action and result ('Get portfolio holdings with P/L data'), followed by the essential prerequisite. Every word earns its place, and there is no 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?
There is no output schema, so the description should explain return values, but it does not. The tool is simple and the schema covers parameters well, but the description omits any mention of response format, pagination details, or errors. Given the absent output schema and lack of usage guidance, the description is incomplete for an agent to fully understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all three parameters (page, limit, shareToken). The description adds no extra meaning beyond what the schema provides, only restating the share token requirement. Hence, it meets the baseline for high schema coverage but does not improve upon it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get portfolio holdings with P/L data'. This clearly states what it does and differentiates it from sibling tools like market_get_wallet_balance by specifying portfolio holdings and P/L data. However, it doesn't explicitly name alternatives or edge cases, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a key prerequisite: 'requires share token from CoinStats web app'. This tells the agent when to use the tool (when a share token is available) but does not explain when not to use it or mention alternatives like market_get_portfolio_chart or portfolio_get_summary. Thus, usage context is implied but not made explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_tickersC
Get trading pairs/tickers for a cryptocurrency across different exchanges
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| limit | No | Results per page | |
| coinId | No | Filter by coin identifier | |
| toCoin | No | To currency/coin symbol | |
| exchange | No | Filter by exchange name | |
| fromCoin | No | From currency/coin symbol | |
| onlyVerified | No | Only verified exchanges |
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. 'Get' implies a read operation, but it does not disclose pagination behavior, rate limits, or whether results are real-time or cached. No additional 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?
The description is a single concise sentence that is front-loaded and easy to parse. It is under-specified but efficient; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 optional parameters and no output schema, the description is too minimal. It does not explain what the response looks like, how filters interact, or the default behavior when no filters are applied. This leaves significant gaps in understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema; it does not clarify relationships between parameters (e.g., fromCoin/toCoin) or the meaning of 'tickers' in this context.
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 (Get) and the resource (trading pairs/tickers for a cryptocurrency across different exchanges). It is specific and unambiguous, though it does not differentiate from close sibling tools like market_coingecko_coin_tickers or market_coingecko_exchange_tickers.
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 guidance is provided on when to use this tool versus alternatives. There is no mention of when it is appropriate, what scenarios it covers, or any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_wallet_balanceC
Get balance data for a wallet address on a specific blockchain
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address | |
| connectionId | Yes | Blockchain connection ID from get_blockchains |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states it is a get operation; it does not disclose return format, supported blockchains, or potential errors. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 11 words, front-loaded with action and resource. No redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no annotations, no output schema, and minimal description. For a balance tool with many siblings, this is insufficient to guide correct selection or understand the response. Should mention return contents or relationship to 'all' variant.
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 descriptions cover both parameters (100% coverage). Description adds nothing beyond 'specific blockchain', which merely echoes the connectionId. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'Get' with specific resource 'balance data for a wallet address on a specific blockchain'. It distinguishes from sibling market_get_wallet_balances_all by scoping to a single chain, but 'balance data' is slightly ambiguous (could imply native or token balances).
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 guidance on when to use this tool versus chain-specific balance tools or market_get_wallet_balances_all. Usage must be inferred from the name and sibling list, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_wallet_balances_allA
Get balance data for a wallet address across all supported networks
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address | |
| networks | No | Networks to query, comma-separated | all |
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 of behavioral disclosure. It only states the read operation 'Get balance data' without detailing response format, error handling, or network coverage behavior beyond the schema. This lacks sufficient transparency for a tool with no other safety 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?
A single, clear sentence that states exactly what the tool does. No unnecessary words or repetition, well 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?
For a simple read tool with only two parameters, the description is mostly sufficient. The schema covers parameter details, and the description clarifies the multi-network scope. However, without an output schema, a brief mention of the return format or network handling would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'address' and 'networks' are described). The description adds no additional meaning beyond the schema; it simply restates the 'all' default scope. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'balance data' with an explicit scope 'across all supported networks', which distinguishes it from the singular-focus sibling 'market_get_wallet_balance'. The name and description align perfectly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for multi-network balance queries via 'all supported networks', and the optional 'networks' parameter suggests filtering. However, it does not explicitly state when to use this instead of other tools like 'market_get_wallet_balance' or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_get_wallet_transactionsC
Get transaction history for a wallet address
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (ISO 8601) | |
| from | No | Start date (ISO 8601) | |
| page | No | Page number | |
| limit | No | Results per page | |
| types | No | Transaction types (deposit,withdraw,approve,executed,balance,fee) | |
| address | Yes | Wallet address | |
| currency | No | Currency for values | USD |
| connectionId | Yes | Blockchain connection ID |
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 of disclosing behavior. It only implies a read-only operation ('Get') without mentioning pagination, date range defaults, supported transaction types, or what the response contains. It does not reveal any important behavioral constraints or side effects, making this insufficient for an 8-parameter tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear, and direct sentence with no filler or redundant information. It is front-loaded with the action and resource, making it easy to parse. It is appropriately sized for a simple read 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?
Despite having a complete parameter schema, the description lacks essential context for an 8-parameter tool with no output schema. It does not mention return format, pagination behavior, or the role of connectionId. The absence of sibling differentiation and usage guidance makes this description incomplete for effective tool selection and 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 input schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds no additional parameter context beyond the schema. It does not explain the meaning of 'connectionId' or the filtering options, but the schema handles that adequately.
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 ('Get') and a clear resource ('transaction history for a wallet address'). It clearly states what the tool does, but it does not differentiate from chain-specific transaction history tools like aptos_get_account_transactions or bitcoin_get_transaction_history, which appear in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or situations where a different tool might be more appropriate. Since there are many sibling tools for transaction history (e.g., xrp_get_transaction_history, ton_get_transaction_history), this is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_activate_toolA
Reactivate a paused tool to resume accepting payments.
| Name | Required | Description | Default |
|---|---|---|---|
| toolId | Yes | The tool ID to activate | |
| callerAddress | Yes | Your wallet address (must be owner) |
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 of disclosing behavioral traits. It does not mention ownership requirements (beyond the schema's parameter description), error behavior if the tool is not paused, side effects, or reversibility. For a state-changing operation, this is a significant lack of 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 a single, front-loaded sentence of 9 words. It is concise, with no wasted words, and every part contributes 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?
The tool is simple with 2 parameters and no output schema, so the description is partially adequate. However, with no annotations and no output schema, the description should provide more context about prerequisites (e.g., caller must be owner, tool must be paused) and potential failure modes. The schema covers ownership minimally, but the description itself is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds the concepts of 'paused' and 'resume accepting payments,' but it doesn't add detailed parameter-level semantics beyond what the schema already provides for toolId and callerAddress.
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 ('Reactivate'), the target ('a paused tool'), and the outcome ('to resume accepting payments'). It distinguishes itself from sibling tools like marketplace_pause_tool by describing the inverse operation.
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 'Reactivate a paused tool' provides clear context for when to use this tool: when a tool is currently paused and needs to be reactivated. It doesn't explicitly name alternatives or exclusions, but the context strongly implies the appropriate usage without being misleading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_allowlist_userC
Add a user to the allowlist with optional special permissions (tool owner only).
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Reason for allowlisting | |
| toolId | Yes | Your tool ID | |
| allowAddress | Yes | Address to allowlist | |
| ownerAddress | Yes | Your wallet address (must be tool owner) | |
| customRateLimit | No | Custom rate limit for this user |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It only mentions the owner restriction and optional permissions, omitting side effects, prerequisites, or consequences of allowlisting a user. The mutation side is implied but not disclosed.
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?
Single sentence, front-loaded, zero filler. Comprehensible at a glance, though more detail would be welcome elsewhere.
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 (5 params, nested object, no output schema) and lack of annotations, the description is too sparse. It doesn't explain what allowlisting accomplishes, what 'special permissions' do, or how this fits into the broader marketplace access-control workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's phrase 'optional special permissions' vaguely hints at the customRateLimit parameter but doesn't add concrete meaning beyond the schema's own 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?
Description clearly states the action ('Add a user to the allowlist') and the resource, and notes the 'tool owner only' restriction. It distinguishes itself from block/unblock siblings, but doesn't elaborate on what 'special permissions' means, leaving some ambiguity about its exact scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use guidance or alternatives are provided. The only hint is 'tool owner only', which restricts who can call it but doesn't explain under what circumstances to use it versus other access-management tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_analytics_overviewA
Get comprehensive platform-wide analytics including total volume, active users, growth metrics (DAU/WAU/MAU), revenue by category, and conversion funnel. Use this to understand overall marketplace health and trends.
| Name | Required | Description | Default |
|---|---|---|---|
| periodDays | No | Time period in days to analyze (default: 30) |
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 enumerates the analytics categories returned, providing some behavioral transparency, but does not explicitly state that this is a read-only operation, mention rate limits, or describe the response structure.
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 the primary action and scope front-loaded. It uses no unnecessary words and is easy to parse.
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 analytics tool with a single optional parameter, the description gives a solid overview of purpose and metrics included. It lacks explicit output format details and alternative tool guidance, but is otherwise 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?
The schema provides full coverage for the single optional parameter (periodDays) with a clear description, so the baseline of 3 applies. The tool description adds no additional parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves comprehensive platform-wide analytics with a specific list of metrics (volume, users, growth, revenue, funnel). The phrase 'platform-wide' distinguishes it from more targeted marketplace analytics siblings like marketplace_stats or marketplace_creator_analytics.
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 advises using this tool to understand overall marketplace health and trends, which provides clear context for when to invoke it. However, it does not explicitly name alternative tools for narrower queries, 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.
marketplace_block_userB
Block a user address from accessing your tool (tool owner only).
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Reason for blocking | |
| toolId | Yes | Your tool ID | |
| severity | No | Block severity | medium |
| blockAddress | Yes | Address to block | |
| durationDays | No | Block duration in days (optional, default permanent) | |
| ownerAddress | Yes | Your wallet address (must be tool owner) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose all behavioral traits. It states the core action and ownership requirement but omits side effects, reversibility (via unblock), default permanent duration, and that severity can be set. This leaves significant behavioral ambiguity for a mutation 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?
A single, front-loaded sentence that communicates the essential function without redundancy. It is efficient, though perhaps too terse 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?
The tool has 6 parameters, no output schema, and no annotations, yet the description provides only one line. It does not explain return values, default block duration, how to reverse a block, or error conditions. This is inadequate for an action that modifies marketplace access.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all six parameters. The description only restates 'your tool' and 'tool owner' concepts already present in the parameter names, adding no new semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Block' with a clear object ('a user address') and purpose ('accessing your tool'), and adds the ownership restriction. This clearly distinguishes it from siblings like marketplace_unblock_user and marketplace_allowlist_user.
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 the prerequisite that only the tool owner can call it, but does not mention when to use this over unblocking or allowlisting, nor does it reference alternative tools. The usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_bundlesC
Browse and manage tool bundles (pre-packaged tool combinations with discounts).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum bundles to return | |
| action | No | Action to perform | list |
| bundleId | No | Bundle ID (for get action) | |
| category | No | Filter by category | |
| curatedOnly | No | Only show platform-curated bundles | |
| userAddress | No | User address (for suggest action) |
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 says 'browse and manage' but the schema only allows list, get, and suggest actions, which are read/suggestion operations. The description doesn't disclose rate limits, side effects, or the read-only nature of actions, making 'manage' potentially misleading.
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 a single sentence with a parenthetical clarification, making it extremely concise and front-loaded. Every word earns its place, and it avoids repetition of schema details.
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 six parameters, one enum, and no output schema, the description is sparse. It fails to explain the purpose of list/get/suggest actions or how bundleId, category, curatedOnly, and userAddress interact with actions, leaving an agent without sufficient context for 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?
Schema description coverage is 100%, so all six parameters are already documented. The tool description adds no semantics about how actions relate to parameters or what 'suggest' does, so it stays at the baseline without adding value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('browse and manage') and identifies the resource ('tool bundles'), with a clarifying parenthetical about pre-packaged combinations with discounts. It distinguishes from sibling marketplace tools by focusing on bundles, though 'manage' overstates the read/suggest actions supported.
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 guidance on when to use this tool versus other marketplace tools, or how to choose between list/get/suggest actions. It implies a use case for bundles but doesn't exclude alternatives or state any prerequisites, leaving usage to be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_cancel_subscriptionB
Cancel your subscription for a tool.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Reason for cancellation | |
| immediate | No | Cancel immediately or at end of period | |
| userAddress | Yes | Your wallet address | |
| subscriptionId | Yes | The subscription ID to cancel |
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 of behavioral disclosure. It only states the action without revealing whether cancellation is irreversible, requires specific authorization, triggers refunds, or how the 'immediate' parameter affects the outcome. This is a significant gap for a mutating operation.
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 a single, concise sentence that communicates the core purpose without unnecessary words. However, it omits useful context that could be added without bloating, so it earns a 4 rather than a 5.
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 cancellation tool with no annotations and no output schema, the description is incomplete. It does not explain the difference between immediate and end-of-period cancellation, the effect on the subscription, or any side effects. The tool likely has significant implications that the description fails to address.
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 already provides descriptions for all four parameters (100% coverage), including the 'immediate' flag and 'reason' field. The description adds no additional meaning about how parameters interact or should be used, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Cancel your subscription for a tool' clearly states the action (cancel) and the target (subscription for a tool). It distinguishes itself from sibling marketplace management tools like pause, activate, or update by using the specific verb 'cancel'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention that pausing is an alternative, nor does it explain when to use immediate cancellation versus end-of-period. There is no context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_check_rate_limitB
Check current rate limit status for a key.
| Name | Required | Description | Default |
|---|---|---|---|
| keyId | Yes | The key ID to check |
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 only states the action without revealing whether this is a read-only operation, whether it requires specific permissions, or what the returned status includes. No side effects or response format are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no filler. It is front-loaded and appropriately sized for the simple operation.
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 one required parameter, no output schema, and no annotations, so the description should explain what 'status' includes and what the agent can expect in the response. It does not; it merely restates the action. This leaves significant gaps for an agent deciding whether this tool is suitable and how 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?
Schema coverage is 100%: the only parameter keyId is fully documented in the schema as 'The key ID to check'. The description adds no additional information about the parameter beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (check), the resource (rate limit status), and the scope (for a key). It distinguishes from sibling tools like marketplace_set_rate_limit (set vs check) and marketplace_key_usage (usage history vs current 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?
No guidance is given on when to use this tool or when to prefer alternatives. There is no mention of the relationship to marketplace_key_usage or marketplace_set_rate_limit, and no prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_churn_predictionA
Identify users at risk of churning (stopping usage) with probability scores, risk signals, and recommended retention actions. Helps proactively retain users.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum users to return | |
| toolId | No | Filter by specific tool (omit for all tools) |
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 output contents (probabilities, risk signals, retention actions) but does not explicitly state whether the operation is read-only, requires specific permissions, or has side effects. This leaves some ambiguity for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the purpose and output, with no wasted words. The definition of churning in parentheses adds clarity without 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 tool has no output schema and no annotations, so the description should compensate by detailing return values. It names the three output categories but lacks specifics like output structure, probability ranges, or pagination behavior. It is minimally viable but leaves 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?
Both parameters (limit, toolId) have full descriptions in the schema, providing 100% coverage. The description adds no parameter-specific meaning beyond what the schema already states, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Identify') with a clear resource ('users at risk of churning') and explicitly lists the outputs (probability scores, risk signals, recommended retention actions). This clearly distinguishes it from sibling marketplace tools like revenue or demand prediction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies a proactive-retention use case through 'Helps proactively retain users,' but gives no explicit when-to-use vs. alternatives or exclusions. No comparison to sibling tools like marketplace_demand_prediction or marketplace_tool_insights, 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.
marketplace_compare_toolsB
Compare multiple tools side-by-side with key metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| toolIds | Yes | Tool IDs to compare (2-5 tools) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It only states the core function but does not mention read-only nature, potential side effects, output format, or error behavior. The description adds no context beyond the obvious purpose.
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 a single, concise sentence that is front-loaded and contains no redundant information. Every word earns its place, making it highly 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?
For a simple comparison tool with one parameter, the description is minimally viable but lacks details about what 'key metrics' are included and what the response format looks like. Without an output schema, this information would be valuable for the agent to set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the sole parameter (toolIds) with a clear description and constraints (2-5 tools). The tool description does not add additional meaning beyond 'multiple tools', so the baseline of 3 applies due to high 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 'Compare multiple tools side-by-side with key metrics' clearly states the action (compare) and resource (multiple tools), and the phrase 'side-by-side' distinguishes it from sibling tools like marketplace_get_tool (single tool) and marketplace_discover_tools (discovery/list). The purpose is specific and aligned with the tool 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?
The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or scenarios where another marketplace tool would be more appropriate. The usage context is only implied by the name and parameter schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_competitor_analysisB
Compare your tool against competitors in the same category. Get price benchmarking, market share estimates, feature gap analysis, performance rankings, and strategic recommendations for improvement.
| Name | Required | Description | Default |
|---|---|---|---|
| toolId | Yes | Your tool ID to analyze |
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 lists output categories but does not mention whether the operation is read-only, what data sources are used, whether authentication is required, or any rate limits or performance implications. This is a gap for a tool that presumably queries a marketplace database.
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 a single, front-loaded sentence that wastes no words. It efficiently lists the main deliverables without padding, making it easy to scan and understand quickly.
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 low complexity (1 parameter) and absence of an output schema, the description lists the analysis dimensions but lacks usage context and differentiation from overlapping sibling tools. It is minimally complete but leaves the agent uncertain about when to invoke it or what form the output will take.
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 fully describes the sole parameter (toolId) with 100% coverage, so the baseline is 3. The description adds only the context that the tool is 'your tool' but does not enrich the parameter beyond the schema's 'Your tool ID to analyze'.
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 ('Compare') and resource ('your tool against competitors in the same category'), clearly stating the tool's scope. It enumerates concrete output types (price benchmarking, market share estimates, feature gap analysis, performance rankings, strategic recommendations), making the purpose unmistakable and distinct from generic 'get info' 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?
No guidance is provided on when to use this tool versus sibling tools like marketplace_compare_tools, marketplace_tool_alternatives, or marketplace_similar_tools. The description implies use for a single tool's competitive analysis, but does not explicitly state when this is preferred over alternatives or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_create_api_keyA
Create a new API key for accessing a tool in the marketplace. Returns the API key which is only shown once - store it securely!
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name for this key (e.g., 'Production Key') | |
| tier | No | Access tier for this key | free |
| toolId | Yes | The tool ID to create a key for | |
| rateLimit | No | Custom rate limit (overrides tier default) | |
| permissions | No | Specific permissions for this key | |
| userAddress | Yes | Your wallet address (key owner) | |
| expiresInDays | No | Key expiration in days (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses a key behavioral trait: the API key is returned only once and must be stored securely. This adds value beyond a simple 'create' statement, though it doesn't mention side effects or required permissions.
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 concise sentences, front-loaded with the verb 'Create', and zero redundancy. Every word 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?
The description partially covers the return value (the one-time key) but doesn't mention other response fields, errors, or prerequisites. Given the tool's complexity (7 params, nested objects) and no output schema, it's adequate but leaves 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 100%, so baseline is 3. The description adds no parameter-specific meaning beyond what the schema already provides.
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 'Create a new API key for accessing a tool in the marketplace' with a specific verb and resource. The additional note that the key is only shown once distinguishes this tool from sibling key management tools (list, revoke, rotate).
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 guidance on when to use this tool versus alternatives like marketplace_list_api_keys or marketplace_revoke_api_key. The purpose implies creation, but there is no mention of when/when-not or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_creator_analyticsB
Get comprehensive analytics for a tool creator including all tools, revenue, and history.
| Name | Required | Description | Default |
|---|---|---|---|
| creatorAddress | Yes | Creator wallet address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are entirely absent, so the description must convey behavioral traits. It only says 'Get' which implies a read operation, but it does not clarify whether this is read-only, what permissions are required, how 'history' is defined, or any rate limits or response size issues. The description does not go beyond the basic purpose.
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 a single, front-loaded sentence that efficiently communicates the tool's purpose. It does not waste words, making it concise 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?
For a single-parameter read tool, the description is fairly adequate, but the lack of annotations and output schema means it must explain return values more clearly. The vague mention of 'history' and lack of response structure leave ambiguity. Additionally, with many similar sibling tools, more contextual differentiation would be needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides full coverage for the single parameter 'creatorAddress' with a description and pattern. The tool description adds minimal semantic valueโit indirectly implies the creator is identified by address but offers no additional context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Get') and resource ('analytics for a tool creator'), and lists key data types (tools, revenue, history). However, it does not explicitly differentiate itself from sibling tools like marketplace_tool_revenue or marketplace_creator_dashboard, which also focus on creator analytics.
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 guidance is provided on when to use this tool versus the many similar marketplace analytics tools (e.g., marketplace_tool_revenue, marketplace_stats, marketplace_creator_dashboard). The description does not state any alternative tools or exclusions, making it hard for an agent to select the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_creator_dashboardA
Get a comprehensive dashboard for a tool creator, including total revenue, revenue trends, top performing tools, user retention, geographic breakdown, and performance recommendations. Essential for creators to track their business.
| Name | Required | Description | Default |
|---|---|---|---|
| periodDays | No | Time period in days (default: 30) | |
| creatorAddress | Yes | Creator's wallet address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since there are no annotations, the description must convey behavioral traits. It does list what the dashboard includes, which suggests a read-only operation, but it does not mention response structure, error handling, rate limits, or any permissions. This is minimal 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 first sentence is packed with useful information, and the description is not overly long. The final sentence 'Essential for creators to track their business' is somewhat redundant but not harmful, keeping conciseness score at 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?
Given the lack of output schema and annotations, the description provides a partial picture by listing dashboard contents. It leaves out response format, data granularity, and differentiation from similar tools, so the completeness is only average.
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 descriptions cover both parameters (creatorAddress and periodDays) completely, and the description adds no extra parameter semantics. It doesn't explain how periodDays affects the dashboard output or provide any context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'get[s] a comprehensive dashboard for a tool creator' and enumerates specific metrics (revenue trends, top tools, retention, geography, recommendations). This is a specific verb+resource but does not distinguish it from sibling marketplace analytics tools like marketplace_creator_analytics, so it gets a 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Essential for creators to track their business' is a clear usage context for the intended audience. However, the description offers no guidance on when to prefer this tool over sibling analytics tools or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_demand_predictionA
Predict which tools are likely to grow in demand. Identifies growth signals, blockers, and market opportunity scores. Useful for investment decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum tools to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It mentions the analytical outputs (growth signals, blockers, scores) but does not explain read-only nature, data sources, or limitations. It adds some value but lacks depth expected for a prediction 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 three focused sentences with no redundant content. It front-loads the core purpose, then adds specifics about outputs and use case, earning each sentence's 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?
For a tool with one optional parameter and no output schema, the description covers the essential purpose and key output concepts (growth signals, blockers, scores). It could be more explicit about the return format, but it is adequately complete for a simple analytical tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for its single 'limit' parameter, so the baseline is 3. The tool description adds no extra parameter information, which is acceptable given the schema already documents 'Maximum tools to return'.
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 the specific verb 'Predict' and clearly identifies the resource ('which tools are likely to grow in demand') and key outputs ('growth signals, blockers, and market opportunity scores'). This distinguishes it from marketplace discovery tools and price prediction tools, making 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 some usage context ('useful for investment decisions') but does not explicitly state when to use this tool versus alternatives like marketplace_discover_tools or predict_crypto_price. It lacks exclusions or named alternatives, which is a moderate gap given the large sibling tool set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_discover_toolsC
Discover paid AI tools in the marketplace. Filter by price, category, rating, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filter by tags | |
| chain | No | Filter by supported chain | |
| limit | No | Max results to return | |
| query | No | Search query | |
| sortBy | No | Sort field | popularity |
| category | No | Filter by category | |
| maxPrice | No | Maximum price per call in USD | |
| minRating | No | Minimum rating (1-5) | |
| sortOrder | No | Sort direction | desc |
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 of behavioral disclosure. It only says 'Discover' and mentions filters, but does not state whether the operation is read-only, what the return format is, how pagination works, or any other behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is just two short sentences, with the main action and resource front-loaded. Every word is functional and there is no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 9 optional parameters, no output schema, and no annotations, the description is too sparse. It lacks information about the return format, page size, how results are ordered, typical use cases, or distinctions from many marketplace_* siblings, making it insufficient for accurate 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 input schema has 100% description coverage, so the baseline is 3. The description mentions price, category, and rating filters, which map to maxPrice, category, and minRating, but adds little beyond what the schema already documents. 'and more' is vague and does not enrich parameter meaning.
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 the specific verb 'Discover' and names the resource ('paid AI tools in the marketplace'), and it lists filtering dimensions (price, category, rating) that make the tool's function clear. However, it does not explicitly differentiate from similarly named sibling tools such as marketplace_search or marketplace_trending.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It only states that filtering is possible, without explaining when discovery is preferred over searching, trending, or recommendations, and it does not mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_escalate_disputeB
Escalate a dispute to arbitration when automatic resolution is not satisfactory. Arbitrators will vote on the outcome.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | Reason for escalation | |
| disputeId | Yes | The dispute ID to escalate | |
| callerAddress | Yes | Your wallet address (must be party to dispute) |
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 of behavioral disclosure. It mentions that arbitrators will vote on the outcome, which adds some process context. However, it does not disclose important behavioral details such as whether the action is irreversible, any prerequisites (e.g., must be a party to the dispute), potential outcomes, or side effects (e.g., fees, lock-in). The callerAddress parameter description hints at party requirement, but the tool description itself does not state this.
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, concise and front-loaded with the primary action. Every word earns its place, providing the core purpose and outcome without unnecessary 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?
Given the tool is a mutation-like action (escalating a dispute) with no annotations and no output schema, the description is insufficiently complete. It lacks critical context such as prerequisites, irreversibility, consequences (e.g., arbitration process timeline), and what the return value might be. The 100% schema coverage covers parameter mechanics but not the overall behavioral context needed for an AI agent to safely invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all three parameters. The description adds minimal extra meaning beyond the schema: it states that escalation occurs when automatic resolution is unsatisfactory, which implies the reason parameter should explain dissatisfaction. However, it does not add details about the format or semantics of disputeId or callerAddress beyond what the schema already provides.
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: escalating a dispute to arbitration when automatic resolution is not satisfactory. It identifies the resource (dispute) and the action (escalate), and the mention of arbitrators voting provides some context. However, it does not explicitly distinguish it from sibling tools like marketplace_open_dispute or marketplace_get_dispute, though the unique action of escalating to arbitration is implied.
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 the tool: when automatic resolution is not satisfactory. This is a clear context for usage. However, it does not mention alternatives or exclusions, such as when not to use it (e.g., if dispute is already in arbitration) or related tools like marketplace_get_dispute for checking status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_export_dataA
Export analytics data in various formats (CSV, JSON). Use this to download data for external analysis, reporting, or record keeping.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Export format | json |
| target | No | Creator address or tool ID (required for creator_dashboard and tool_insights) | |
| exportType | Yes | Type of data to export | |
| periodDays | No | Time period in days |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only mentions exporting/downloading data but does not describe return format (e.g., file URL, base64), authentication requirements, or any processing behavior. This is a significant gap for a data export 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 two short sentences, front-loads the core purpose, and contains no redundant information. Every word contributes to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should clarify what the agent receives (e.g., file content, download link). It does not, nor does it explain conditional requirements like 'target' being needed for certain export types. The description is too minimal for a tool with 4 parameters and no output specification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (format, target, exportType, periodDays) having a brief description. The tool description adds little beyond the schema except naming CSV/JSON formats, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Export analytics data'), the resource (analytics data), and the output formats (CSV, JSON). It distinguishes this tool from sibling analytics/viewing tools by emphasizing 'download data' for external use, making its purpose unmistakable.
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 use case ('Use this to download data for external analysis, reporting, or record keeping') but does not explicitly mention when not to use it or name alternative tools. It provides context without exclusions, earning a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_get_access_listsA
Get the allowlist and blocklist for a tool (tool owner only).
| Name | Required | Description | Default |
|---|---|---|---|
| toolId | Yes | Your tool ID |
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 disclosure. It reveals that this is a read-only operation (via 'Get') and adds an important behavioral constraint ('tool owner only'), exceeding what the schema provides. It does not detail the return format or error conditions, but for a simple read, the added ownership context is significant.
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 a single, concise sentence that leads with the verb and packs essential information (what is retrieved, for whom, and the ownership restriction). No unnecessary words 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?
For a simple read operation with one parameter and no output schema, the description is adequately complete. It specifies the purpose and the key constraint but does not cover return format or error scenarios; however, these are less critical at this complexity level. The absence of explicit alternatives is a minor 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?
The schema already covers the parameter fully ('Your tool ID') with 100% coverage, so a baseline of 3 is appropriate. The description adds only the context that the tool is the subject of the lists, which is minimal additional 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 clearly states the verb ('Get') and the specific resource ('allowlist and blocklist for a tool'), with a critical role constraint ('tool owner only'). This distinguishes it from sibling marketplace tools that modify access lists or perform other functions.
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 by stating 'tool owner only', which implies when the tool is appropriate (if you own the tool), but it does not explicitly mention alternatives like the sibling marketplace_allowlist_user tool or any exclusions. Usage guidance 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.
marketplace_get_disputeB
Get details of a specific dispute or list disputes for a user/tool.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results to return | |
| state | No | Filter by state | |
| toolId | No | Filter by tool ID | |
| disputeId | No | Specific dispute ID to retrieve | |
| userAddress | No | Filter by user address |
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 only states the purpose without disclosing that the operation is read-only, whether authentication is required, or how pagination works via the limit parameter. These behaviors are left implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and to the point. It conveys both modes of operation without unnecessary words 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 5 optional parameters and no output schema. The description implies that providing disputeId returns details, otherwise a list is returned, but it does not clarify the behavior when no filters are provided, whether state alone can be used, or the response structure. This leaves ambiguity in the list mode.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is already documented (e.g., limit, state, toolId). The description adds no additional meaning beyond what the schema provides, such as explaining interaction between disputeId and list mode or default 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 clearly identifies the resource (disputes) and the two operations: retrieving a specific dispute or listing disputes filtered by user/tool. It distinguishes from sibling tools like marketplace_open_dispute and marketplace_escalate_dispute, which handle different actions on disputes.
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 guidance on when to use this tool versus alternatives. It does not mention that this is for read-only lookup, while marketplace_open_dispute or marketplace_escalate_dispute are for creation or escalation. No explicit when/when-not logic is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_get_subscriptionA
Get your subscription status for a tool.
| Name | Required | Description | Default |
|---|---|---|---|
| toolId | Yes | The tool ID | |
| userAddress | Yes | Your wallet address |
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 disclosing behavioral traits. It does not mention authentication requirements, response format, or any side effects. The only implicit trait is that it is a read operation, which is not explicitly stated.
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 a single, concise sentence that directly states the tool's purpose. It is well-structured and appropriate for the tool's simplicity, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two well-documented params, but the description lacks any mention of return values or expected output, which is a gap given there is no output schema. It also does not provide any use-case context beyond the basic purpose.
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 has 100% coverage with descriptions for both userAddress and toolId, so the baseline is 3. The description adds no additional parameter context beyond what the schema already provides.
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 the specific verb 'Get' and identifies the resource as 'your subscription status for a tool', which clearly distinguishes it from sibling tools like marketplace_cancel_subscription or marketplace_get_tool. The purpose is unambiguous and directly tied to the tool's 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?
The description implies usage by stating its function, but it provides no explicit guidance on when to choose this tool over alternatives such as marketplace_cancel_subscription or marketplace_get_tiers. No when-to-use or when-not-to-use cases are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_get_tiersA
Get available access tiers and their features.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 implies a read-only operation via the verb 'Get' but adds no contextual detail such as authentication requirements, whether data is live or cached, or any limitations. This is minimal for a safe read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the essential function without waste. It is appropriately sized for a tool with no 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 zero-parameter tool with no output schema, the description provides enough to understand the purpose. However, it leaves the return structure unspecified ('features' could be any format), so it is 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?
There are zero parameters, so the description does not need to explain parameter semantics. The baseline of 4 is appropriate since no field-level documentation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get available access tiers and their features' uses a specific verb and resource, clearly indicating a read operation for tier information. It is distinct from sibling tools such as marketplace_manage_tier and marketplace_get_subscription, and the tool name reinforces the marketplace context.
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 guidance is provided on when to use this tool versus alternatives. It does not mention scenarios, prerequisites, or exclusions, leaving the agent to infer usage purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_get_toolC
Get detailed information about a specific tool.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Tool name | |
| toolId | No | Tool ID |
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 says 'Get detailed information' but does not describe the return format, error cases, what happens when neither parameter is supplied, or any required permissions. This is a significant gap for a lookup 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 a single, front-loaded sentence with zero wasted words. It is appropriately concise for a simple read tool, though the brevity comes at the cost of missing contextual information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two optional parameters, no output schema, and no annotations, yet the description only offers a generic phrase. It fails to specify what 'detailed information' includes, how to identify the tool when both parameters are absent, or whether name or toolId is the more reliable identifier. This is insufficient for confident 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 100% (both 'name' and 'toolId' have basic descriptions), so the baseline is 3. The tool description adds no extra meaning about the parameters, such as mutual exclusivity, best practices, or consequences of omitting both.
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 verb+resource ('Get detailed information about a specific tool'), conveying that this is a read operation for a single tool. It is distinguishable from sibling listing/discovery tools like marketplace_discover_tools and server_list_tools, though only via the name and the word 'specific'.
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 guidance on when to use this tool versus alternatives such as marketplace_discover_tools, marketplace_search, or server_list_tools. It also does not explain whether the 'name' or 'toolId' parameter should be preferred or whether one is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_key_usageB
Get usage statistics and quota status for an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| keyId | Yes | The key ID to check |
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 states the tool returns usage statistics and quota status, but does not disclose whether it's read-only (though 'Get' implies it), what quota limits mean, or any permissions/ownership requirements. This adds little behavioral context beyond what the name already conveys.
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 a single, front-loaded sentence that conveys the core purpose without any fluff or unnecessary details. It earns every word.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter and no output schema, the description gives a basic overview but misses details about what exactly the usage statistics include, how quota status is represented, and how this relates to other marketplace key management tools. It is minimally viable but has 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?
The input schema covers 100% of the single parameter 'keyId' with a clear description ('The key ID to check'), so the baseline is 3. The tool description does not add any extra meaning for the parameter, just the generic term 'API 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 uses a specific verb ('Get') and clearly names the resource ('usage statistics and quota status for an API key'). It clearly states what the tool does, but it does not explicitly distinguish itself from sibling tools like 'marketplace_usage_history' or 'marketplace_list_api_keys'.
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 guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It does not mention any related tools or specific scenarios, leaving the agent without direction for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_list_api_keysA
List all your API keys for a specific tool or all tools.
| Name | Required | Description | Default |
|---|---|---|---|
| toolId | No | Filter by specific tool ID (optional) | |
| userAddress | Yes | Your wallet address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It only says 'List all your API keys' but does not disclose whether the response includes full key secrets or just metadata, nor does it mention pagination, ordering, or error scenarios. This is a significant gap for a tool that likely accesses sensitive API key information.
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 a single sentence that front-loads the main verb and resource, with no wasted words. It efficiently conveys the core functionality and optional filtering. It is perfectly concise for the tool's simplicity.
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 should explain what the response contains or any relevant behavior. It does not mention return format, whether API keys are masked, or any limits (e.g., pagination). For a list operation, this is incomplete. Even though the tool is simple, the lack of output schema makes this description under-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?
The schema already provides descriptions for both parameters (toolId: 'Filter by specific tool ID (optional)', userAddress: 'Your wallet address'), with 100% coverage. The description adds slight clarity by linking toolId to 'specific tool or all tools' and linking userAddress to 'your API keys', but does not significantly exceed the schema's meaning. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists API keys, with an optional tool filter ('for a specific tool or all tools'). This directly distinguishes it from siblings like marketplace_create_api_key and marketplace_revoke_api_key, which perform different actions. The verb 'List' and the resource 'your API keys' are specific and 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 makes it clear this is for retrieving/listing keys, which is distinct from creation, revocation, or rotation. However, it does not explicitly name alternatives or state when not to use it. The intended use is evident from the context and sibling tool names, so it falls short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_manage_tierB
Upgrade or downgrade your subscription tier for a tool.
| Name | Required | Description | Default |
|---|---|---|---|
| newTier | Yes | New tier to switch to | |
| prorate | No | Whether to prorate charges/credits | |
| subscriptionId | Yes | Your subscription ID |
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 of behavioral disclosure. It only states 'upgrade or downgrade' without noting immediate effects on billing, feature availability, or whether changes require confirmation. Given the financial impact of tier changes, this is a significant 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 description is a single, front-loaded sentence with no redundant words. It efficiently communicates the core purpose without 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?
Given the absence of an output schema and annotations, the description should explain what happens on success/failure and any side effects (e.g., immediate billing, prorating). It only states the action, leaving the user unaware of the outcome or implications, making it incomplete for a subscription-changing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; each parameter (subscriptionId, newTier, prorate) already has a clear description in the schema. The tool description adds no additional meaning beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs 'upgrade or downgrade' and clearly identifies the resource as 'your subscription tier for a tool.' This distinguishes it from related marketplace tools like marketplace_get_subscription (view) and marketplace_cancel_subscription (cancel).
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 context of when to use the tool is implied: to change a subscription tier. However, there is no explicit mention of alternatives like checking current tier with marketplace_get_subscription or listing available tiers with marketplace_get_tiers, nor any prerequisite such as having an active subscription.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_open_disputeA
Open a payment dispute for a tool. Disputes must be opened within 24 hours of payment. Maximum 3 open disputes per user at a time.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | Reason for dispute | |
| toolId | Yes | The tool ID you had an issue with | |
| evidence | No | Evidence to support your dispute | |
| description | Yes | Detailed description of the issue | |
| userAddress | Yes | Your wallet address | |
| paymentToken | Yes | Token used for payment (e.g., 'USDs') | |
| paymentAmount | Yes | Amount paid | |
| paymentTxHash | Yes | Transaction hash of the payment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining side effects. It does disclose two important constraints (24-hour window and max open disputes) but does not describe what happens after opening, whether the action is reversible, or any prerequisites beyond the schema fields. This is a clear gap in behavioral 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 two sentences, with the action in the first sentence and constraints in the second. Every clause provides useful information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 8 parameters, no annotations, and no output schema, the description provides the key selection constraints but omits the post-submission behavior and return value. The complete parameter schema compensates partially, so it is adequate but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter already described, so the baseline is 3. The description adds no parameter-specific semantics but does not need to given the thorough 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 uses the specific verb 'Open' with the resource 'payment dispute for a tool,' clearly distinguishing it from sibling dispute lifecycle tools like marketplace_get_dispute and marketplace_escalate_dispute. It also adds concrete constraints that sharpen the tool's scope.
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 timing ('within 24 hours of payment') and a quota ('Maximum 3 open disputes per user'), giving the agent concrete conditions for when this action is permissible. However, it does not explicitly mention alternative actions like marketplace_report_tool or when not to use this tool, so no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_pause_toolB
Pause a tool to stop accepting new payments. Useful for maintenance.
| Name | Required | Description | Default |
|---|---|---|---|
| toolId | Yes | The tool ID to pause | |
| callerAddress | Yes | Your wallet address (must be owner) |
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 states the primary effect (stop accepting new payments) but does not mention side effects, reversibility, ownership requirements, or what happens to existing payments. This is minimal transparency for a state-changing 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 two short sentences with no wasted words. It front-loads the verb and resource, and the maintenance use case adds relevant context without padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two fully described parameters and no output schema, but it is a state-changing operation. The description does not cover important contextual details like reversibility, effects on existing payments, or preconditions beyond the owner requirement already in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already fully documents both parameters. The description adds no additional semantic context beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action (pause) and the resource (a tool) with an explicit outcome (stop accepting new payments). It is specific enough to distinguish from the activate_tool sibling, though it doesn't name the alternative directly.
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 'Useful for maintenance' provides a clear use case, implying when to use it. However, there is no explicit guidance on when not to use it or mention of the activate_tool as the complementary alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_rate_toolA
Rate a tool after using it. Ratings help other users find quality tools. You can only rate a tool once per week to prevent manipulation.
| Name | Required | Description | Default |
|---|---|---|---|
| rating | Yes | Rating from 1 to 5 stars | |
| review | No | Optional review text (max 500 chars) | |
| toolId | Yes | The tool ID to rate | |
| usageTxHash | No | Transaction hash of your tool usage (for verified rating) | |
| userAddress | Yes | Your wallet address |
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 weekly limit and the purpose of ratings, but omits details like whether the rating is on-chain, what happens after submission, or the role of the optional usageTxHash. Some useful behavioral context is present, 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?
Two sentences, front-loaded with the primary purpose, and no redundant information. Every word 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?
For a mutation tool with no annotations and no output schema, the description should explain moreโunspecified behavior after rating, verification requirements, or persistence. It covers the basic intent and a limitation, but leaves significant gaps for a new 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 100%, so the schema already documents all parameters. The description adds no additional parameter-specific information, matching the baseline for full 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 action (Rate) and the resource (a tool), with a specific context ('after using it'). It distinguishes from siblings by focusing on the rating action, though it does not explicitly name alternative 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?
Provides clear timing ('after using it') and a key constraint ('only rate once per week'). It does not mention alternatives or when not to use, but the context is sufficient for a rating tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_recent_eventsC
Get recent marketplace events (registrations, payments, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max events to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Get' implies a read-only operation, but there is no disclosure of ordering, time window, pagination, or what types of events are included beyond vague examples. No extra behavioral context is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with the verb and resource, and every word adds value. No redundancies or fluff.
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 one optional parameter and no output schema, but 'recent' is undefined and the description doesn't clarify the default behavior, event ordering, or how the limit interacts with recency. The examples are illustrative but not sufficient for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the 'limit' parameter described as 'Max events to return'. The description adds no additional parameter semantics beyond the examples, so the baseline 3 applies since the schema handles the 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 action ('Get') and resource ('recent marketplace events') with examples of event types (registrations, payments). It distinguishes from generic sibling 'get_recent_events' by the explicit 'marketplace' qualifier, though it doesn't 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?
No guidance on when to use this tool versus other marketplace tools or the generic 'get_recent_events'. The context implies use when needing marketplace event data, but no exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_recommendationsB
Get personalized tool recommendations based on user profile and usage history.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum recommendations to return | |
| userAddress | Yes | User wallet address |
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 fails to mention any side effects, required account state, authentication, or what data feeds the personalization (beyond the vague 'user profile and usage history'). This is particularly sparse for a tool that likely relies on platform usage data.
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 concise sentence that is front-loaded and communicates the core purpose without redundancy. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with two well-documented parameters and no output schema. The description communicates the intent adequately, but it lacks context on what constitutes a recommendation, how 'user profile and usage history' is derived, and what the response format looks like. This is a minimum-viable description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with userAddress and limit already documented. The description adds no additional meaning about parameters, so a baseline of 3 is appropriate; schema handles 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 specifies a clear verb ('Get') and resource ('personalized tool recommendations') with the basis ('user profile and usage history'). It is distinct from sibling marketplace tools like marketplace_search or marketplace_trending by emphasizing personalization.
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 guidance is provided on when to use this tool versus alternatives such as marketplace_discover_tools, marketplace_trending, or marketplace_similar_tools. The description implies personalization but does not state exclusions or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_register_toolB
Register a new AI tool in the decentralized marketplace. Define pricing, revenue splits, and make your tool discoverable to AI agents.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Unique tool identifier (e.g., 'weather-premium') | |
| tags | No | Tags for discovery | |
| price | Yes | Price per call in USD (e.g., '0.001') | |
| docsUrl | No | Documentation URL | |
| category | Yes | Tool category | |
| endpoint | Yes | API endpoint URL | |
| description | Yes | Tool description | |
| displayName | Yes | Human-readable display name | |
| ownerAddress | Yes | Tool owner wallet address | |
| revenueSplit | Yes | Revenue split configuration (must total 100%) | |
| acceptedTokens | No | Accepted payment tokens | |
| supportedChains | No | Supported blockchain networks |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It mentions defining pricing and revenue splits, but omits critical details such as whether registration is on-chain, requires wallet signing, is reversible, or incurs fees. It also does not state what happens after registration (e.g., tool becomes immediately discoverable) 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?
The description is two concise sentences, front-loaded with the primary action ('Register a new AI tool'). There is no filler or redundancy; every word contributes to the core purpose and key capabilities.
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?
This is a complex registration tool with 12 parameters, 8 required, no output schema, and no annotations. The description does not explain prerequisites, expected return values (e.g., tool ID or transaction hash), uniqueness constraints on the tool name, or validation rules like revenue splits summing to 100%. The schema provides parameter semantics but not tool-level context, making the description insufficient for a safe and 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?
Schema description coverage is 100%, so the schema already explains all parameters. The description adds only high-level context like 'define pricing, revenue splits' which repeats schema descriptions without adding syntax, constraints, or relationships between parameters (e.g., revenueSplit percentages must total 100%). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Register a new AI tool in the decentralized marketplace.' The verb 'register' and resource 'AI tool' are specific, and the mention of 'new' distinguishes this from sibling tools like marketplace_update_tool or marketplace_pause_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 usage for registering new tools by saying 'new AI tool,' but it does not explicitly state when not to use it or recommend alternatives like marketplace_update_tool for existing tools or marketplace_discover_tools for browsing. The context is helpful but lacks explicit exclusion or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_report_toolA
Report a tool for malicious behavior, scams, or violations. Reports are reviewed by the trust & safety team.
| Name | Required | Description | Default |
|---|---|---|---|
| toolId | Yes | The tool ID to report | |
| category | Yes | Report category | |
| evidence | No | Evidence URLs (screenshots, logs, etc.) | |
| severity | Yes | Severity of the issue | |
| description | Yes | Detailed description of the issue | |
| reporterAddress | Yes | Your wallet address |
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 adds the key fact that reports are reviewed by the trust & safety team, implying an asynchronous review process. This goes beyond the simple action and provides useful context, though it does not fully detail side effects or reversibility.
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, both concise and directly informative. The first sentence states the action and subject, the second adds the review process. There is no redundancy or irrelevant content; every word 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?
The description adequately covers the purpose and the review process, which is sufficient for a relatively simple reporting tool. It does not specify the output or confirmation, but given the tool's straightforward nature and the schema's completeness, the description is sufficiently complete for 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 input schema has 100% description coverage for all parameters, so the baseline is 3. The description adds no additional parameter-specific meaning beyond the schema; it only gives overall context. The schema already provides clear descriptions for toolId, evidence, severity, etc., so the description does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Report a tool') and the specific context ('for malicious behavior, scams, or violations'). This distinguishes it from sibling tools like marketplace_rate_tool (rate) and marketplace_open_dispute (dispute). It is specific and 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 clearly defines when to use this tool: when a tool exhibits malicious behavior, scams, or violations. It mentions that reports are reviewed by the trust & safety team, giving clear context. However, it does not explicitly mention alternatives or when NOT to use it, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_reputation_leaderboardB
Get the top tools by reputation score.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It does not mention any authentication requirements, rate limits, sorting order details, or response structure. It only states the basic function without additional 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 a single sentence with zero wasted words. It is front-loaded and directly states the action and result, making it highly 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?
For a simple tool with one optional parameter and no output schema, the description covers the essentials. It could be slightly more explicit about the sorting (descending reputation) or what 'reputation score' means, but it is sufficiently complete for typical usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the 'limit' parameter. The description itself adds no parameter-specific meaning, so it meets the baseline for a fully documented simple 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 returns the top tools by reputation score, using the specific verb 'Get' and a clear resource ('top tools by reputation score'). This distinguishes it from sibling tools like marketplace_tool_reputation (likely single tool) and marketplace_trending (different ranking criterion).
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 guidance is provided on when to use this tool versus alternatives such as marketplace_search, marketplace_trending, or marketplace_stats. The description gives no context about when a reputation leaderboard is preferred over other discovery mechanisms.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_revenue_forecastA
Predict future revenue using historical data and statistical models. Provides low/mid/high forecasts with confidence levels and trend analysis. Can forecast for a specific tool or the entire platform.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Forecast period in days (default: 30) | |
| toolId | No | Tool ID (omit for platform-wide forecast) |
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 output characteristics (low/mid/high forecasts, confidence levels, trend analysis) and scope, which is useful. However, it does not disclose limitations (e.g., dependence on sufficient historical data), exact confidence level semantics, or any side effects. Some behavioral context is provided but notable gaps remain.
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 a tight three sentences: front-loads the main purpose, then output details, then scope. No filler or redundant phrases; every sentence adds meaningful information. Ideal length 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?
Given the simple tool design (2 optional params, no output schema), the description is largely complete: it explains the core function, output categories, and scope. It could elaborate on confidence level interpretation and data prerequisites, but these are not critical for a basic forecast tool. Overall, it provides enough context for effective selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters, so the schema already documents days and toolId thoroughly. The description adds limited value: it repeats the toolId vs platform-wide distinction but does not mention the days parameter at all. Baseline 3 applies since the schema handles parameter semantics effectively.
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 specific language: 'Predict future revenue' with a clear resource (marketplace revenue) and method (historical data and statistical models). It distinguishes from sibling tools like marketplace_tool_revenue (actual revenue reporting) and predict_crypto_price (crypto price) by focusing on revenue forecasting. The scope (tool-specific vs platform-wide) is also clearly 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?
The description implies usage: use when you need future revenue projections for a tool or platform. However, it does not explicitly state when to use this over alternatives like marketplace_tool_revenue or marketplace_stats, nor does it mention exclusions or prerequisites. The usage context is clear but not well differentiated from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_revoke_api_keyA
Revoke an API key, permanently disabling its access.
| Name | Required | Description | Default |
|---|---|---|---|
| keyId | Yes | The key ID to revoke | |
| reason | No | Reason for revocation | |
| userAddress | Yes | Your wallet address (must be key owner) |
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 explicitly notes the permanent nature of the action ('permanently disabling its access'), which conveys irreversibility. However, it does not mention permissions beyond the schema's userAddress note, nor does it describe consequences like whether existing sessions/tokens are invalidated.
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 a single concise sentence that is front-loaded with the core action ('Revoke an API key') and includes the key detail ('permanently disabling its access'). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple revoke operation, the description covers the fundamental behavior but lacks contextual completeness. There is no mention of when to prefer this over marketplace_rotate_api_key, no guidance on the reason parameter's optionality, and no information about return values or output (though no output schema exists). The tool is understandable but leaves some 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 100%, so the baseline is 3. The description does not add any parameter-specific details beyond what is already in the schema; it only describes the action in general terms.
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: 'Revoke an API key, permanently disabling its access.' This specifies a distinct verb ('revoke') and resource ('API key'), and it differentiates from sibling tools like marketplace_rotate_api_key by emphasizing the permanent disabling of access.
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 guidance on when to use this tool versus alternatives such as marketplace_rotate_api_key or marketplace_pause_tool. It does not mention any prerequisites (e.g., ownership) or context for when revocation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_rotate_api_keyA
Rotate an API key for security. Creates a new key and the old key expires in 24 hours.
| Name | Required | Description | Default |
|---|---|---|---|
| keyId | Yes | The key ID to rotate | |
| userAddress | Yes | Your wallet address (must be key owner) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It does disclose the key side effectโnew key creation and 24-hour expiry of the old keyโwhich is valuable. Yet it omits details like whether the new key is returned, auth requirements beyond ownership (though schema mentions owner), and failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: two short sentences, zero wasted words. It states the action, reason, and the key behavioral outcome efficiently.
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 operation is a mutation with no output schema and no annotations. The description explains the expiry behavior but does not mention what is returned (e.g., the new API key), which is a critical gap for an agent to invoke and handle the response correctly. Given the simplicity, this missing return-value info makes it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The parameter descriptions already explain keyId and userAddress (including owner requirement). The tool description adds no extra meaning beyond the schema, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Rotate') and resource ('API key'), clarifying the action. It distinguishes from sibling tools like marketplace_create_api_key and marketplace_revoke_api_key by explaining the rotation semantics: creates a new key and expires the old one.
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 'for security' implies a purpose, and the behavior described (new key + 24h expiry) provides context. However, it does not explicitly state when to choose rotation over creating or revoking, nor does it give exclusions or alternative tool suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_searchA
Search the tool marketplace with full-text and optional semantic search. Supports fuzzy matching, filters, and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filter by tags | |
| chain | No | Filter by supported blockchain | |
| limit | No | Results per page | |
| query | Yes | Search query (natural language or keywords) | |
| offset | No | Pagination offset | |
| category | No | Filter by category | |
| maxPrice | No | Maximum price per call | |
| semantic | No | Enable semantic search for natural language queries | |
| minRating | No | Minimum rating filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It does mention key features (fuzzy matching, optional semantic search, filters, pagination), but it does not explain return format, sorting behavior, or whether semantic search has additional costs. As a read-only search tool, it omits some useful context but remains non-deceptive.
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 a single, front-loaded sentence that efficiently communicates the tool's core purpose and key features. No redundant words or 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?
The tool has 9 parameters, no output schema, and no annotations. The description covers the basic search capability but does not explain what the response contains (e.g., list of matching tools with scores), nor does it clarify the difference between full-text and semantic search. This leaves the agent with unanswered questions for effective invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds generic 'filters' and 'pagination' but does not map them to specific parameters. It also mentions 'fuzzy matching' which is not represented in the schema, potentially confusing. Overall, it adds little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Search') and resource ('tool marketplace'), clearly distinguishing it from sibling tools like marketplace_discover_tools or marketplace_get_tool. It also adds unique functionality (full-text, semantic search, fuzzy matching) that sets it 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?
The description clearly implies this tool is for searching the marketplace. However, it does not explicitly mention alternatives or exclusions, such as when to use marketplace_discover_tools instead. The context is clear but lacks formal when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_search_analyticsC
Get search analytics and insights for the marketplace (admin).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Analytics type | summary |
| period | No | Analytics period | 7d |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits itself. It only notes that the tool is for admin use, implying an access restriction, but says nothing about data returned, read-only nature, rate limits, or pagination. This is a significant gap for an analytics 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 a single focused sentence with no fluff. It gets straight to the point and earns its place by stating the core purpose.
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 sparse annotations, so the description should explain what insights are returned and how the parameters modify results. It does neither. It also fails to disambiguate from many sibling marketplace analytics tools, making it incomplete for an agent to select correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (type and period) with descriptive enums and defaults. The tool description adds no additional meaning about how these parameters affect results, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves search analytics and insights for the marketplace, specifying an admin context. However, it does not differentiate this tool from numerous sibling analytics tools (e.g., marketplace_analytics_overview, marketplace_stats, marketplace_creator_analytics).
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 guidance is provided on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or other marketplace analytics tools. The only hint is the admin qualifier, which is not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_set_rate_limitA
Set custom rate limit for an API key (tool owner only).
| Name | Required | Description | Default |
|---|---|---|---|
| keyId | Yes | The key ID to update | |
| rateLimit | Yes | New rate limit configuration | |
| userAddress | Yes | Your wallet address (must be key owner or tool owner) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey safety and side-effect information on its own. It discloses that the action requires tool-owner status, which is a meaningful behavioral constraint. However, it does not mention whether the operation overwrites an existing rate limit, is reversible, or what the return value indicates. The minimal disclosure is adequate for a straightforward setter but leaves important behavioral details undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that front-loads the action and includes a parenthetical permission constraint. No words are wasted, and the essential information is presented efficiently. It perfectly balances brevity with useful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has three parameters, a nested object, no output schema, and no annotations. The description fails to explain what happens on success (e.g., return value), common error conditions (e.g., invalid keyId, unauthorized), or whether the rate limit replaces or augments an existing limit. The contradictory ownership constraints between the description and schema further hinder completeness. For a mutating admin tool, this description is insufficient for an agent to anticipate outcomes.
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 detailed descriptions for all three parameters, including nested fields for rateLimit and the userAddress ownership requirement. Since schema coverage is 100%, the description doesn't need to add parameter meaning. However, there is an inconsistency: the tool description says 'tool owner only' while the userAddress description says 'must be key owner or tool owner'. This contradiction is not directly about parameter semantics but it does add confusion. Baseline score 3 applies because the schema carries full 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 โ setting a custom rate limit for an API key โ and distinguishes it from related tools like marketplace_check_rate_limit. It also adds a scope qualifier ('tool owner only') that identifies the intended audience. This is a specific verb+resource combination with clear differentiation from siblings.
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 precondition ('tool owner only'), which helps the agent decide if this tool is appropriate for the current user. It doesn't explicitly name alternatives like marketplace_check_rate_limit, but the context of 'setting' vs 'checking' is implicit. Therefore, it has clear context but lacks explicit exclusions or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_similar_toolsA
Find tools similar to a specific tool by ID. Uses content similarity and collaborative filtering.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of similar tools to return | |
| toolId | Yes | The tool ID to find similar tools for |
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 discloses the algorithmic approach (content similarity and collaborative filtering) but does not state whether it is read-only, what output format to expect, any rate limits, authentication requirements, or limitations. This is a significant gap for a tool with no annotation support.
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 and 22 words, with the primary action front-loaded in the first sentence and a concise note on the underlying method in the second. There is no redundant information or fluff, making it optimally concise.
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 lookup tool, the description is adequate, but it does not explain what the return data looks like (e.g., a list of tool objects, similarity scores, ordering) despite having no output schema. It would benefit from a sentence describing the result format or any edge cases, making it incomplete for a recommendation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both toolId and limit are described in the input schema), so the baseline is 3. The description does not add any parameter-specific meaning beyond what the schema already provides; the mention of the algorithm is about overall behavior, not parameter usage. The schema handles parameter documentation adequately.
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 (Find), the resource (tools), and the specific scope (similar to a specific tool by ID). It distinguishes from sibling tools like marketplace_discover_tools or marketplace_recommendations by focusing on similarity to a given tool, and the mention of content similarity and collaborative filtering adds further 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 usage when you have a specific tool ID and want similar tools, but it does not provide explicit guidance on when to use this tool versus alternatives like marketplace_tool_alternatives or marketplace_recommendations, nor does it mention when not to use it. The context is clear but not fully developed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_statsA
Get overall marketplace statistics including volume, tool counts, and top performers.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. The verb 'Get' implies a read-only operation, and listing the contents (volume, tool counts, top performers) gives some expectation of return data. However, it does not explicitly mention side effects, authentication needs, or that it is a read-only operation, which could be useful for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no filler. It efficiently communicates the core function and what data is included.
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 simplicity (0 parameters, no output schema), the description is reasonably complete. It states the main return categories, though it could be slightly more detailed about the exact shape of the response or if any authentication is required.
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 and the schema covers 100% (vacuously), so the baseline is 4. The description adds no parameter-specific meaning, but none is needed since there are no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: getting overall marketplace statistics. It specifies the resource (marketplace statistics) and lists key contents (volume, tool counts, top performers), making it easy to distinguish from more specific marketplace management and analytics 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 provides no explicit guidance on when to use this tool versus alternatives like marketplace_tool_revenue or marketplace_creator_analytics. The word 'overall' implies a high-level overview, but no exclusions or comparison to siblings are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_tool_alternativesB
Find cheaper or better-rated alternatives to a specific tool.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Type of alternatives | all |
| limit | No | Maximum alternatives to return | |
| toolId | Yes | The tool ID to find alternatives for |
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 only states the purpose, not behavioral traits such as read-only nature, side effects, rate limits, or return format. For a query tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, front-loaded with the action and resource. Extremely concise and easy to parse.
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 read-only tool, the description plus schema provide minimal viability. However, without an output schema, it would benefit from describing the returned alternatives and how the criteria interact; it is adequate but lacks richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning beyond the schema; it does not explain the enum semantics or limit constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Find' and identifies the resource 'alternatives to a specific tool' with criteria (cheaper or better-rated). It distinguishes from marketplace discovery/search tools by focusing on comparative alternatives, though it omits the 'similar' and 'all' enum types from 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?
No guidance is given on when to use this tool versus sibling tools like marketplace_similar_tools, marketplace_compare_tools, or marketplace_discover_tools. It lacks context for selection and does not mention exclusions or substitutes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_tool_insightsB
Get deep insights for a specific tool including detailed revenue breakdown, usage patterns by hour and day, user metrics, performance data, and actionable recommendations for improvement.
| Name | Required | Description | Default |
|---|---|---|---|
| toolId | Yes | The tool ID to analyze | |
| periodDays | No | Time period in days (default: 30) |
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 it does disclose the output categories (revenue breakdown, usage patterns, user metrics, performance data, recommendations), which is meaningful behavioral context. However, it omits whether the tool is strictly read-only, whether the caller must own the tool, auth/permission requirements, or error behaviorโimportant gaps for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single ~30-word sentence that is front-loaded with the core action and resource, then enumerates the insight categories efficiently. Every clause adds information without redundancy or 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 2-param tool with no output schema and no annotations, the description compensates partially by listing the expected output categories. Yet it fails to clarify scope (own tools vs. any tool), how it differs from overlapping siblings, or what 'actionable recommendations' are based on, leaving the agent with unresolved ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both toolId and periodDays clearly documented (including default, min, and max). The description adds no parameter-specific meaning beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('deep insights for a specific tool') and enumerates what's included (revenue breakdown, usage patterns, user metrics, performance, recommendations), making the purpose specific and understandable. However, it does not explicitly distinguish itself from nearby siblings like marketplace_tool_revenue, marketplace_usage_heatmap, or marketplace_analytics_overview, which could overlap significantly.
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 guidance is given on when to use this tool versus alternatives. With many marketplace analytics siblings (marketplace_tool_revenue, marketplace_creator_dashboard, marketplace_analytics_overview, marketplace_usage_heatmap), the description provides zero exclusions, prerequisites, or alternative recommendations, leaving the agent to guess which tool fits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_tool_reputationB
Get the complete trust and reputation information for a tool, including ratings, uptime, verification status, and earned badges.
| Name | Required | Description | Default |
|---|---|---|---|
| toolId | Yes | The tool ID to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of behavioral disclosure. It does not state whether the operation is read-only (though 'Get' implies it), whether results are cached or live, or any potential side effects or authentication requirements. While listing the data components gives some transparency, it lacks critical behavioral context expected without 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 a single, focused sentence that front-loads the core action and resource, then efficiently lists the included data categories. There is no redundant information or filler, making it appropriately concise.
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 is relatively simple with one parameter and no output schema, and the description does list the key result components. However, it lacks context on how this tool relates to nearby marketplace tools, and with no output schema, the agent does not learn the response structure beyond the listed fields. This leaves moderate gaps, making the description minimally viable but not comprehensive.
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 already provides a 100% description of the only parameter (toolId: 'The tool ID to check'). The tool description adds no further meaning, such as the expected format of a tool ID or where to obtain it. With full schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with the specific verb 'Get' and the resource 'complete trust and reputation information for a tool', enumerating the included data (ratings, uptime, verification status, earned badges). This distinguishes it from sibling tools like marketplace_get_tool or marketplace_tool_revenue, which focus on generic details or revenue respectively.
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 guidance on when to use this tool instead of related marketplace tools such as marketplace_get_tool, marketplace_tool_insights, or marketplace_reputation_leaderboard. It does not mention any exclusions, prerequisites, or preferred use cases, leaving the agent without direction on alternative selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_tool_revenueB
Get revenue information for a tool including weekly/monthly stats and pending payouts.
| Name | Required | Description | Default |
|---|---|---|---|
| toolId | Yes | Tool ID to check revenue for |
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 of behavioral disclosure. It only states that it returns revenue information, but does not mention read-only nature, response format, pagination, caching, permissions, or other operational traits. The minimal disclosure is not sufficient for a tool with no annotation safety net.
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 a single, front-loaded sentence that clearly conveys the tool's purpose without any wasted words. It is appropriately concise for the complexity of the operation.
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 is simple, with one parameter and no output schema. The description covers the core function but does not describe the expected response structure or clarify any edge cases. Given the low complexity, it is adequate but not comprehensive.
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 has 100% description coverage for the single parameter (toolId), with a clear description. The tool description does not add any extra meaning or syntax details beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets revenue information for a specific tool, mentioning weekly/monthly stats and pending payouts. It uses a specific verb+resource and distinguishes itself from sibling marketplace tools by the specific data it provides.
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 guidance is provided on when to use this tool versus alternatives. Given the large number of marketplace-related sibling tools (e.g., marketplace_creator_analytics, marketplace_tool_insights), there is no explanation of scenarios where this tool is preferred or not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_trendingC
Get trending, hot, new, and featured tools in the marketplace.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Type of trending list | all |
| limit | No | Maximum items to return | |
| period | No | Time period for trending | 7d |
| category | No | Filter by category |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It only indicates a read operation ('Get') but provides no details about default sorting, pagination, rate limits, or how the 'all' type behaves. This leaves significant 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 a single concise sentence that conveys the core purpose without unnecessary words. It is front-loaded with the action and resource, making it easy to parse quickly.
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 absence of an output schema and annotations, the description is too sparse to fully inform an agent. It does not explain return values, default behaviors (e.g., period='7d', limit=10), or how to filter by category, leaving the agent to discover these from the schema or trial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for all four parameters, so the baseline is 3. The description adds no parameter-specific meaning, but the schema already documents each parameter (type, limit, period, category) with enums and defaults, making the description's lack of param details acceptable.
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 retrieves trending, hot, new, and featured tools from the marketplace, using a specific verb and resource. However, it does not explicitly distinguish itself from sibling tools like marketplace_discover_tools or marketplace_search, though the listed categories narrow the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. It only implies usage through the mention of trending/hot/new/featured lists, which is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_unblock_userA
Remove a user from the blocklist (tool owner only).
| Name | Required | Description | Default |
|---|---|---|---|
| entryId | Yes | The blocklist entry ID to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only states the action and an ownership requirement. It does not mention whether removal is reversible, what happens to the user's access, any permissions beyond ownership, or side effects. This is a significant gap for a mutation 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 a single, focused sentence that immediately states the action and a key restriction. There is no fluff or repetition. Every part of the sentence earns its place, and the structure is ideal for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has low complexity (one parameter, no output schema) and the schema covers the parameter fully. However, the description omits any explanation of how entryId is obtained, what an unblocked user gains, or any follow-up information. It is minimally viable but lacks helpful context that would be expected for a lifecycle action like unblocking.
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 covers the only parameter, entryId, with the description 'The blocklist entry ID to remove'. The tool description itself adds no additional parameter information. Since schema coverage is 100%, the baseline score of 3 applies; the description does not need to compensate, but it also provides no extra 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 clearly states the action: 'Remove a user from the blocklist'. It identifies the resource (user/blocklist) and the verb (remove), making it easy to distinguish from siblings like marketplace_block_user which adds to the blocklist. The parenthetical '(tool owner only)' adds an important scope restriction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives such as marketplace_block_user or marketplace_allowlist_user. The 'tool owner only' restriction provides some context about authorization, but there is no statement about prerequisites, conditions for unblocking, or contrast with related tools. Usage is implied by the tool's name and description rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_update_toolA
Update an existing tool's settings (pricing, description, etc.). Only the tool owner can update.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | New tags | |
| price | No | New price per call | |
| toolId | Yes | The tool ID to update | |
| docsUrl | No | New documentation URL | |
| description | No | New description | |
| displayName | No | New display name | |
| callerAddress | Yes | Your wallet address (must be owner) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It adds the ownership restriction and implies a mutation, but does not mention update semantics (e.g., partial vs full replacement), consequences of non-ownership, or any irreversibility. This is minimal but not misleading.
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 concise sentences; the verb and resource are front-loaded, the ownership condition adds important context, and there is no wasted wording. Everything present 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?
Despite the schema covering parameters, the description omits critical behavioral details such as whether omitted fields are left unchanged, error behavior if the tool doesn't exist or caller isn't owner, and what the response contains. For a mutation tool with 7 optional fields and no output schema, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented. The description's mention of 'pricing, description' maps to two params but adds no extra meaning beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Update' with a clear resource 'existing tool's settings' and examples like 'pricing, description'. It distinguishes this tool from sibling marketplace_* tools (e.g., register, pause, activate) by indicating this is for modifying existing tools. The ownership condition 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 clear context by stating 'Only the tool owner can update', which implies when this tool is applicable. However, it does not explicitly name alternatives or exclusions (e.g., 'for registration use marketplace_register_tool'), but the ownership requirement gives a distinct usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_usage_heatmapA
Get a heatmap showing when tools are used most frequently by day of week and hour of day. Helps identify peak usage times for capacity planning, maintenance windows, and understanding user behavior.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Days of data to include (default: 7) | |
| toolId | Yes | The tool ID to analyze |
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 of behavioral disclosure. It explains the output conceptually (a heatmap of usage frequency) but does not specify details like timezone, data granularity, or whether the heatmap is returned as an image or structured data. This is adequate but not rich.
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 long: the first states the core function, the second provides application context. No wasted words, front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple tool with 2 parameters and no output schema, the description adequately covers the tool's purpose and use cases. It does not explain the output format or parameter interplay (e.g., how 'days' affects the heatmap), but this is not a critical gap for an agent deciding to 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?
The schema already provides full descriptions for both parameters (days and toolId) with 100% coverage. The description adds no additional parameter-specific meaning beyond implying the toolId is the focus of analysis, so it meets the baseline for schema-heavy tools.
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 with a specific verb ('Get a heatmap') and resource (tool usage frequency by day/hour). This distinguishes it from sibling marketplace tools like marketplace_usage_history or marketplace_recent_events, which may provide similar data but not in heatmap form.
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 practical use cases ('capacity planning, maintenance windows, understanding user behavior'), giving clear context for when to invoke this tool. It does not name alternatives or exclusions, but the use-case guidance is specific enough for an agent to choose this tool over generic analytics tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_usage_historyC
Get usage history for a tool or user.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max records to return | |
| toolId | No | Tool ID to get history for | |
| userAddress | No | User address to get history for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does not mention pagination, result format, ordering, time range, or any caveats beyond the basic action. This is a significant gap for a query tool that likely returns a list of records.
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 a single sentence with no wasted words. It is appropriately terse for a simple tool and front-loads the key action and resource.
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 output schema and no annotations, the description is incomplete. It doesn't describe the return value structure, pagination behavior, or usage context among many similar marketplace analytics tools. The agent would be uncertain whether to use this vs marketplace_key_usage or marketplace_usage_heatmap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents all parameters. The description adds minimal semantic context by stating 'for a tool or user', which loosely maps to toolId and userAddress, but doesn't clarify whether either is required or how they interact. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('usage history'), specifying the scope 'for a tool or user'. This distinguishes it from many siblings, though it doesn't explicitly mention the marketplace context or differentiate from similar analytics tools like marketplace_key_usage.
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 guidance is provided on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description implies you can filter by tool or user but doesn't explain how to choose between the available parameters or what to do when both are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_verify_toolA
Request verification for a tool. This triggers endpoint, schema, and security checks. Verified tools get the โ badge and appear higher in search results.
| Name | Required | Description | Default |
|---|---|---|---|
| schema | No | API schema to register (JSON) | |
| toolId | Yes | The tool ID to verify | |
| schemaType | No | Type of API schema | |
| callerAddress | Yes | Your wallet address (must be owner) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It does disclose that the tool triggers endpoint, schema, and security checks and states the positive outcome (badge, search ranking). However, it does not mention whether the operation is asynchronous, if it is a write/mutation, any authentication/ownership requirements beyond the schema, or possible failure modes, which are important for a state-changing 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 three sentences, with each earning its place: purpose, mechanism, and outcome. There is no fluff or redundant information, and it is front-loaded with the core purpose in the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description provides a reasonable overview but misses key contextual details such as prerequisite actions (e.g., registration, ownership), expected response or next steps after requesting verification, and any side effects or reversibility. It is adequate for a simple tool 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?
The input schema provides 100% description coverage for all four parameters, so the schema already explains each parameter. The description adds relevant context by mentioning that schema checks are part of verification, which indirectly ties to the 'schema' and 'schemaType' parameters, but it does not add concrete parameter-level guidance beyond what the schema already 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 specific verb+resource: 'Request verification for a tool.' It further clarifies scope by naming the checks (endpoint, schema, security) and the result (badge, better search ranking). This clearly distinguishes it from siblings like marketplace_register_tool or marketplace_update_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 the tool is used when you want a tool verified, but it does not provide explicit guidance on prerequisites (e.g., tool must be registered first, must be the owner) or when not to use it. It also does not mention alternatives, so the user is left to infer the appropriate context from the description and sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_get_access_keysA
Get all access keys for an account
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The Near account ID |
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 not disclose return format, pagination behavior, permission requirements, or whether this is a read-only operation. The description is too minimal to convey meaningful behavioral context beyond the obvious read intent.
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 a single concise sentence with no filler, front-loading the action and object. It earns full marks for efficiency.
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 is simple (one parameter, no output schema), but the description lacks any hint about what the response contains or whether results are limited. For a basic getter this is minimally viable, but richer context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description ('The Near account ID') for the single parameter. The tool description adds no further semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('access keys'), and scopes it to an account. It clearly distinguishes from sibling Near tools like near_get_balance and near_get_account, which retrieve different 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 by naming the exact data returned (access keys for an account), but provides no explicit when-to-use or exclusion guidance relative to other Near tools. There is no mention of alternatives or contexts where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_get_accountC
Get detailed account information
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The Near account ID |
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 only states that it retrieves account information, but does not describe what fields are returned, whether it returns raw JSON or a structured object, or error behavior for nonexistent accounts. The term 'detailed' hints at comprehensiveness without specifics.
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 a single, concise sentence with no filler. It is front-loaded with the action and resource. However, it is borderline under-specified rather than merely concise, so it doesn't reach a 5.
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 lack of an output schema, the description should explain what 'detailed account information' includes (e.g., balance, storage usage, locked tokens) or at least indicate the NEAR-specific nature. The current description is too thin for an agent to confidently invoke the tool and 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 has 100% coverage for the single parameter 'accountId' with a description ('The Near account ID'). The tool description adds no additional semantic context about the parameter, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get detailed account information' uses a clear verb ('Get') and resource ('account information'), and adds the qualifier 'detailed' to suggest a comprehensive lookup. It doesn't explicitly differentiate among sibling tools like near_get_balance or near_get_access_keys, but it's understandable as a general account data fetcher.
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 guidance is provided about when to use this tool versus alternatives. It does not mention whether it's better suited for full account snapshots, whether it should be used with other NEAR tools, or any prerequisites such as the account existing on-chain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_get_balanceA
Get NEAR token balance for an account
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | The Near account ID (e.g., example.near) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states the operation is reading a balance, but fails to specify the return unit (e.g., NEAR vs yoctoNEAR) or behavior for invalid accounts. This is a significant transparency gap for a balance query.
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 a single, front-loaded sentence with no filler. It efficiently conveys the tool's purpose.
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 tool is simple with one parameter and no output schema, the description omits important contextual details like the unit of the returned balance and edge-case behavior. For a balance tool, this is incomplete.
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 fully documents the sole parameter accountId with a description and example. The description adds no additional parameter semantics, but schema coverage is 100%, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and the resource 'NEAR token balance for an account', clearly distinguishing it from other balance tools like aptos_get_balance or bitcoin_get_balance. It precisely names the network and asset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving NEAR balance but provides no explicit guidance on when to use it versus alternative tools, nor any exclusions or prerequisites. The context is clear but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_get_blockC
Get block information
| Name | Required | Description | Default |
|---|---|---|---|
| blockId | No | Block hash or height (omit for latest) |
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 only states a generic read operation and does not disclose whether transactions are included, how errors are handled, or what the response contains, which is a significant gap even for a read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and front-loaded, containing no wasted words. However, it is so minimal that it borders on under-specification, offering no useful context beyond a generic phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the well-documented parameter, the description omits what 'block information' includes (header, transactions, etc.), lacks any output expectations, and does not explain how this tool relates to other block-related siblings. This makes it incomplete for an agent deciding whether to 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?
The schema already provides full documentation for the single blockId parameter with type and description ('Block hash or height (omit for latest)'). The description adds no parameter-level information beyond this, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get block information' clearly states a specific verb and resource, and the tool name near_get_block identifies the Near blockchain. However, it doesn't distinguish this from generic block getters on other networks or sibling tools like get_latest_block/get_block_by_hash.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no mention of situations like fetching by hash versus height, and no exclusions. The optional blockId behavior is only implied by the schema, not explained in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_get_contract_stateA
Get all state keys/values for a contract
| Name | Required | Description | Default |
|---|---|---|---|
| prefix | No | Key prefix to filter | |
| contractId | Yes | The contract account ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral transparency burden. 'Get all state keys/values' clearly indicates a read operation and broad scope, but it does not disclose potential large-response limitations, pagination, or that the optional prefix can reduce the result set. It adds basic transparency but lacks richer detail expected when annotations are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single eight-word sentence that front-loads the verb and resource. There is no redundancy or filler; every word contributes to understanding the tool's purpose.
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 read-only tool, the description and schema together provide enough information to invoke it correctly. It could mention return format or warn about potentially large 'all state' responses, but the low complexity and clear 'keys/values' phrasing make it largely 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?
The input schema fully describes both parameters: contractId is 'The contract account ID' and prefix is 'Key prefix to filter'. With 100% schema coverage, the description does not need to add parameter semantics, and the phrase 'all state keys/values' aligns with the default empty prefix. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and identifies a clear resource ('all state keys/values for a contract'). 'All state' distinguishes this from sibling tools like near_view_function, which reads individual contract functions, and near_get_balance, which reads a specific account balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as near_view_function or near_get_access_keys. There are no exclusions, prerequisites, or contextual hints beyond the action itself. Usage context must be inferred from the tool name and general knowledge of blockchain state.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_get_gas_priceB
Get current gas price
| Name | Required | Description | Default |
|---|---|---|---|
| blockId | No | Block hash (omit for latest) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only says 'Get current gas price.' It does not mention that blockId is optional, what units the gas price is in, or any other behavioral traits like potential rate limits or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with zero wasted words. It is appropriately sized for a simple getter tool and front-loads the core purpose immediately.
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 trivial getter with one optional parameter and no output schema, the description is minimally adequate. It conveys the primary function, but lacks context about return values or the meaning of 'current' beyond the schema's blockId hint.
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 already provides a clear description for the only parameter (blockId), achieving 100% coverage. The description adds nothing extra about the parameter, so it meets the baseline for high 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 'Get current gas price' clearly states the action and resource with a specific verb. It is unambiguous, though it does not explicitly mention the NEAR chain, relying on the tool name for 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?
No guidance is provided on when to use this tool versus alternatives like sui_get_gas_price or aptos_estimate_gas. There are no prerequisites, exclusions, or alternative tool recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_get_network_infoB
Get network status and connected peers
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It only states the action without mentioning any implications such as read-only nature, data freshness, or response structure. For a network status tool, this is minimal but not misleading.
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 a single concise phrase, front-loaded with the action. Every word adds value, and there is no fluff 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?
Given the low complexity (zero parameters) and lack of output schema, the description gives a basic understanding but does not specify return values or fields. It is minimally sufficient but leaves gaps about what 'network status' includes.
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 an empty object with no parameters, so there is nothing to describe. The baseline for zero parameters is 4; the description doesn't need to compensate for missing parameter information.
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 ('Get') and resource ('network status and connected peers'), clearly indicating the tool's function. It doesn't explicitly mention the NEAR chain or distinguish from similar network info tools in the sibling list, but the name provides that context.
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 guidance is provided on when to use this tool versus alternatives like bitcoin_get_network_info or ton_get_network_info. The description gives no context about appropriate use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_get_transactionB
Get transaction details by hash
| Name | Required | Description | Default |
|---|---|---|---|
| txHash | Yes | The transaction hash | |
| senderAccountId | Yes | The sender account ID |
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 of behavioral disclosure. While 'Get' implies a read-only operation, the description does not explicitly state safety, failure behavior (e.g., not found), or any side effects. It lacks detail on what 'details' includes or any edge cases.
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 a single, five-word sentence that is concise and front-loaded. Every word adds value, with no redundant filler or verbose explanation.
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 is a simple getter with a clear input schema, but there is no output schema or additional context about return values or error cases. The description is minimally viableโit tells the agent what the tool does, but it does not elaborate on the transaction details format or any special behavior, leaving some ambiguity for a moderately complex chain (NEAR).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters (txHash and senderAccountId) already documented. The description adds little beyond the schemaโ'by hash' restates txHash's description and does not explain why senderAccountId is required or how it relates to the hash. Thus, it meets but does not exceed the baseline.
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 ('Get'), the resource ('transaction details'), and the key lookup criterion ('by hash'). This distinguishes it from sibling tools like near_get_balance or near_view_function, and the chain is evident from the tool 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?
No guidance is provided on when to use this tool versus alternatives such as near_get_block, near_get_access_keys, or near_view_function. There is no mention of prerequisites, exclusions, or scenarios where another tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_get_validatorsB
Get information about current validators
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 only says 'Get information', implying a read operation, but discloses nothing about the nature of the data, response shape, current validator set semantics, or any potential caveats. This is minimal transparency, slightly better than a tautology but still lacking substance.
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 a single, short sentence that is front-loaded and contains no filler. Every word earns its place, and as a one-liner, it is appropriately sized for the tool's simplicity.
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 parameters, no annotations, and no output schema, placing the burden on the description to convey what the agent can expect. The phrase 'information about current validators' is minimally viable but vague about the returned data structure or fields. It gives an agent enough to infer a read operation, but not enough to predict the exact output, making it a 3.
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?
There are zero parameters, so the baseline is 4. The schema is empty and the description needs to explain any parameter details, which is unnecessary. The description adds no parameter semantics because there are none to describe.
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 ('Get information') and the resource ('current validators'), and the 'near' prefix in the tool name provides chain context. However, it doesn't distinguish this from sibling validator tools like sui_get_validators or cosmos_get_validators beyond the name, so it's clear but not fully differentiating.
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 guidance on when to use this tool versus alternatives, no use case context, and no exclusions. It simply states what it does without any hint about scenarios or prerequisites, offering 'no guidance' per the rubric.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_view_functionB
Call a view method on a contract (read-only)
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Arguments as JSON object | |
| contractId | Yes | The contract account ID | |
| methodName | Yes | The method name to call |
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 key read-only nature, which is useful, but omits other behavioral details such as whether execution happens off-chain, whether gas is charged, or how errors are surfaced. This is minimal but 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 a single, front-loaded sentence that conveys both the core action and the read-only safety characteristic without unnecessary filler. It is appropriately concise.
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 schema fully documents the input parameters, and the description covers the fundamental purpose and safety trait. However, it lacks usage context, return-value expectations, and a clear distinction from similar view tools, leaving the description somewhat thin but still functional.
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 already have descriptive schema entries (contractId, methodName, args), yielding 100% schema description coverage. The prose description adds no parameter-level meaning, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action as 'Call a view method on a contract' and adds the read-only qualifier, which distinguishes it from write/state-changing tools. However, it does not explicitly differentiate itself from the similarly named aptos_view_function apart from the tool name itself.
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 guidance is given on when to use this tool versus alternatives, nor are any exclusions or prerequisites mentioned. The read-only hint is helpful but does not explain when a view call is appropriate compared to other contract-interaction tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
number_to_hexA
Convert a decimal number to a hex string
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | The decimal number to convert |
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 only states the basic conversion and omits key traits such as whether the output includes a '0x' prefix, how negative numbers or non-integers are handled, and what the function does with invalid input. This is a significant gap even for a simple utility.
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 a single, front-loaded sentence with no waste. It conveys the core purpose efficiently, which is appropriately sized for a simple utility.
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 is simple with one parameter and no output schema. The description states the basic conversion and return type, but it leaves out exact output formatting (e.g., whether '0x' is included) and input constraints. Given the absence of annotations and output schema, this is a moderate completeness 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?
The input schema provides 100% coverage of the parameter with the description 'The decimal number to convert'. The tool description does not add extra meaning beyond this, but the baseline of 3 is appropriate since the schema adequately documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Convert') and clearly states the transformation from 'decimal number' to 'hex string', which fully defines the tool's purpose. It also distinguishes itself from the sibling tool 'hex_to_number' by specifying the conversion direction.
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 its use case by naming the conversion, but it does not explicitly mention alternatives or when not to use it. The sibling 'hex_to_number' performs the reverse operation, yet no guidance is given on choosing between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pad_hexA
Pad a hex value to a specific byte size (for ABI encoding)
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | The hex string to pad | |
| size | No | Target size in bytes (default: 32) | |
| direction | No | Padding direction | left |
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 of behavioral disclosure. It only states 'pad' without detailing whether it left-pads by default (though the schema says default left), what occurs if the hex is longer than the target size, or how '0x' prefixes are handled. These are important behavioral gaps for a utility that may be used programmatically.
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 a single sentence with no filler, immediately stating the operation and purpose. It is front-loaded 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?
For a simple utility with fully documented parameters, the description is adequate but missing details about the return format and edge cases. Since there is no output schema and no annotations, the description could have been more complete, but it covers the core operation sufficiently.
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 descriptions cover all three parameters (hex, size, direction) at 100%, so the baseline is 3. The description adds no extra parameter-level meaning beyond the context of ABI encoding, which does not directly clarify parameter 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 uses a specific verb 'pad' and a resource 'hex value', clearly indicating the operation and its purpose ('for ABI encoding'). This distinguishes it from sibling hex tools like concat_hex or slice_hex, which have different 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 phrase 'for ABI encoding' provides clear context for when to use this tool. It does not explicitly list alternatives or exclusions, but the stated use case strongly implies the intended scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_unitsB
Convert a human-readable value to its smallest unit (e.g., ETH to wei)
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | Human-readable value (e.g., '1.5') | |
| decimals | No | Number of decimals (18 for ETH, 6 for USDC) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It only states the conversion and gives an example, but it does not disclose the return format (e.g., string vs. number), rounding or precision handling, or error behavior for invalid inputs. This leaves critical operational details undocumented for an AI agent.
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 a single sentence that immediately states the action ('Convert a human-readable value to its smallest unit') and includes a clarifying example. It is concise, front-loaded, and contains no fluff or redundant content, making it easy to parse at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description provides only the core purpose and an example. It does not specify the return format or any constraints (e.g., integer requirement for decimals, range limits). For a simple conversion tool this is partially sufficient, but an agent would benefit from additional details about the output representation and edge cases.
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 already provides clear descriptions for both parameters: 'value' as a human-readable string and 'decimals' with examples (18 for ETH, 6 for USDC). The description adds only an illustrative example (ETH to wei) that reinforces the decimals concept but provides no additional syntax or edge-case detail. With 100% schema coverage, the schema carries the semantic weight, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Convert' and identifies the resource as 'a human-readable value to its smallest unit,' with the clarifying example 'ETH to wei.' This clearly explains the tool's purpose and direction, distinguishing it from the reverse operation performed by the sibling tool 'format_units,' though it does not explicitly name that alternative.
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 does not provide explicit guidance on when to use this tool versus alternatives. It neither mentions the reverse operation (e.g., using 'format_units' for the opposite direction) nor any exclusions or prerequisites. The example 'ETH to wei' implies a use case, but there is no comparative guidance to help an agent decide between this and related conversion tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_add_manual_holdingA
Add a manual holding (for CEX accounts, cold storage, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount held | |
| source | Yes | Source description (e.g., 'Coinbase', 'Cold Storage') | |
| symbol | Yes | Asset symbol (e.g., BTC, ETH) | |
| portfolioId | Yes | Portfolio ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It only says 'Add', which implies mutation, but provides no details about immutability, side effects, uniqueness constraints, or required prerequisites (e.g., that the portfolio must already exist). This is insufficient for a write operation.
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 a single, front-loaded sentence that directly states the action and context. Every word earns its place, with no unnecessary fluff. It is a model of conciseness for a simple 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?
Given the tool's moderate complexity (4 required parameters) and the absence of an output schema, the description is minimal but does convey the essence. However, it does not address what happens after the holding is added (e.g., return value, effect on portfolio summary) or any prerequisites, so it is only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all four parameters with descriptions, and the tool description does not add extra semantic meaning beyond the schema. Since schema coverage is 100%, the baseline of 3 applies; the description doesn't compensate further but doesn't need to.
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 ('Add') and a clear resource ('manual holding') with illustrative examples ('CEX accounts, cold storage') that immediately convey the tool's scope. This distinguishes it from related tools like portfolio_add_wallet, which presumably adds wallet-based holdings.
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 this tool (for CEX accounts, cold storage, etc.), implying it is the alternative to wallet-based additions. However, it does not explicitly name sibling alternatives or state when NOT to use it, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_add_walletC
Add a wallet address to a portfolio
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Blockchain network | |
| label | No | Optional label for the wallet | |
| address | Yes | Wallet address | |
| portfolioId | Yes | Portfolio ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavior. It only states 'Add', which implies mutation, but does not mention edge cases (e.g., duplicate address handling, validation, whether the operation is reversible). This is insufficient for a mutation 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?
Single sentence with no redundant content. The tool name and description align, and the 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?
For a mutation tool with no annotations and no output schema, the description is minimal. It lacks guidance on errors, idempotency, or side effects, making it incomplete for a new agent to use safely.
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 describes all 4 parameters with basic descriptions, and coverage is 100%. The description adds no additional meaning; baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add') and resource ('wallet address to a portfolio'). It is distinguishable from related siblings like portfolio_remove_wallet and portfolio_add_manual_holding by the action and object, though it does not 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?
No information about when to use this tool versus related tools such as portfolio_add_manual_holding or portfolio_create. No prerequisites or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_createC
Create a new portfolio to track wallets
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the portfolio | |
| portfolioId | Yes | Unique identifier for the portfolio |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It only says 'create,' but does not mention whether creating with an existing portfolioId fails or overwrites, any validation rules, or side effects. This is a significant gap for a mutating 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 a single concise sentence that is front-loaded with the verb and resource. No unnecessary words 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?
The tool has no output schema and no annotations, yet the description only covers what it does, not what it returns or error conditions. For a create operation, it should at least hint at the response or idempotency behavior, which is missing. Simple as the tool is, the description is under-specified for an agent to fully anticipate outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters have descriptive text in the schema. The description adds no additional parameter semantics, so the baseline of 3 is appropriate. It does not clarify constraints like uniqueness or format beyond what the schema already provides.
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 ('Create') and resource ('portfolio'), with a purpose ('to track wallets'). It is specific and not a tautology. It distinguishes from siblings like portfolio_add_wallet by focusing on creation, though it does not explicitly contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like portfolio_add_wallet or portfolio_delete. There is no mention of preconditions (e.g., this should be called before adding wallets) or situations where this tool would be inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_deleteC
Delete a portfolio
| Name | Required | Description | Default |
|---|---|---|---|
| portfolioId | Yes | Portfolio ID to delete |
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 states the destructive action ('delete') but does not disclose whether deletion is permanent, irreversible, or cascades to associated data (e.g., wallets, holdings). No side effects, confirmation behavior, or failure modes are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundant words. It communicates the core function in the most efficient way possible, earning a high score for conciseness.
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?
Even though the tool is simple with only one parameter, the description omits critical operational details for a destructive action: whether the deletion is permanent, what the response/confirmation looks like, and whether there are any side effects. There is no output schema or annotations to compensate for these 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?
The schema provides 100% coverage: the only parameter, portfolioId, is described as 'Portfolio ID to delete'. The description adds no extra parameter semantics, but since the schema already documents this fully, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a portfolio' clearly states the action and resource, making its purpose immediately understandable. It distinguishes itself from sibling operations like portfolio_create or portfolio_remove_wallet by using 'delete' rather than 'create' or 'remove'. However, it is minimal and does not elaborate on what 'portfolio' deletion entails (e.g., deleting the entire portfolio vs. just removing a wallet).
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 guidance is provided on when to use this tool versus alternatives like portfolio_remove_wallet or portfolio_clear_all. There are no prerequisites, exclusions, or context hints. The intended usage is only implied by the verb 'delete'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_exportC
Export portfolio data as JSON
| Name | Required | Description | Default |
|---|---|---|---|
| portfolioId | Yes | Portfolio ID |
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, but it only says 'export portfolio data as JSON' without detailing whether this is a read-only operation, how the data is returned (e.g., file vs. response body), or any authentication or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant words, making it highly efficient. It is front-loaded and easy to parse.
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 is simple with one parameter, but the description is incomplete given the lack of annotations and output schema. It fails to explain what 'export' entails, what data is included, or when to use it compared to other portfolio tools, leaving significant 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?
The input schema fully describes the single parameter portfolioId, and the description adds no additional meaning. Since schema coverage is 100%, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (export), the resource (portfolio data), and the output format (JSON). It does not explicitly differentiate from sibling tools like portfolio_list or portfolio_get_summary, but the verb 'export' implies a distinct data export action.
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 guidance is provided on when to use this tool versus alternatives, nor any prerequisites or context such as the need for a portfolioId. The description lacks any usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_get_performanceC
Get portfolio performance over time
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Time period | 7d |
| portfolioId | Yes | Portfolio ID |
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 implies a read-only operation through 'Get' but does not state whether it is safe, what data is returned, whether a portfolio must already exist, or any other behavioral traits. This is a significant gap for a 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 a single, clear sentence that gets to the point without extra words. It is appropriately sized for a simple getter, though it lacks any structured breakdown or expanded explanation that could aid an agent.
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 fails to explain what the returned performance data looks like, how the 'period' parameter affects the output, or how this tool differs from siblings like portfolio_get_summary. The description is too thin to be fully complete for an agent selecting among many similar portfolio 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 100% since both parameters are described. The baseline is therefore 3. The description adds no additional parameter semantics beyond what the schema provides, but the schema already documents 'portfolioId' and 'period' with an enum for period.
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 ('Get') and resource ('portfolio performance') with a time dimension ('over time'). However, it does not distinguish itself from sibling tools like portfolio_get_summary or calculate_portfolio_allocation, so it lacks 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 provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or comparisons to similar portfolio-related tools. The user is left to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_get_summaryB
Get portfolio summary with total value and allocation
| Name | Required | Description | Default |
|---|---|---|---|
| portfolioId | Yes | Portfolio ID |
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 does not state whether this is a read-only operation, how errors are handled, or what 'allocation' means. It only describes the action itself without any additional behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler words, delivering the core information efficiently. It is front-loaded with the action and immediately states the output contents.
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 must explain the return value. It mentions 'total value and allocation' but does not detail the response structure, currency, or any edge-case behavior. Given the simplicity of the tool, this leaves important 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?
The input schema already provides 100% coverage for the single parameter 'portfolioId' with a description of 'Portfolio ID'. The tool description adds no extra semantic meaning beyond implying portfolio context, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get) and the resource (portfolio summary), and it specifies the contents (total value and allocation). This distinguishes it from siblings like portfolio_get_performance and portfolio_list, which focus on different aspects.
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 guidance is provided for when to use this tool versus alternatives such as portfolio_get_performance, portfolio_list, or get_portfolio_overview. The description does not mention any exclusions, prerequisites, or use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_listB
List all portfolios
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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, but it only states the action. It does not indicate whether this is a read-only operation, whether it returns all portfolios at once or paginated, or any other behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is appropriately sized for a zero-parameter list operation.
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 no output schema and no annotations, the description fails to explain the return format or any contextual details. It is too sparse to give the agent a complete understanding of what the tool will provide or how it behaves.
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 no parameters and schema coverage is 100%, so the schema already fully documents the absence of inputs. The description adds no parameter details, but with zero parameters, nothing more is needed.
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 'List all portfolios' clearly identifies the action (list) and resource (portfolios), and the use of 'all' conveys the scope. However, it does not explicitly distinguish itself from sibling tools like portfolio_get_summary or portfolio_get_performance, though the action is specific enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention use cases, prerequisites, or situations where another portfolio tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_remove_walletC
Remove a wallet from a portfolio
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Blockchain network | |
| address | Yes | Wallet address to remove | |
| portfolioId | Yes | Portfolio ID |
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 of behavioral disclosure. The verb 'Remove' implies a mutation, but there is no mention of irreversibility, side effects on related data, or whether confirmation is needed. This is a significant gap for a destructive operation.
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 that is clear and front-loaded with the action. It earns its place, though it could be slightly more helpful with additional context without becoming verbose.
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 is simple, but there is no output schema and the description does not explain what happens after removal, return values, or any preconditions. Given that this is a mutation tool with no annotations, the description is incomplete for safe and 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?
The input schema has 100% coverage, with clear descriptions for each parameter (portfolioId, address, chain). The tool description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (Remove) and clearly identifies the resource (a wallet from a portfolio). It distinguishes the operation from sibling tools like portfolio_add_wallet and portfolio_delete, though it does not explicitly call out those distinctions.
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 guidance on when to use this tool versus alternatives, no prerequisites (e.g., the wallet must already be in the portfolio), and no context about required ownership or permissions. The agent is left to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
predict_btc_priceA
Get AI prediction for BTC price. Uses LSTM model trained on historical data. Pricing: Direction=$0.01, Target=$0.05, Confidence=$0.02, Full Report=$0.1. Payments handled automatically via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Prediction type: direction (Up/Down), target (price), confidence (%), or full report | direction |
| timeframe | Yes | Prediction timeframe: 1h, 4h, 1d, or 1w |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and discloses key behaviors: it uses an LSTM model, has explicit pricing per prediction type, and states payments are handled automatically via x402. This adds context beyond the schema, though it stops short of explaining failure modes or output format specifics.
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 at four sentences, each providing valuable information: purpose, model, pricing, and payment method. It is front-loaded and free of filler, though the pricing list could be formatted as bullets for slightly better scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the schema already explains parameter values and output types, the description adequately covers the essential context: model, pricing, and payment. It lacks details on response structure or typical latency, but the tool is relatively simple, and the schema fills the gap for return semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions, but the description enriches the 'type' parameter by mapping each enum value to its price. This adds practical cost semantics that are not in the schema, helping the agent understand trade-offs between options.
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: 'Get AI prediction for BTC price.' It specifies the resource (BTC price) and the verb (Get), and differentiates from sibling tools by explicitly targeting BTC, unlike generic ones like predict_crypto_price or predict_direction. The mention of the LSTM model adds specificity.
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 BTC price predictions and provides pricing tiers that help choose the prediction type, but it does not explicitly compare against sibling alternatives or state when not to use this tool. No exclusions or alternative tool references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
predict_create2_addressA
Calculate the deterministic address for a CREATE2 deployment without deploying
| Name | Required | Description | Default |
|---|---|---|---|
| abi | No | Contract ABI (if constructor has args) | |
| salt | Yes | Salt for deterministic address | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| bytecode | Yes | Contract bytecode | |
| factoryAddress | No | CREATE2 factory address | |
| constructorArgs | No | Constructor arguments |
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 that the operation does not deploy, which is safety-relevant. However, it does not explain whether the calculation is purely local/off-chain, how the factoryAddress default works, or what output format to expect.
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 a single, focused sentence that front-loads the purpose and key behavioral trait ('without deploying'). There is no wasted wording or redundant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is sufficient for basic selection but lacks important context for a 6-parameter tool with no output schema and no annotations. It does not explain how factoryAddress or constructorArgs factor into the calculation or what the returned address depends on, leaving the agent to infer these from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions, so the baseline is 3. The tool description adds no additional meaning about how parameters like factoryAddress, salt, and bytecode interact, relying entirely on the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates a deterministic CREATE2 address without deploying. The verb 'calculate' and resource 'deterministic address for a CREATE2 deployment' are specific. However, it does not distinguish itself from the sibling tool 'compute_create2_address', which appears to serve the same purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without deploying' implies this tool is for cases where only the address is needed and no deployment is desired. However, there is no explicit guidance on when to use this over related tools like 'compute_create2_address' or 'deploy_create2', and no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
predict_crypto_priceB
Get AI prediction for any supported cryptocurrency. Supported: BTC, ETH, SOL, ARB, AVAX, MATIC, LINK, UNI, AAVE, OP. Auto-pays via x402: $0.01-$0.10 depending on prediction type.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Prediction type | direction |
| asset | Yes | Cryptocurrency to predict: BTC, ETH, SOL, ARB, AVAX, MATIC, LINK, UNI, AAVE, OP | |
| timeframe | Yes | Prediction timeframe |
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 does disclose the auto-payment via x402 and the cost range, which is valuable behavioral context. However, it doesn't describe what the response contains (e.g., predicted direction, target price, confidence) or how failures/refunds are handled, leaving important transparency 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 two sentences, front-loaded with the core purpose, and every sentence adds relevant information (supported assets, payment mechanism). It is concise and well-structured with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and no annotations, the description leaves out critical context about what the prediction output looks like. It also doesn't address prerequisites, rate limits, or how it relates to other prediction tools. The payment and supported assets are helpful, but overall the description is incomplete for a tool that returns variable results based on the 'type' parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and all three parameters have enums and descriptions, so the schema already documents them well. The description adds the supported asset list (redundant with schema) and mentions 'prediction type' without elaborating, adding minimal semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets an AI prediction for a supported cryptocurrency, and lists the supported assets. However, it doesn't differentiate from sibling prediction tools like predict_direction, predict_full_report, or predict_multi_asset, leaving some ambiguity about when this specific tool should be chosen.
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 guidance is provided on when to use this tool versus alternatives. There's no mention of conditions like needing a funded x402 wallet, or scenarios where another prediction tool (e.g., predict_direction for a quick direction-only call) would be more appropriate. The payment requirement is mentioned but without context on prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
predict_directionC
Get simple Up/Down/Sideways prediction. Cheapest option at $0.01.
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | Cryptocurrency to predict | |
| timeframe | Yes | Prediction timeframe |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose any important behavioral traits. It only says it gets a simple prediction, omitting details such as whether it is read-only, how the prediction is determined, whether historical data is factored, or if any rate limits or accuracy caveats apply. The lack of behavioral context is a notable gap for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, immediately stating the core function and the key selling point. Every part earns its place, and the structure is clean and front-loaded. This is appropriately concise.
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, leaving the description to fully explain what the agent can expect. It does not describe the return format (e.g., a simple string vs. an object with confidence scores), nor does it clarify any disclaimers or limitations of a 'simple' prediction. Given the minimal description and lack of structured fallback, this is incomplete for an unannotated tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full descriptions for both parameters (asset and timeframe), including enums. The description adds no extra parameter-level meaning beyond what the schema already offers, so the baseline of 3 applies. It does not clarify how these parameters affect the prediction output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns a simple 'Up/Down/Sideways prediction', which is a specific verb and resource. It also mentions it is the 'Cheapest option at $0.01', helping distinguish it from more expensive sibling prediction tools, though it does not name alternatives 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 offers minimal guidance on when to use this tool versus alternatives. While 'Cheapest option' implies a cost consideration, it does not specify when to choose this over predict_btc_price, predict_crypto_price, predict_full_report, or other prediction tools, nor does it state limitations (e.g., no detailed price targets).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
predict_full_reportA
Get comprehensive prediction report with direction, target, confidence, and analysis. Cost: $0.1. Best value for complete analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | Cryptocurrency to analyze | |
| timeframe | Yes | Analysis timeframe |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavioral traits. It does add useful context by revealing the cost ($0.1) and the report's contents. However, it does not mention potential limitations, required authentication, or whether the operation is read-only, which would be valuable given the lack of 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 only two sentences and every word earns its place. It efficiently communicates the tool's purpose, cost, and value proposition without unnecessary fluff.
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?
Even though there is no output schema, the description does outline the report's high-level components (direction, target, confidence, analysis). However, it lacks detail about the format, units, or how these components are presented, and it does not help the agent understand how this tool differs from many other prediction tools in the sibling list.
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 already describes both parameters (asset and timeframe) with 100% coverage, including enums. The description adds no extra meaning about the parameters, such as accepted formats or examples. Baseline of 3 is appropriate since the schema handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get comprehensive prediction report' and lists the contents (direction, target, confidence, analysis). It clearly explains what the tool does, but it does not mention any sibling tools to distinguish itself from similar prediction tools like predict_direction or predict_crypto_price.
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 'Best value for complete analysis' implies the tool is for users wanting a full report rather than a simple prediction. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites beyond the implied cost.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prediction_assetsA
Get list of supported cryptocurrencies for AI predictions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry the safety burden. 'Get list' clearly implies a read-only operation, so the agent can infer it is non-destructive. However, the description doesn't mention output format or whether the list is dynamic, but for a zero-parameter list tool this is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with the action verb front-loaded ('Get list'), no filler words. Perfectly concise.
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 trivial complexity (no params, no output schema), the description fully specifies the tool's purpose. It clarifies the scope ('for AI predictions') and resource type. No additional details needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has 0 parameters and schema coverage is 100%. With no parameters to document, the baseline score of 4 applies. The description appropriately omits parameter details.
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 ('Get') and resource ('list of supported cryptocurrencies'), and adds context ('for AI predictions') that distinguishes it from the many prediction and market tools. It clearly indicates this is a listing/utility tool, not a prediction 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?
The description does not explicitly state when to use this tool versus alternatives like market_get_coins or coingecko_get_coins_list. No exclusions or alternative tools are mentioned. The phrase 'for AI predictions' provides some implied context, but explicit guidance is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prediction_pricingA
Get pricing information for all AI prediction services.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 communicates a read-only getter operation ('Get pricing information'), implying no side effects, but it does not disclose details such as whether the data is real-time, cached, or the exact set of 'AI prediction services' covered. The description is safe but lacks depth for a zero-annotation 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 a single, front-loaded sentence that immediately states the tool's purpose. It has no redundant words and is appropriately sized for a tool with no parameters. Every word earns its place, making it highly concise.
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 tool is simple (zero parameters, no output schema), the description is minimal. It tells the agent what is returned (pricing info) and the scope ('all AI prediction services'), but it does not explain what constitutes 'AI prediction services' or what the return format might be. Given the absence of an output schema, a bit more detail on the response content would improve completeness, though the current level is minimally adequate.
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 has zero parameters, so per the rubric the baseline is 4. The description does not need to explain any parameters because there are none, and it adds no parameter-related information beyond what the empty schema implies. The baseline score is appropriate since there is nothing to compensate for.
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: 'Get pricing information for all AI prediction services.' It uses a specific verb ('Get'), a clear resource ('pricing information'), and a defined scope ('all AI prediction services'). This distinguishes it from sibling tools like 'prediction_stats' and 'prediction_assets' which deal with other aspects, and no other tool in the sibling list explicitly mentions pricing.
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 guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or alternative tools for similar use cases. The only sentence merely describes the action, leaving the agent to infer when this should be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prediction_statsB
Get statistics for current prediction session (total spent, prediction count, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It suggests a read operation ('Get statistics') but does not disclose whether a session must be active, error behavior, or any side effects, leaving significant ambiguity for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the verb and resource. It avoids any redundant phrases, making it highly concise and easy to parse.
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 is low-complexity, but with no output schema and no annotations, the description is the only source of information. It gives examples of stats but uses 'etc.' and does not define what a 'prediction session' is, leaving gaps for a fully self-contained understanding.
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 and the schema is empty, providing full coverage by definition. The description's mention of 'total spent, prediction count' pertains to output, not parameters, so the baseline score of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'statistics for current prediction session,' with examples like 'total spent, prediction count.' It distinguishes itself from sibling prediction tools by referencing a session concept, 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 no guidance on when to use this tool versus other prediction tools, nor any prerequisites or exclusions. It only states what it does, leaving the agent to infer usage entirely from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
predict_multi_assetA
Get AI predictions for multiple cryptocurrencies at once. Cost: $0.01 per asset. Bulk discount applied automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Prediction type for all assets | direction |
| assets | Yes | List of assets to predict | |
| timeframe | Yes | Prediction timeframe for all assets |
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 and bulk discount behavior, which is meaningful for an AI agent deciding whether to call the tool. However, it omits other important behavioral traits such as output structure, error handling, or rate limits, so transparency is only partial.
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 extremely concise, two sentences, with the action verb front-loaded. Every word earns its place: it states what it does, the cost, and the discount. No filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only 3 parameters, no output schema, and no annotations. The description adequately explains the purpose and cost, but does not describe what the prediction result includes, how it is structured, or any caveats. Given the absence of an output schema, a bit more context about return values would be beneficial for the 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?
The input schema already covers all parameters with clear descriptions, and the schema description coverage is 100%. The description adds only the cost-per-asset note, which slightly enriches the meaning of the 'assets' parameter but does not significantly expand beyond what the schema provides. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource pair: 'Get AI predictions for multiple cryptocurrencies at once.' It clearly states the scope (multiple assets, at once), which distinguishes it from single-asset prediction siblings like predict_crypto_price. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description hints at when to use the tool via cost information: '$0.01 per asset' and 'Bulk discount applied automatically' suggest it is beneficial for batch predictions. However, it does not explicitly state when to prefer this over alternatives or list exclusions, leaving the guidance implied rather than direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prompt_build_customC
Build a custom prompt with guided structure
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Main topic or asset to analyze | |
| timeframe | No | Analysis timeframe | |
| analysisTypes | Yes | Types of analysis to include | |
| additionalContext | No | Additional context or requirements |
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 disclosing behavioral traits. It only states 'Build a custom prompt with guided structure,' which does not explain the return value, whether the prompt is stored or generated on the fly, or what 'guided structure' entails. The description adds no behavioral context beyond the tool's name.
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 a single concise sentence with no unnecessary words, making it easy to parse. It is not verbose, but it lacks additional structure or details that could help an agent; however, that is more a completeness issue than a conciseness one.
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 has four parameters (two required) and no output schema, the description should explain what the result of building a prompt looks like (e.g., a string, a saved entity) and how 'guided structure' is determined. The current one-line description is too sparse to fully inform an AI agent selecting this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully covers all four parameters with clear descriptions (e.g., 'Main topic or asset to analyze', 'Types of analysis to include'), giving 100% schema coverage. The tool description itself does not add any additional meaning about the parameters, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool builds a custom prompt, using the verb 'Build' and the object 'custom prompt'. The qualifier 'with guided structure' adds a hint about the tool's approach, giving it more specificity than a tautology. However, it does not explicitly differentiate this tool from sibling tools like prompt_generate or prompt_quick, which likely also create prompts.
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 guidance on when to use this tool versus alternatives such as prompt_quick or prompt_generate. There is no mention of use cases, prerequisites, or exclusions, leaving the agent without direction on selecting this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prompt_generateC
Generate a prompt by filling in template variables
| Name | Required | Description | Default |
|---|---|---|---|
| variables | Yes | Variable values as key-value pairs | |
| templateId | Yes | Template ID |
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 of behavioral disclosure. It does not explain whether this is a read-only operation, how it interacts with template storage, or what happens with missing variables, leaving significant 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 a single, front-loaded sentence with no wasted words. It is concise, though the brevity borders on under-specification, which is penalized in other dimensions.
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?
Without an output schema or annotations, the description should explain what the generated prompt looks like or how that the templateId is obtained. It lacks context about the prompt workflow and doesn't mention any related tools for listing or retrieving templates, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes both parameters (templateId and variables) with 100% coverage, so the baseline is 3. The description adds only that variables are used for 'filling in template variables', which is already implied by the schema's 'Variable values as key-value pairs' and the tool 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 clearly states the verb 'generate' and resource 'prompt', with the mechanism 'filling in template variables'. However, it doesn't differentiate from sibling tools like prompt_build_custom or prompt_quick, so it lacks explicit sibling distinction.
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 guidance is provided on when to use this tool versus alternatives like prompt_build_custom, prompt_quick, or prompt_get. The description only states what it does, with no context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prompt_getA
Get a specific prompt template with variable placeholders
| Name | Required | Description | Default |
|---|---|---|---|
| templateId | Yes | Template ID from prompt_list |
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 adds the behavioral detail that templates contain variable placeholders, but it does not describe the response format, error behavior, or explicitly state read-only semantics (though the verb 'Get' implies it). This meets a minimum viable level for a simple retrieval 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 a single sentence that is concise and front-loaded, stating the core function immediately. No redundant or excessive 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?
The tool has only one parameter and no output schema. The description clarifies the purpose and mentions placeholders, which hints at the return content, but it does not specify the full response structure or any special behaviors. For a simple get operation, this is adequate but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with templateId described as 'Template ID from prompt_list'. The description does not add any additional parameter meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets a specific prompt template, using the verb 'Get' with a specific resource. 'Specific' distinguishes it from prompt_list (which lists templates) and prompt_generate (which probably creates a prompt), and 'with variable placeholders' adds a unique characteristic.
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 itself does not explicitly state when to use this tool, but the parameter description 'Template ID from prompt_list' provides a clear prerequisite and cross-tool reference, implying that prompt_list should be used first to obtain the ID. This gives useful contextual guidance, though no exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prompt_listA
List all available AI prompt templates
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter by category | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for disclosing behavior. It only states the action of listing and does not describe return format, pagination, sorting, or any side effects. The category filter is not mentioned in the description, leaving behavioral details undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately conveys the tool's purpose. It contains no redundant information and is well 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?
For a simple tool with one optional parameter and no output schema, the description is minimally adequate. It states the core function but does not mention the optional category filtering or what the returned list contains. Given the complexity is low, the description is not severely incomplete, but could be more helpful.
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 full coverage of the category parameter with an enum, default value, and description. The tool description adds no additional parameter semantics, and the schema already explains the parameter fully, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all available AI prompt templates' uses a specific verb (List) and clearly identifies the resource (AI prompt templates), with 'all' indicating scope. This distinguishes it from sibling tools like prompt_get and prompt_generate, which imply retrieving or generating individual prompts.
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 listing templates but does not explicitly state when to use this tool instead of alternatives like prompt_get or prompt_generate. There is no mention of exclusions or alternative tool suggestions, so guidance is only implied by the action verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prompt_quickC
Generate a quick prompt for common crypto analysis tasks
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | Quick task type | |
| context | Yes | Context or specific inputs for the task |
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 only states that the tool 'generate[s] a quick prompt' but does not describe what the output looks like, whether any side effects exist, or what safety implications are. For a generation tool, this is thin.
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 a single sentence that is direct and front-loaded, with no wasted words. However, it is under-specified; conciseness here sacrifices useful detail, but as a structural evaluation, it is appropriately sized for the tool's simplicity.
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 simplicity (2 params, one enum) and the lack of an output schema, the description should clarify what kind of prompt is produced and how it is returned. It does not, nor does it mention any preliminary expectations (e.g., whether context must be a specific format). The agent is left without enough information to confidently invoke or interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameters are fully documented in the input schema. The description adds only a vague mention of 'common crypto analysis tasks' which loosely maps to the task enum, but does not add meaningful usage semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Generate') and resource ('a quick prompt') with scope ('common crypto analysis tasks'). It is understandable and actionable, but does not distinguish this tool from sibling prompt_generate, which also appears to generate prompts.
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 guidance is provided on when to use this tool versus alternatives like prompt_generate or prompt_build_custom. The description implies it is for common tasks but does not explicitly contrast it with other prompt-related tools, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
queue_proposalA
Queue a successful proposal for execution (requires Timelock)
| Name | Required | Description | Default |
|---|---|---|---|
| values | Yes | ETH values for each call (in wei) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| targets | Yes | Target contract addresses | |
| calldatas | Yes | Encoded call data for each target | |
| privateKey | Yes | Private key for signing transaction | |
| descriptionHash | Yes | Keccak256 hash of proposal description | |
| governorAddress | Yes | Governor contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full disclosure burden but only reveals that the tool performs a queue operation requiring a Timelock. It does not disclose that this broadcasts a signed on-chain transaction with gas costs, whether the action is reversible, what state the proposal transitions to, or what the response contains โ a significant gap for a state-changing governance tool. The Timelock constraint is the only meaningful behavioral addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
An eight-word sentence front-loads the action verb and compresses a useful dependency note into a parenthetical. Every word earns its place, with no redundancy against the schema or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter, state-changing on-chain transaction with no annotations and no output schema, the description covers only the action and the Timelock precondition. The agent is left uninformed about return values, failure modes (e.g., invoking it before the proposal succeeds), and the full queueโtimelockโexecute lifecycle; however, the fully documented schema prevents this from being a complete failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each of the 7 parameters receiving a meaningful description (e.g., 'ETH values for each call (in wei)', 'Keccak256 hash of proposal description'), so the baseline is 3. The tool description adds nothing beyond the schema about parameters and notably omits cross-parameter requirements, such as the target/value/calldata arrays needing to align and match the original proposal's hashed description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Queue') tied to a precise governance stage, explicitly scoping to 'a successful proposal' destined 'for execution.' This clearly differentiates it from governance siblings like execute_proposal, cancel_proposal, and cast_vote, which represent different lifecycle stages.
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 'successful proposal' communicates the precondition that the proposal must have passed voting, and '(requires Timelock)' gives a concrete constraint on when the tool is applicable. However, it never explicitly names alternatives (e.g., that execute_proposal should be used after the Timelock delay), so the guidance is clear context without explicit exclusions or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_contractA
Read data from a smart contract by calling a view/pure function
| Name | Required | Description | Default |
|---|---|---|---|
| abi | Yes | The ABI of the smart contract function, as a JSON array | |
| args | No | The arguments to pass to the function | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| functionName | Yes | The name of the function to call on the contract | |
| contractAddress | Yes | The address of the smart contract to interact with |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden. It discloses that the function must be view/pure, implying read-only and no state change, which is useful. However, it does not mention gas costs, possible reverts, error handling, or return value structure.
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 a single, concise sentence with no redundant words. It is front-loaded with the key action and resource.
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 5 parameters and no output schema, yet the description gives no information about return values, network behavior, or error conditions. It is minimally adequate for a simple read operation but lacks the richer context an agent would benefit from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema. The description adds no additional parameter-level details, just the overall function type, which meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads data from a smart contract via a view/pure function, which is specific and distinguishes it from write_contract. The verb 'read' and resource 'smart contract' are immediately 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?
It is implied that this tool is for reading contract state, but no explicit when-to-use or exclusions are given. The sibling tool write_contract exists, but the description does not name it or any alternative, leaving usage determination to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recover_signerA
Recover the signer address from a signature
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Original message | |
| signature | Yes | Signature |
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 of behavioral disclosure. It mentions the outcome (recovering the signer address) but says nothing about signature format (e.g., 65-byte, r/s/v), message hashing requirements, error behavior, or whether the operation is pure/read-only. This leaves important behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that immediately states the core operation. There is no redundant wording or unnecessary detail; it is concise and front-loaded with the verb.
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 simplicity of the tool (two parameters, no nested objects, no output schema) and complete schema coverage, the description is minimally adequate. However, it does not clarify expected signature format or return value structure, leaving some gaps for 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 input schema has 100% coverage, with brief descriptions for both parameters ('Original message' and 'Signature'). The description itself adds no further explanation or nuance beyond these schema fields, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is specific and action-oriented: 'Recover the signer address from a signature'. It clearly identifies the verb (recover), the resource (signer address), and the input (signature), and distinguishes itself from sibling tools like verify_message_signature or sign_message by focusing on recovery of the address.
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 guidance is given on when to use this tool versus alternatives. The usage is only implied by the name and description; an agent could infer this is for obtaining the signer address from a signature, but the description does not state exclusions or mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_ens_nameB
Register a new ENS name via ETH Registrar Controller (requires commit-reveal process)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ENS name to register (without .eth suffix) | |
| duration | Yes | Registration duration in seconds (1 year = 31536000) | |
| privateKey | Yes | Private key for registration | |
| ownerAddress | No | Address to set as owner (defaults to sender) | |
| setReverseRecord | No | Set as primary name for owner |
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 of behavioral disclosure. It mentions the commit-reveal process, which is a key behavioral trait, but fails to disclose that this is an on-chain transaction requiring gas fees, that it likely sends a transaction using the private key, or what the return value will be. The description is too thin for a mutation tool with this complexity.
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 a single, front-loaded sentence that immediately states the action and the key constraint (commit-reveal). No word is wasted, and the sentence is easy to parse for an AI agent.
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 performs a complex multi-step on-chain operation with no annotations and no output schema. The description only mentions the commit-reveal process but does not explain the full flow, whether the tool handles both steps, prerequisites like name availability or ETH balance, or what the response contains (e.g., transaction hash). This is insufficient for an agent to understand the full scope of the 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?
The input schema has 100% description coverage for all five parameters, so the schema already provides meaning. The description adds no additional context about how parameters relate to the commit-reveal process (e.g., how duration affects cost, what the ownerAddress default implies). Baseline of 3 is appropriate since the schema carries the semantic load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Register a new ENS name via ETH Registrar Controller'. This is a specific verb+resource combination that distinguishes it from sibling tools like renew_ens, transfer_ens, or set_ens_records. The 'new' qualifier also disambiguates from renewal or updates.
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 implicitly indicates usage for registering a new ENS name, but does not provide explicit when-to-use or when-not-to-use guidance relative to alternatives like check_ens_availability or renew_ens. The mention of the commit-reveal process hints at prerequisites but does not explain when this should be invoked instead of other ENS operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_liquidityC
Remove liquidity from a DEX trading pair
| Name | Required | Description | Default |
|---|---|---|---|
| dex | No | Specific DEX to use | |
| tokenA | Yes | First token address | |
| tokenB | Yes | Second token address | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| slippage | No | Slippage tolerance in percent | |
| liquidity | Yes | Amount of LP tokens to remove (in wei) | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It only says 'Remove liquidity' and does not mention that it is a state-changing transaction, requires a private key, involves gas costs, or that it may have slippage and irreversibility implications. The privateKey security note exists in the schema, not the 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 a single, front-loaded sentence that is concise and free of clutter. However, it is perhaps too terse to be maximally useful, but it does not waste words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a financial mutation operation with 7 parameters, no output schema, and no annotations, the description is insufficiently complete. It lacks details about the transaction flow, consequences, return format, or handling of the provided private key. A one-sentence description does not adequately prepare an agent to invoke this tool safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds no parameter-level meaning, but since the schema fully explains each field (tokenA, tokenB, liquidity, privateKey, etc.), a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Remove') and resource ('liquidity from a DEX trading pair'), clearly identifying the core function. It does not explicitly differentiate from sibling tools like 'withdraw_lp_tokens' or 'add_liquidity', but the action is distinct enough for most contexts.
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 guidance is provided on when to use this tool versus alternatives, nor any prerequisites (e.g., having LP tokens, being a liquidity provider). The description simply states the action without contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
renew_ensB
Extend the registration of an ENS name
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ENS name to renew (without .eth) | |
| duration | Yes | Additional duration in seconds (1 year = 31536000) | |
| privateKey | Yes | Private key for payment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must disclose behavioral traits such as being a blockchain write operation, requiring gas fees, and being irreversible. The description only states the action without any warning about costs, side effects, or required prerequisites like sufficient funds.
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 a single, compact sentence with no wasted words. It is front-loaded with the action and resource, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is too minimal for an agent to fully understand the tool. It omits critical context such as that this transaction requires gas/payment via privateKey, likely returns a transaction hash, and involves network-specific considerations. Given the existence of sibling tools like register_ens_name, more context is needed for 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 input schema already provides descriptions for all three parameters with full coverage (100%). The description itself adds no parameter-specific information beyond what is in the schema. Baseline 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'extend' and identifies the resource 'registration of an ENS name', clearly distinguishing it from sibling tools like register_ens_name or transfer_ens. It is concise and 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?
No guidance is provided on when to use this tool versus alternatives. It does not explicitly state that it applies only to already-registered names, nor does it mention conditions like 'before expiration'. The context is only implied by the word 'extend'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repay_to_lendingC
Repay borrowed assets to a lending protocol
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | Asset address to repay | |
| amount | Yes | Amount to repay (in wei, use 'max' for full repay) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| protocol | Yes | Lending protocol (e.g., 'Aave V3') | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| interestRateMode | No | Interest rate mode of the debt | variable |
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 not disclose that this is a state-changing transaction, that it requires a prior borrowing position, or that gas fees/network interactions apply. It also does not mention any risks or side effects beyond the literal act of repaying.
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 a single, front-loaded sentence with no wasted words, making it highly concise. It could be slightly more informative by mentioning partial repayment or protocol names, but the structural efficiency is strong.
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 this is a complex transaction tool with six parameters, no output schema, and no annotations, the one-line description is insufficient. It omits crucial context such as whether 'amount' supports partial repayment, the role of interestRateMode, and what happens after repayment (e.g., transaction hash, position update).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all six parameters individually described in the input schema. The tool description itself adds no parameter-level information, so the baseline score of 3 is appropriate; it neither enhances nor harms the schema's clarity.
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 'Repay borrowed assets to a lending protocol' clearly states the action (repay) and the resource (borrowed assets in a lending protocol), which is distinct from sibling operations like borrow_from_lending and withdraw_from_lending. However, it lacks explicit mention of repaying an existing debt position or the protocol-specific context, so it falls short of a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as borrow_from_lending or withdraw_from_lending. It does not mention prerequisites like an existing debt position, nor does it clarify scenarios where partial vs full repayment is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_add_noteC
Add a note or finding to the research session
| Name | Required | Description | Default |
|---|---|---|---|
| note | Yes | Note or finding to add | |
| section | No | Related section | |
| sessionId | Yes | Session ID |
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 only says 'Add a note or finding' and gives no detail on side effects (e.g., whether it appends, overwrites, requires an existing session, or returns any confirmation). This is minimal and leaves important behavior unspecified.
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 a single, short sentence with no filler. It is concise and to the point, though it could arguably provide a bit more context without becoming verbose.
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 3-parameter tool with no annotations and no output schema, the description is too sparse. It does not explain the effect of adding a note (e.g., appended vs. replaced), what the return value might be, or where the session ID comes from. This leaves the agent with uncertainty about how to correctly use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all three parameters, so the schema already fully documents each parameter. The description does not add any semantic meaning beyond what the schema provides, matching the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (add) and the object (a note or finding to the research session). It is specific enough to understand the tool's purpose, though it does not explicitly distinguish itself from sibling tools like research_update_section.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention any prerequisites (e.g., the session must exist) or when a sibling tool like research_update_section would be more appropriate. The description only states what the tool does, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_create_planC
Create a structured research plan for investigating a cryptocurrency token
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | No | Session ID to continue existing research | |
| tokenName | Yes | Name of the token (e.g., Ethereum) | |
| tokenTicker | Yes | Ticker symbol (e.g., ETH) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It fails to mention side effects, whether it creates a new plan or overwrites an existing one, what the return value is, or how the optional sessionId parameter affects behavior. This is a critical gap for a tool that creates a resource.
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 a single, efficient sentence with no wasted words. It is concise and front-loaded. However, it is slightly too terse for a tool that might need more context, but as a standalone statement it is appropriately sized.
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 output schema and no annotations, the description is the sole source of context. It does not explain the research plan workflow, what a 'structured research plan' entails, how the plan is used by subsequent research tools, or how sessionId connects to other calls. This is insufficient for a tool that likely initiates a multi-step process.
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 100% description coverage, with all three parameters (sessionId, tokenName, tokenTicker) having descriptive text. The description adds no additional meaning beyond what the schema already states, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Create a structured research plan for investigating a cryptocurrency token'. The verb 'create' and resource 'research plan' are specific, and the name distinguishes it from sibling research tools like research_search and research_quick_lookup. However, it does not explicitly differentiate itself from related tools beyond the 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?
There is no guidance on when to use this tool versus alternatives. The sibling list includes other research workflow tools (research_search, research_update_section, research_get_status), but the description does not explain how this tool fits into that workflow or when it should be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_exportC
Export the complete research session data
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session ID |
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 not mention whether the operation is read-only, the output format, or any side effects. This is a pure purpose statement with no behavioral 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 a single, well-structured sentence with no redundant information. It is front-loaded and directly states the core action, which is appropriate for its brevity, though it lacks supplemental detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having only one parameter, the description fails to explain what 'export' produces (e.g., file format, response structure) or how it integrates with the research workflow. Since there is no output schema, this gap leaves the tool inadequately 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?
The schema fully documents sessionId with 'Session ID' (100% coverage). The description adds no additional meaning beyond what the schema already provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Export') and resource ('complete research session data'), clearly distinguishing it from sibling research tools like research_get_status and research_search. It leaves no ambiguity about the operation's intent.
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 guidance is provided on when to use this tool versus alternatives, nor any prerequisites or context (e.g., after completing a session). The description only states the action without any usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_fetch_urlB
Fetch and extract text content from a URL
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to fetch content from | |
| sessionId | No | Session ID to store content |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits but does not. It omits details on JavaScript rendering, authentication requirements, page size limits, or what happens to extracted content (e.g., whether it is returned or stored via sessionId).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One clear, concise sentence that is front-loaded with the verb and outcome. Every word contributes to meaning with no fluff 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?
The presence of optional sessionId suggests a side effect (storing content) that is not explained. No output schema or annotations exist, and the description leaves out return format, limitations, and behavior for non-HTML content. This is insufficient for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters, stating 'url' is the URL to fetch and 'sessionId' is the session to store content. The tool description adds no additional parameter context, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Fetch and extract text content from a URL' uses a specific verb and resource, clearly indicating the core action and output. It distinguishes from related siblings like summarize_article by focusing on extraction rather than summarization.
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 guidance is provided on when to use this tool versus alternatives such as summarize_article or research_search. The description lacks context about its role in the research workflow or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_get_statusC
Get the current status of a research session
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It implies a read operation via 'Get' but doesn't explicitly state non-mutating behavior, output format, or potential edge cases. Minimal information is added beyond the tool name itself.
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 a single, direct sentence with no unnecessary words. It front-loads the action and resource, making it highly concise and clear.
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?
Despite the tool's simplicity (one parameter, no output schema), the description omits essential context about what 'status' means, what the response will contain, or how to interpret results. Without output schema or annotations, this is incomplete for effective agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter 'sessionId' with a basic description 'Session ID', providing 100% coverage. The tool description does not elaborate on sessionId format, origin, or examples, so it adds no extra value beyond the schema. Baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('current status of a research session'), effectively conveying the tool's core function. It distinguishes itself from other research tools by focusing on 'status', though it doesn't explicitly contrast with 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 provides no guidance on when to use this tool versus alternatives. It doesn't mention exclusions, prerequisites, or when status checking is appropriate in a research workflow. The agent receives no context for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_quick_lookupC
Quick lookup of basic token information from multiple sources
| Name | Required | Description | Default |
|---|---|---|---|
| tokenName | Yes | Token name or ticker |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure, but it only says 'quick lookup' and 'multiple sources.' It does not state whether the query is cached, which sources are consulted, whether it fails on unknown tokens, or what 'basic' information is included, leaving the agent uncertain about side effects and limitations.
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 a single, front-loaded sentence that is easy to scan. It is concise but slightly underspecified; however, for a one-parameter tool, this length is efficient and 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?
The tool has no output schema and no annotations, so the description is the only source for understanding return values and behavior. It does not specify what fields the lookup returns, how sources are combined, or any caveats, leaving a critical gap for an agent to decide if this tool meets the user's need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the single parameter tokenName with 'Token name or ticker' (100% coverage), so the description need not repeat it. The description adds no extra semantics about the parameter, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it does a 'quick lookup of basic token information from multiple sources,' which names a verb and resource but remains vague about what constitutes 'basic token information.' It does not differentiate this from the many other token lookup tools like get_erc20_token_info, market_coingecko_contract, or defi_get_token_prices, so an agent cannot reliably distinguish it from siblings.
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 usage context is provided beyond the one-line purpose. There is no mention of when to prefer this tool over the alternative research_* or token-info tools, nor any exclusions or prerequisites, so the agent receives no guidance for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_searchC
Perform a web search for cryptocurrency research
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| section | No | Research section this search relates to | |
| sessionId | No | Session ID to store results |
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 states only the action 'Perform a web search' and doesn't disclose whether results are stored (despite the sessionId parameter suggesting persistence), rate limits, or auth requirements. The behavior is underspecified.
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 a single 7-word sentence with zero filler or redundancy. It is appropriately compact for a straightforward search operation, though a bit more context would improve it, there is 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?
The tool has no output schema, no annotations, and sits among many research and search siblings. The one-sentence description does not clarify return format, session interaction, or how it differs from research_fetch_url or search_crypto_news. It is under-specified for an agent to select and invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all three parameters (query, section, sessionId) at 100%, so the baseline is 3. The description adds no parameter-specific meaning, but the schema itself provides adequate semantic cues, including that sessionId stores results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Perform') and resource ('web search') and scopes it to cryptocurrency research. However, it does not differentiate from sibling tools like search_crypto_news or get_crypto_news, leaving ambiguity about whether this covers general web pages or only news.
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 guidance on when to use this tool versus alternatives. No exclusions, prerequisites, or alternative tools are mentioned, leaving the agent without decision support in a large sibling toolset.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_update_sectionC
Update the status of a research section
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Notes or findings to add | |
| status | Yes | New status | |
| section | Yes | Section name to update | |
| sessionId | Yes | Session ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations to disclose safety or side effects, and the description does not describe any behavioral traits beyond the basic update action. It does not mention whether the update is reversible, whether existing data is replaced or appended, or what the response contains. This is a significant gap for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler words, front-loaded with the verb and resource. It is efficient and exactly as concise as needed for a simple tool, earning a high score for conciseness.
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 mutation tool with no output schema and no annotations, the description is too thin. It does not explain what a 'research section' is, how status transitions work, whether notes are required or optional, or how this fits into the research workflow (e.g., after research_create_plan). The schema provides parameter names but the description lacks contextual guidance for an agent to use the tool appropriately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (notes, status, section, sessionId) having a clear description. The description adds no additional meaning beyond the schema, so the baseline score of 3 applies. It could have provided extra context on parameter relationships or status transitions but did 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 clearly specifies the verb 'update' and the resource 'research section' with the focus on 'status', distinguishing it from sibling tools like research_add_note (notes) and research_get_status (reading status). Although brief and without explicit alternatives, the purpose is clear and specific within the research tool family.
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 guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or relationship to other research tools such as research_create_plan or research_get_status. The usage is only implied by the verb 'update', offering no explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_ens_nameA
Resolve an ENS name to its Ethereum address
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ENS name (e.g., 'vitalik.eth') | |
| network | No | Network (default: ethereum) |
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 only states the core operation and does not disclose behaviors like network default handling, failure cases for invalid names, or return format details. This is a significant gap for a resolver 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 a single, well-structured sentence that conveys the essential purpose without any wasted words. It is immediately scannable and easy to parse.
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 lack of an output schema, the description should clarify return values or edge cases, but it does not. It does state the output type (Ethereum address), which is helpful, but it omits potential errors and behavior nuances. This is adequate but incomplete.
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 already fully documents both parameters (name and network) with descriptions, including a default for network. The description adds no additional parameter semantics beyond the schema, so the baseline of 3 applies given 100% 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 uses a specific verb ('Resolve') with a clear resource ('an ENS name') and output ('to its Ethereum address'). This directly states the tool's function and differentiates it from siblings like 'reverse_resolve_address' and other ENS 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 implies when to use the tool (when you need to resolve an ENS name to an address), but it does not explicitly mention alternatives or conditions, such as using reverse_resolve_address for the opposite lookup. There is no exclusion context or comparison with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reverse_resolve_addressA
Get the ENS name for an Ethereum address (reverse lookup)
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Ethereum address | |
| network | No | Network (default: ethereum) |
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 indicates a read operation via 'Get', implying non-destructive behavior, but it does not disclose what happens when an address has no ENS name, network-specific behavior, or error cases. The transparency is minimal but sufficient for a simple read-only 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 a single, well-structured sentence that front-loads the action and includes a clarifying parenthetical. There is no redundant information, and every word contributes to understanding.
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 simplicity of the tool, the description combined with the schema adequately covers what the tool does and its parameters. It does not detail the return format, but 'ENS name' implies a string, and no output schema exists. Minor gaps such as edge cases are not critical for a tool of this simplicity.
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 full description coverage for both parameters (address and network), so the schema already documents them. The description adds no additional parameter semantics beyond stating the purpose. With 100% schema coverage, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: getting the ENS name for an Ethereum address, explicitly labeling it as a reverse lookup. This distinguishes it from forward resolution tools like resolve_ens_name. The verb and resource are specific and 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 for when to use the tool: when an Ethereum address is known and the corresponding ENS name is desired. It does not explicitly name alternatives or exclusions, but the 'reverse lookup' phrasing implies a contrast with forward resolution. This is adequate for a straightforward lookup tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revoke_nft_approvalB
Revoke NFT approval for a marketplace or operator
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| operator | Yes | Operator address to revoke | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| collectionAddress | Yes | NFT collection contract address |
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 disclosing behavioral traits. It states the action ('revoke') but does not explain that this is a state-changing on-chain transaction, that it incurs gas fees, or that it removes the operator's permission to transfer the NFT collection. No side effects or security notes are mentioned beyond the schema's privateKey note.
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 a single, concise sentence (8 words) that is front-loaded and directly to the point. There is no wasted language or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations and no output schema. The description is minimal and fails to convey important context such as the fact that the operation broadcasts a transaction, consumes gas, or reverts changes to the operator's access. While the schema covers parameters, the description does not explain the broader operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The tool description adds no additional meaning beyond what the schema provides, such as how the parameters interact or any constraints on their values.
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 'Revoke NFT approval for a marketplace or operator' uses a specific verb ('revoke') and clearly identifies the resource (NFT approval) and the target (marketplace or operator). This directly distinguishes it from sibling tools like 'approve_nft_for_marketplace' and 'check_nft_approval'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use caseโrevoking an existing approvalโbut does not explicitly state when to use it over alternatives, nor does it mention prerequisites such as checking the current approval status. It provides no exclusions or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revoke_token_approvalB
Revoke (set to 0) a spender's approval to use your tokens
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| tokenAddress | Yes | ERC20 token contract address | |
| spenderAddress | Yes | Spender address to revoke |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the effect (setting approval to 0) but does not mention that this initiates a blockchain transaction, requires signing with the private key, or has gas costs. Since no annotations are present, the description carries the full burden and falls short of disclosing these important behavioral traits.
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 a single concise sentence of 8 words, front-loaded with the action and free of redundant or extraneous information. It is perfectly sized for its purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must convey expected outcomes and side effects. It does not mention the return value (e.g., transaction hash), that a transaction is broadcast, or network requirements beyond the schema. For a state-changing tool with 4 parameters, this is inadequate.
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 descriptions cover all 4 parameters with 100% coverage, including security notes for privateKey. The tool description adds no further meaning to the parameters, so it meets the baseline of 3 without exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Revoke' and clarifies the action with 'set to 0', making the tool's purpose unambiguous. It clearly identifies the resource as 'a spender's approval to use your tokens', which distinguishes it from related tools like approve_token_spending and revoke_nft_approval.
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 a spender's approval needs to be removed, but it does not explicitly state when to use this tool over alternatives such as approve_token_spending or check_token_allowance. There are no exclusions or alternative references provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rubic_get_bridge_quoteC
Get the best cross-chain bridge route for swapping tokens between different blockchains.
| Name | Required | Description | Default |
|---|---|---|---|
| timeout | No | Calculation timeout in seconds (min: 5, max: 60) | |
| walletAddress | No | Wallet address to send tokens to on the destination blockchain | |
| srcTokenAmount | Yes | Amount of source token to bridge (as a string with decimals) | |
| dstTokenAddress | Yes | Destination token address. Use 0x40252CFDF8B20Ed757D61ff157719F33Ec332402 for native tokens. | |
| includeTestnets | No | Include testnets in calculations | |
| srcTokenAddress | Yes | Source token address. Use 0x40252CFDF8B20Ed757D61ff157719F33Ec332402 for native tokens like ETH, BNB, etc. | |
| showFailedRoutes | No | Show failed routes in the response | |
| slippageTolerance | No | Slippage tolerance in percentage (min: 0.01, max: 50) | |
| dstTokenBlockchain | Yes | Destination blockchain name (e.g., ETH, BSC, POLYGON, etc.) | |
| srcTokenBlockchain | Yes | Source blockchain name (e.g., ETH, BSC, POLYGON, etc.) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits such as read-only status, side effects, or response format. It only states that it retrieves a route, but does not indicate whether it queries multiple aggregators, requires wallet connection, or what the response contains. The phrase 'get the best' implies computation but no details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear sentence that is efficiently worded and front-loaded with the key action. Every word contributes to understanding the tool's core purpose with no wasted information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with 10 parameters, 5 required inputs, and no output schema or annotations. The description does not explain the return format, how 'best' is determined, what routes contain, or preconditions like testnet configuration. Given this complexity, a one-sentence description is substantially incomplete for an agent to invoke and interpret the response 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?
All 10 parameters have schema descriptions (100% coverage), so the schema already explains each field. The description adds no substantive additional meaning beyond the general 'swapping tokens between different blockchains,' which is a slight reinforcement but not new information.
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 gets the best cross-chain bridge route for swapping tokens, using a specific verb and resource. However, it does not explicitly differentiate from the sibling 'rubic_get_bridge_quotes' (plural) which likely serves a similar purpose, so there is some ambiguity about whether this returns a single quote or multiple routes.
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 guidance is provided on when to use this tool versus alternatives like get_bridge_quote, execute_bridge, or rubic_get_bridge_quotes. The description offers no context, preconditions, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rubic_get_bridge_quotesC
Get all available cross-chain bridge routes for swapping tokens between different blockchains.
| Name | Required | Description | Default |
|---|---|---|---|
| timeout | No | Calculation timeout in seconds (min: 5, max: 60) | |
| walletAddress | No | Wallet address to send tokens to on the destination blockchain | |
| srcTokenAmount | Yes | Amount of source token to bridge (as a string with decimals) | |
| dstTokenAddress | Yes | Destination token address. Use 0x40252CFDF8B20Ed757D61ff157719F33Ec332402 for native tokens. | |
| includeTestnets | No | Include testnets in calculations | |
| srcTokenAddress | Yes | Source token address. Use 0x40252CFDF8B20Ed757D61ff157719F33Ec332402 for native tokens like ETH, BNB, etc. | |
| showFailedRoutes | No | Show failed routes in the response | |
| slippageTolerance | No | Slippage tolerance in percentage (min: 0.01, max: 50) | |
| dstTokenBlockchain | Yes | Destination blockchain name (e.g., ETH, BSC, POLYGON, etc.) | |
| srcTokenBlockchain | Yes | Source blockchain name (e.g., ETH, BSC, POLYGON, etc.) |
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 only says 'Get all available...' without revealing response format, potential latency, error behavior, pagination, or whether the routes include fees and estimated times. This is minimal behavioral context for a complex external API 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 a single, front-loaded sentence with no redundant words. It earns its place by conveying the core action and resource, though it could be slightly more informative without becoming verbose.
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 10 parameters and no output schema, but the description does not explain return values, what constitutes a 'route', or how optional params like slippage/testnets affect results. This is incomplete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions, so the description need not repeat them. The description adds no extra meaning about parameters, but the baseline of 3 is appropriate since the schema already handles 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 the tool retrieves all available cross-chain bridge routes for token swaps, using the specific verb 'Get' and a well-defined resource. It distinguishes from singular 'quote' tools but does not explicitly differentiate from siblings like rubic_get_bridge_quote or get_bridge_quote, which may also return route options.
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 guidance is provided on when to use this tool versus alternatives. The description does not mention when to choose this over rubic_get_bridge_quote, get_bridge_status, or execute_bridge, nor does it specify conditions like requiring fresh quotes or comparing multiple routes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rubic_get_bridge_statusB
Check the status of a cross-chain bridge transaction.
| Name | Required | Description | Default |
|---|---|---|---|
| srcTxHash | Yes | Source transaction hash to check status |
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. 'Check the status' implies a read-only operation, but it does not disclose what the output contains, what statuses exist, or error behavior for invalid hashes. This adds minimal value beyond the name.
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 a single front-loaded sentence with zero waste. It earns its place, but its brevity may contribute to under-specification in other dimensions. It is concise, though slightly too terse to be considered fully helpful.
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?
Without an output schema, the description must explain return values or behavioral nuances. It does not mention what 'status' looks like, whether it returns a pending/success/failed state, or any chain-specific details. For a simple tool, this is still inadequate context for an agent to interpret results or handle errors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: srcTxHash is described as 'Source transaction hash to check status.' The description does not add extra meaning beyond the schema, but the baseline of 3 applies because the schema already defines the parameter clearly. No additional syntax or format details are 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 'Check' plus resource 'status of a cross-chain bridge transaction,' clearly distinguishing from siblings like rubic_get_bridge_quote and get_bridge_quote. The name reinforces the Rubic context, making the tool's 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?
There is no explicit guidance on when to use this tool versus alternatives like execute_bridge or get_bridge_quote. The description implies usage for checking a transaction status, but provides no context about prerequisites (e.g., needing a srcTxHash from a prior bridge transaction) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rubic_get_supported_chainsB
Get a list of all blockchains supported by Rubic for cross-chain bridging.
| Name | Required | Description | Default |
|---|---|---|---|
| includeTestnets | No | Include testnet blockchains in the results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the burden of behavioral disclosure. It implies a read-only action via 'Get' but does not mention whether authentication is required, what the return list contains (chain names, IDs, both), or how testnets are handled by default. The description adds no behavioral context beyond the one-line purpose.
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 a single, front-loaded sentence with no filler or repetition. It efficiently delivers the core purpose, making it an exemplary model of conciseness.
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 list tool with one optional parameter that is fully covered by the schema, the one-line description is adequate and accurate. It omits details like response format or default testnet inclusion, but the low complexity and schema coverage make these minor rather than critical 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?
The single parameter includeTestnets is fully described in the input schema (100% coverage), so the description does not need to repeat it. Since the schema already explains the parameter's meaning, the baseline 3 is appropriate even though the description itself offers no parameter-specific details.
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 the specific verb 'Get' with a clear resourceโ'all blockchains supported by Rubic for cross-chain bridging'โso it clearly states the tool's function. However, it does not explicitly differentiate from sibling tools like 'get_supported_networks' or 'cosmos_get_supported_chains', so it lacks a comparative distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites, use cases, or exclusions. For example, it doesn't say 'Use this to check available chains before requesting a bridge quote.' Without this, the agent receives no decision support beyond the obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screener_bollinger_squeezeA
Find cryptocurrencies with narrow Bollinger Band width (potential breakout candidates)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results to return | |
| exchange | No | Exchange name | binance |
| timeframe | No | Timeframe for analysis | 4h |
| maxBbWidth | No | Maximum BB width percentage to filter | |
| quoteAsset | No | Quote asset to filter by | USDT |
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 of behavioral disclosure. The description only states the purpose and does not explicitly disclose that this is a read-only screening operation, nor does it mention any limitations, prerequisites, or side effects. The verb 'Find' hints at read-only behavior, but the absence of explicit safety or operational context is a 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 description is a single, front-loaded sentence that conveys the essence without redundancy. Every word adds value, and it does not repeat schema or parameter details.
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?
This is a simple screening tool with well-documented parameters, but there is no output schema and the description does not hint at the return format (e.g., list of symbols, prices, BB widths). The description is adequate for a basic understanding but lacks enough context for an agent to predict the exact structure of results, making it incomplete.
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 has 100% coverage with descriptions for all 5 parameters, including defaults and enums. The description adds no parameter-level meaning beyond what the schema provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find') and clearly identifies the resource ('cryptocurrencies') and the filtering criterion ('narrow Bollinger Band width'), with an explicit use case ('potential breakout candidates'). This distinguishes it from sibling screeners like screener_top_gainers or screener_rsi_oversold.
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 this tool: when seeking potential breakout candidates based on narrow Bollinger Band width. However, it does not explicitly mention exclusions or alternatives, 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.
screener_multi_timeframeB
Analyze a symbol across multiple timeframes
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Trading pair symbol (e.g., BTC/USDT) | |
| exchange | No | Exchange name | binance |
| timeframes | No | Timeframes to analyze |
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 only states the high-level action without revealing what the tool actually does internallyโwhether it computes indicators, returns signals, or performs external requests. There is no mention of output format, side effects, or limitations, so an agent cannot anticipate the tool's behavior or consequences.
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 a single, front-loaded sentence with no filler words. It efficiently communicates the core purpose without redundancy. Every word contributes meaning, making it appropriately concise for a tool with a straightforward input 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?
The tool has no output schema and no annotations, placing the burden on the description to convey what results the agent can expect. The one-sentence description does not explain the nature of the analysis, the output structure, or any nuances like whether historical data is fetched or whether it's real-time. Given the moderate complexity of multi-timeframe analysis, this is insufficient for confident 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 input schema has 100% description coverage for all parameters (symbol, exchange, timeframes), so the schema already documents their meaning. The description adds no further parameter semantics; it just repeats 'symbol' and 'timeframes' in natural language. Per the baseline for high schema coverage, a score of 3 is appropriate because the schema handles the parameter explanation.
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: analyzing a specific symbol across multiple timeframes. The verb 'analyze' is action-oriented and the resource (symbol) and scope (multiple timeframes) are explicit, which distinguishes it from sibling tools like screener_top_gainers that scan markets. However, it doesn't specify what kind of analysis is performed (e.g., trend, momentum, indicators), leaving some ambiguity.
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 symbol-specific multi-timeframe analysis but provides no explicit guidance on when to use this tool versus alternatives. It doesn't mention exclusions, such as 'for market-wide scans use screener_* tools', nor does it reference sibling analysis tools. The context is clear enough to infer basic use, but the absence of alternatives or conditions leaves a gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screener_rsi_overboughtA
Find cryptocurrencies with RSI above a threshold (potentially overbought)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results to return | |
| minRsi | No | Minimum RSI value to filter | |
| exchange | No | Exchange name | binance |
| timeframe | No | Timeframe for analysis | 1h |
| quoteAsset | No | Quote asset to filter by | USDT |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It communicates that the tool filters by RSI threshold and implies a read-only screening operation, but it does not state the return format, whether results are sorted, or that the operation is safe. This is adequate for a simple screener but leaves gaps in output 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 a single, front-loaded sentence with 10 words. It uses an active verb and gives the core idea immediately. No filler, redundancy, or irrelevant information. This is an ideal length for a straightforward screener.
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 simplicity and the well-documented schema, the description is mostly sufficient, but it falls short because there is no output schema to explain return values. It does not mention what the results contain (e.g., symbols only, RSI values, exchange info) or how the limit parameter affects output. The addition of one or two sentences about the result payload would round it out.
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 has 100% description coverage, so the baseline is 3. The tool description adds minimal parameter-level meaning beyond referencing the threshold concept ('RSI above a threshold'), which maps to minRsi. It does not explain interactions between parameters like exchange, timeframe, and quoteAsset, but the schema already documents these adequately.
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 with a specific verb ('Find') and resource ('cryptocurrencies with RSI above a threshold'), and adds interpretive context ('potentially overbought'). It distinguishes itself from the sibling screener_rsi_oversold and indicator tools like indicator_rsi, which compute rather than screen.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives such as screener_rsi_oversold, screener_top_gainers, or indicator_rsi. While the purpose implies usage, there is no stated context, exclusions, or comparisons to sibling tools, leaving the agent to infer suitability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screener_rsi_oversoldA
Find cryptocurrencies with RSI below a threshold (potentially oversold)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results to return | |
| maxRsi | No | Maximum RSI value to filter | |
| exchange | No | Exchange name | binance |
| timeframe | No | Timeframe for analysis | 1h |
| quoteAsset | No | Quote asset to filter by | USDT |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral transparency burden. It accurately conveys a non-mutating filtering operation ('Find') and the threshold direction, but it does not disclose the output format, result ordering, data source, or whether results are based on current market data. For a simple read-only screener this is minimally adequate but not rich.
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 a single, front-loaded sentence that uses precise language without filler. It communicates the essential purpose immediately and is appropriately sized for a straightforward screener 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?
The tool is simple and the input schema is rich, but there is no output schema and the description does not describe the shape of the returned results, result ordering, or default limit behavior. These gaps are partially mitigated by the well-documented parameters and the clear screening intent, making it 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?
The input schema fully documents all five parameters (limit, maxRsi, exchange, timeframe, quoteAsset) with descriptions and defaults, giving 100% schema coverage. The description adds high-level meaning like 'below a threshold' and 'potentially oversold,' but it does not add parameter-level details beyond what the schema already provides.
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 the specific verb 'Find' and clearly identifies the resource ('cryptocurrencies') and the criterion ('RSI below a threshold'). It distinguishes the tool from the sibling `screener_rsi_overbought` by direction, and 'potentially oversold' reinforces the intended screening intent.
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 context for when to use this tool: when screening for oversold conditions using RSI. However, it does not explicitly mention when not to use it or point to alternative screeners such as `screener_rsi_overbought`, `screener_top_gainers`, or `screener_volume_surge`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screener_top_gainersA
Get top gaining cryptocurrencies on an exchange with technical indicators
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results to return | |
| exchange | No | Exchange name (binance, kucoin, bybit, etc.) | binance |
| timeframe | No | Timeframe for analysis | 15m |
| quoteAsset | No | Quote asset to filter by (USDT, BTC, etc.) | USDT |
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 of disclosure. It does not specify how 'top gaining' is calculated, what technical indicators are returned, or the output structure. It also does not mention rate limits or data source limitations.
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 a single, front-loaded sentence with no filler. Every word contributes to the purpose.
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 explains the core functionality and main inputs, but there is no output schema and the description does not specify the return format or the exact technical indicators included. Given the tool's moderate complexity, more detail would improve completeness but the current description is adequate.
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 four parameters are described in the schema with 100% coverage, so the description adds minimal additional meaning. It only loosely ties the 'exchange' parameter to the 'on an exchange' phrase but does not elaborate on parameter formats or relationships.
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 a specific action (Get), a specific resource (top gaining cryptocurrencies), and adds context (on an exchange with technical indicators). It distinguishes from sibling tools like screener_top_losers by specifying 'gaining' as opposed to losing.
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 top gainers are needed, but provides no explicit guidance on when to choose this tool over alternatives such as screener_volume_surge or screener_rsi_oversold. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screener_top_losersC
Get top losing cryptocurrencies on an exchange with technical indicators
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results to return | |
| exchange | No | Exchange name (binance, kucoin, bybit, etc.) | binance |
| timeframe | No | Timeframe for analysis | 15m |
| quoteAsset | No | Quote asset to filter by (USDT, BTC, etc.) | USDT |
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 of transparency. It only states a generic one-liner without disclosing details such as how losers are ranked, what technical indicators are returned, whether results are sorted, or any auth/rate limits. The behavioral traits are opaque.
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 a single 9-word sentence with no redundancy. It is front-loaded with the verb and resource, making it 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?
The tool has no output schema and no annotations, and the description is too sparse to fully specify behavior. It lacks key context such as sorting order, definition of 'losing', and how technical indicators are used, especially given the crowded screener sibling set.
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 covers 100% of parameters with descriptions, so the baseline is 3. The description adds no additional meaning beyond the schema, merely restating 'technical indicators' which is not mapped to any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('top losing cryptocurrencies on an exchange with technical indicators'), making the core function clear. It distinguishes from sibling 'screener_top_gainers' by specifying 'losing', though it does not explicitly compare with other screeners.
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 guidance on when to use this tool versus alternatives like screener_top_gainers or screener_rsi_oversold. There is no mention of use cases, prerequisites, or conditions that would make this tool preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screener_volume_surgeA
Find cryptocurrencies with unusually high volume compared to average
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results to return | |
| exchange | No | Exchange name | binance |
| timeframe | No | Timeframe for analysis | 1h |
| quoteAsset | No | Quote asset to filter by | USDT |
| minVolumeMultiplier | No | Minimum volume multiplier vs average |
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 only states what the tool does but does not indicate whether it is read-only, any permissions required, rate limits, or how 'average' is computed. The lack of any behavioral context beyond the core function leaves the agent with significant uncertainty.
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 a single, focused sentence of eight words. It is front-loaded with the action and includes the key differentiator ('compared to average'). Every word earns its place, with no redundancy or fluff.
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 plus schema covers the essential parameters well, but the lack of an output schema means the agent has no explicit guidance on what the result looks like (e.g., list of symbols, metadata). The description's implication of 'find cryptocurrencies' suggests a list, but the tool's overall behavior is not fully specified. It is minimally viable but lacks depth given the absence of annotations and 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 100%, with each parameter (limit, exchange, timeframe, quoteAsset, minVolumeMultiplier) having a clear description. The tool description adds no parameter-specific information beyond the schema, so the baseline of 3 applies. No additional semantic value is provided by the description itself.
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 ('Find') and resource ('cryptocurrencies') with a clear filter ('unusually high volume compared to average'). This unambiguously distinguishes it from sibling screener tools like screener_top_gainers or screener_bollinger_squeeze, which focus on different criteria.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: screening for cryptocurrencies with volume surges. However, it does not explicitly state when to use this tool over alternatives or provide any exclusion criteria. No alternative tools are mentioned, so the agent must infer usage from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_crypto_newsB
Search cryptocurrency news by keywords across all 7 sources
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results (1-30, default: 10) | |
| keywords | Yes | Comma-separated keywords to search for (e.g., 'bitcoin,etf' or 'ethereum,defi') |
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 of disclosing behavioral traits. It confirms a read-only search across seven sources, but it fails to mention result ordering, pagination, deduplication, or response format, leaving significant ambiguity about what the agent can expect.
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 a single, front-loaded sentence with no filler or redundant information. It conveys the essential function and scope in minimal words, earning full marks for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is too sparse to provide complete context. It does not describe the result structure, the names of the seven sources, or how this search differs from related news tools, making it insufficient for an agent to fully anticipate the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for both parameters, including the keyword format example and the limit default and range. The description adds only the phrase 'by keywords,' which does not meaningfully enhance parameter understanding beyond the schema, earning the baseline score for high 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 action ('search'), the resource ('cryptocurrency news'), and the scope ('by keywords across all 7 sources'). This distinguishes it from sibling tools like get_crypto_news or get_defi_news, which appear to be category-based feeds rather than keyword searches.
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 keyword-based news searches, but it does not explicitly state when to choose this tool over alternatives such as search_historical_news or get_breaking_crypto_news, nor does it mention any exclusions. The phrase 'across all 7 sources' provides some context but no direct comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_historical_newsA
Search full historical news archive. $0.01/query. Access years of crypto news with advanced filters and full-text search.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| coins | No | Filter by mentioned coins | |
| sortBy | No | Sort order | relevance |
| endDate | No | End date for search range (YYYY-MM-DD or ISO 8601) | |
| perPage | No | Results per page | |
| sources | No | Filter by sources | |
| keywords | No | Search keywords (supports AND, OR, NOT operators) | |
| sentiment | No | Filter by sentiment | all |
| startDate | No | Start date for search range (YYYY-MM-DD or ISO 8601) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears responsibility for behavioral disclosure. It does add useful context like the $0.01/query cost and mentions full-text search and advanced filters. However, it does not disclose return format, pagination behavior, or whether the operation is read-only (though 'Search' implies this). The cost disclosure is a positive, but there is no explicit side-effect or response-level detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose, and includes the pricing and key features without any filler or redundancy. Every phrase adds value, and it is appropriately sized for a moderately complex search 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?
The schema provides strong parameter coverage, but the description itself lacks high-level context such as what the response contains (e.g., article list with snippets) and how the pagination parameters relate to typical usage. Since there is no output schema and no annotations, the description should hint at the return structure, but it does not. It adequately conveys the core function but leaves some gaps for a fully self-contained description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's mention of 'advanced filters' and 'full-text search' adds only general context and does not provide meaning beyond what the parameter descriptions already explain. It neither clarifies how to combine filters nor details any particular parameter syntax beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb+resource: 'Search full historical news archive.' It further specifies the scope with 'years of crypto news,' which distinguishes it from real-time or breaking news tools among siblings. The function is unambiguous and properly scoped to historical archive search.
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 clearly implies when to use this tool: for searching historical news archives, not for current news. The phrase 'full historical news archive' and 'years of crypto news' set a clear context. However, it does not explicitly name alternative tools for real-time news or provide exclusions, so it lacks full '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.
send_private_transactionA
Send a transaction via Flashbots Protect RPC to avoid MEV extraction (frontrunning, sandwich attacks)
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient address | |
| data | No | Transaction data (hex) | |
| value | No | ETH value to send (in ether) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| gasLimit | No | Gas limit | |
| privateKey | Yes | Private key for signing | |
| maxFeePerGas | No | Max fee per gas (in gwei) | |
| protectionProvider | No | MEV protection provider | flashbots |
| maxPriorityFeePerGas | No | Max priority fee per gas (in gwei) |
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 states the core mechanism (Flashbots Protect RPC) and purpose, but does not disclose return values, failure modes, or limitations (e.g., whether protection guarantees success). This is a modest level of transparency for a mutation 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 a single, direct sentence with no wasted words. It is appropriately sized and front-loaded, effectively communicating the tool's purpose in under 20 words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, including network and provider selection) and lack of output schema/annotations, the description is thin. It doesn't specify return behavior or caveats like supported networks, though the schema provides parameter details. More context about what the caller should expect would improve completeness.
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 has 100% parameter description coverage, so the schema already documents all parameters. The description adds no parameter-specific information, and the baseline of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (send a transaction), the specific method (via Flashbots Protect RPC), and the intended outcome (avoid MEV extraction). This differentiates it from other send/transfer tools by highlighting its unique value proposition.
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 a clear usage context: use when MEV protection is needed. However, it does not explicitly mention alternatives (e.g., regular send_transaction) or when not to use this tool, such as for simple transfers where public broadcast is acceptable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
server_clear_cacheC
Clear server caches
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 disclosing behavioral traits. 'Clear server caches' does not indicate whether this is a destructive or irreversible operation, what specifically is cleared, whether it affects other users or global state, or any side effects. For a mutation tool, this is a serious transparency 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 description is extremely short and front-loaded, which is appropriate for a simple tool, but it is under-specified to the point of being almost a tautology of the tool name. It is concise but does not provide enough substantive information to earn a higher 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?
Despite the tool's simplicity, the description only restates the name without explaining the cache scope, the effect of clearing, or the intended use case. Given that there are no annotations, no output schema, and no parameter context, the description is incomplete for a tool that performs a side-effecting 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?
The tool has zero parameters and the input schema is empty with 100% coverage. There are no parameters to document, so the description's lack of parameter-specific information does not hinder usage. The baseline for zero-parameter tools is 4, and there is no reason to deviate.
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 'clear' and a specific resource 'server caches', which clearly states the tool's function and distinguishes it from sibling server tools like server_health or server_info. However, it lacks any additional detail about the scope or intended use, making it slightly generic and barely more informative than the tool 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?
No guidance is provided on when to use this tool or what alternatives exist. The description does not mention prerequisites, side effects, or context, leaving the agent to infer usage solely from the tool name and its own understanding of caching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
server_healthB
Check server health and status
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior, but it only restates the tool's purpose ('Check server health and status'). It does not explain what data is returned, side effects, or any other behavioral traits.
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 one short sentence, highly concise and front-loaded. However, it is so minimal that it borders on under-specification, though it is appropriately sized for a trivial 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?
The tool is simple (no parameters, no output schema), but the description still lacks detail about what 'health and status' means, what the output format is, and how it differs from sibling tools like server_info. This leaves the agent uncertain about what to expect.
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, and the schema coverage is effectively 100% (empty properties). Since there are no parameters, the baseline of 4 applies, and the description does not need to add 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 the tool checks server health and status, using a specific verb and resource. However, it does not differentiate this from sibling tools like server_info or server_validate_env, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as server_info or server_validate_env. There is no mention of contexts, exclusions, or related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
server_infoB
Get server information and capabilities
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description is the sole source for behavioral disclosure. It implies a non-mutating operation via 'Get', but does not disclose authentication needs, rate limits, side effects, or what specific information is returned. This falls short of full 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 a single, front-loaded sentence with no filler or repetition. It is concise and to the point, though somewhat underspecified in other dimensions.
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 absence of an output schema and annotations, the description should explain what is meant by 'information and capabilities' and how this relates to sibling tools like server_health, server_list_tools, or server_openapi_spec. It does not, leaving significant gaps for the 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?
The tool has zero parameters, so the input schema is trivially fully covered. The description does not need to explain parameters, and the baseline for zero-parameter tools applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Get') and resource ('server information and capabilities'), indicating this is a read-only informational endpoint. It is not a tautology and the mention of 'capabilities' helps differentiate it from sibling tools like server_health or server_rate_limits, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling server_* tools. There is no mention of alternative tools, exclusions, or recommended contexts, leaving the agent to infer its role from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
server_list_toolsB
List all available tools with descriptions
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search in tool names/descriptions | |
| category | No | Filter by category |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It accurately states the read-only listing behavior, but it does not disclose potential caveats like pagination, inclusion of parameter schemas, or scope limitations. The description is minimally transparent for a simple listing 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 a single, succinct sentence that immediately conveys the tool's purpose without any redundant words or filler. It is perfectly concise and 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?
Given the tool's simplicity (no required parameters, no output schema), the description is largely complete: it tells the agent what will be returned (tools and descriptions). However, it omits mention of the filtering options and the return format details, leaving minor gaps in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the two optional parameters (search and category), so the schema already explains their meaning. The tool description adds no extra semantic value for parameters, warranting the baseline score of 3.
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 the verb 'List' and identifies the resource as 'all available tools with descriptions,' clearly stating the tool's function. It is specific but does not explicitly differentiate from sibling tools like marketplace_discover_tools, though the 'server_' prefix hints at the distinction.
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 guidance on when to use this tool versus alternatives such as server_openapi_spec or marketplace_discover_tools. There is no mention of prerequisites, exclusions, or typical use cases, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
server_openapi_specB
Get OpenAPI specification for the server
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It only states the action without revealing any behavioral traits such as read-only nature, output format, or response size. This is a minimal disclosure with no additional 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 a single, focused sentence with no filler or redundant words. It communicates the core purpose efficiently, making it easy for an agent to parse and act upon.
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, no-output-schema tool, the description is minimally sufficient but omits details like the return format (JSON/YAML) and any access considerations. It is adequate but leaves room for a slightly richer description to fully specify expected outputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to clarify. The description appropriately does not attempt to document nonexistent parameters, aligning with the baseline for zero-parameter tools.
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 action ('Get') and resource ('OpenAPI specification for the server'). It is distinct from sibling server_* tools like server_info or server_list_tools, which do not specifically return the OpenAPI spec. However, it lacks details about the spec's format or scope, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It is a bare statement of purpose with no usage context, leaving the agent to infer appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
server_rate_limitsB
Get current rate limit status
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It merely restates the tool name with 'current' and 'status', adding almost no context about what the status includes, whether it is per-user or server-wide, or what the response structure will be. This is a near-tautology.
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 a single, front-loaded sentence with no filler. Every word contributes to conveying the tool's purpose, achieving maximum conciseness for its simplicity.
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?
Despite having no parameters and no output schema, the description is too thin. It fails to clarify what 'rate limit status' means in practice (e.g., remaining requests, reset time, limits) or what the response looks like, leaving significant gaps for an agent 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?
The input schema has zero parameters, so there is nothing for the description to explain. The baseline for 0 params is 4, and the description does not hamper understanding since no parameters exist.
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 'Get current rate limit status' uses a specific verb ('Get') and a clear resource ('rate limit status'). It distinguishes this tool from other server-related siblings like server_health, server_info, and server_openapi_spec, making it 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?
No guidance is provided on when to use this tool versus alternatives, nor any context about prerequisites or what to do with the information. The description is purely a label, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
server_validate_envC
Validate environment configuration
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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, but it discloses nothing. It does not state whether the tool performs read-only checks, makes network calls, requires authentication, has side effects, or what the validation results look like. This is a significant gap for a tool that could be invoked by an AI agent without knowing the consequences.
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 a single, front-loaded phrase with zero waste. For a tool with no parameters, this length is appropriate and every word carries meaning. It earns a top score for structural efficiency.
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?
Even though the tool has low complexity (no parameters), the absence of an output schema means the description should explain what the validation returns or what a successful vs failed validation looks like. The current text leaves the agent fully in the dark about the tool's behavior, making it incomplete in context.
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, and the input schema is empty with 100% schema description coverage. The baseline for zero-parameter tools is 4, and the description adds no new parameter information, but none is needed. This is a non-issue for this tool.
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 a specific action ('Validate') and a target resource ('environment configuration'), making its core purpose understandable. However, it does not differentiate itself from the many sibling server_* utility tools, so it misses the distinction criterion for 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 guidance on when to use this tool versus alternatives such as server_health, server_info, or server_list_tools. There is no mention of prerequisite conditions, expected invocation context, or situations where another tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_ens_recordsB
Set records for an ENS name (address, text records, contenthash)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ENS name | |
| records | Yes | Records to set | |
| privateKey | Yes | Private key of name owner |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full burden of behavioral disclosure. It says 'Set records' but does not disclose that this is an on-chain transaction requiring a private key, potentially incurring gas costs, or that it overwrites existing records. No details about irreversibility, ownership failure modes, or return value are 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?
The description is a single, concise sentence that front-loads the action ('Set records') and includes the resource and key record types in parentheses. Every word earns its place with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with nested parameters and no output schema, so the description needs to provide more context. It fails to mention that it returns a transaction hash, that it requires the caller to own the ENS name, or that it sends a blockchain transaction. The description is adequate for understanding the basic action but incomplete for safe and 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?
Schema description coverage is 100%, so the baseline is 3. The description lists 'address, text records, contenthash' which redundantly mirrors the schema's property descriptions. It adds no extra meaning about parameter relationships, constraints, or format beyond what the schema already provides.
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 ('Set records') and the resource ('an ENS name'), and specifies the record types (address, text records, contenthash). This distinguishes it from sibling read tools like get_ens_text_records and get_ens_avatar, as well as other write operations like register_ens_name and transfer_ens.
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 tool is for writing ENS records, contrasted with the many read-oriented sibling tools, but it does not explicitly state when to use it over alternatives or mention prerequisites like ownership. The required privateKey parameter hints at ownership, but no exclusions or alternative references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sign_messageB
Sign a message using personal_sign (EIP-191)
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Message to sign | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It only states the signing operation and does not mention the output format (e.g., signature string), any side effects, or how the private key is handledโthough the schema's privateKey description covers some security aspects, the tool description itself adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence that gets straight to the point. It includes the essential method (personal_sign/EIP-191) without any wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the schema fully documents its two parameters, but there is no output schema and no annotations. The description does not explain the return value (the signature) or provide usage context, leaving some gaps for an agent unfamiliar with EIP-191 personal_sign.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both parameters (message and privateKey) described in the schema. The description adds no extra parameter-level detail beyond naming the scheme, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Sign') and the resource ('a message'), and specifies the exact signing scheme ('personal_sign (EIP-191)'). This distinguishes it from related tools like sign_typed_data and hash_message, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use personal_sign versus alternatives such as sign_typed_data or hash_message. The description does not mention any exclusions or scenarios, leaving the agent without situational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sign_typed_dataB
Sign typed data using EIP-712
| Name | Required | Description | Default |
|---|---|---|---|
| types | Yes | Type definitions | |
| domain | Yes | EIP-712 domain | |
| message | Yes | Message to sign | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| primaryType | Yes | Primary type name |
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 of behavioral disclosure. It does not mention that the tool requires a private key, that the output is a signature, or any security considerations. The description is purely declarative and lacks depth.
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 a single, front-loaded sentence with no extraneous words. It directly communicates the tool's purpose, earning a high score for conciseness.
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 EIP-712 and the nested object parameters, the description is insufficient. There is no output schema, and the description does not explain what the tool returns, any caveats about the signing process, or the role of the private key.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter having a description, including a security note for privateKey. The tool description adds no additional parameter semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool signs typed data using the EIP-712 standard, specifying the verb (sign) and resource (typed data). This distinguishes it from sibling tools like sign_message, which signs simple messages, and verify_typed_data_signature, which verifies signatures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as verify_typed_data_signature or create_permit_signature. No context, prerequisites, or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_bundleA
Simulate a bundle of transactions to check execution and returns
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key for simulation | |
| blockNumber | No | Block number to simulate at (default: latest) | |
| transactions | Yes | Array of transactions to simulate |
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 states the tool 'simulates' (suggesting no on-chain execution), but it does not explicitly disclose that no real transaction is broadcast, how the private key is used, or what 'returns' means (tool output vs simulated asset returns). The lack of explicit safety profile is a 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 description is a single concise sentence with no filler. It is front-loaded with the action 'Simulate' and provides the key purpose efficiently.
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 a complex input structure (array of transactions) and no output schema. The description does not explain what the agent will receive back (simulation results format), the meaning of 'returns', or any side effects. This leaves the agent underspecified for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description adds no additional parameter-specific meaning beyond what is already in the schema. Baseline of 3 is appropriate since the schema fully documents all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Simulate' with a specific resource 'a bundle of transactions' and states the purpose 'to check execution and returns'. This clearly distinguishes it from sibling tool 'simulate_transaction' which simulates a single transaction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for simulating multiple transactions together ('a bundle'), but it does not explicitly state when to use it over alternatives like 'simulate_transaction' or provide exclusions. There is no clear when/when-not guidance, only implicit usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_transactionA
Simulate a transaction to check if it would succeed without actually sending it
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | The recipient address | |
| data | No | Transaction calldata as hex string | |
| from | No | The sender address (for simulation) | |
| value | No | Amount to send in ether (e.g., '0.1') | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the burden. It discloses the key behavioral trait: no actual transaction is sent. However, it doesn't mention whether it returns a boolean, a detailed error message, gas estimates, or state changes. It also doesn't state if it supports all networks listed or if simulation requires a funded account.
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 a single, concise sentence that front-loads the core purpose and outcome. Every word earns its place; no fluff 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 simulation tool with 5 parameters and no output schema, the description is adequate but leaves gaps. It doesn't explain what 'succeed' means (e.g., reverts, gas estimation failure), how to interpret the result, or whether this is a read-only operation. However, the schema's 100% coverage helps, and the core purpose is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema; the parameter descriptions in the schema are self-explanatory (e.g., 'recipient address', 'calldata as hex string'). The description doesn't clarify edge cases like 'value' formatting or network defaults, but the schema already covers this adequately.
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 'Simulate a transaction to check if it would succeed without actually sending it' uses a specific verb ('Simulate') and clearly distinguishes the tool from siblings like 'execute_swap' or 'send_private_transaction'. It states the core value proposition (check success without sending), making its purpose immediately 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: use this tool when you need to verify a transaction's outcome before committing. However, it doesn't explicitly exclude alternatives like 'estimate_gas' or 'simulate_bundle', nor does it state when not to use it. A clear context is provided but no alternative tools are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slice_hexB
Extract a portion of hex data
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | End byte position (exclusive) | |
| hex | Yes | The hex string to slice | |
| start | Yes | Start byte position (0-indexed) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description only says 'extract a portion.' It does not disclose whether slicing is byte-based, how out-of-bounds indices are handled, or whether the operation is non-destructive. The description is too terse to meaningfully inform the agent beyond the basic operation.
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 a single, simple sentence with no filler. It is front-loaded and every word is necessary, achieving maximal conciseness.
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 utility, the description is minimally adequate, but it lacks details such as byte positioning, exclusivity of the end parameter, and the return format. Since there is no output schema, a bit more context would be helpful, though the schema covers parameters well.
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 100% coverage for all three parameters (hex, start, end), so the description need not re-explain them. However, it adds no additional context about how the parameters relate to the slicing operation, keeping it at the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation (extract a portion) and the resource (hex data), which is specific to slice_hex and distinguishes it from sibling hex utilities like pad_hex or concat_hex. The verb 'extract' precisely conveys the action.
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 guidance is provided on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or when to prefer other hex manipulation tools, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_coin_metricsC
Get comprehensive social metrics for a cryptocurrency including Galaxy Score, AltRank, social volume, sentiment, and engagement.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Coin symbol (e.g., 'BTC', 'ETH') |
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 does not state that this is a read-only operation, whether authentication is needed, or what the response structure looks like. The mere listing of metric names does not convey behavioral traits beyond the basic retrieval 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 a single, front-loaded sentence that efficiently conveys the tool's purpose without fluff. The enumeration of metrics adds useful specificity despite being slightly compact.
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 without output schema or annotations, the description should clarify return format, time range, and whether metrics are current or historical. It lists metric names but omits these details, leaving the agent uncertain about what exactly will be returned and in what shape. Still, for a simple parameter tool, the core purpose is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear example for the 'symbol' parameter. The description adds little beyond saying 'cryptocurrency' and the schema already explains the expected format. This aligns with the baseline for high schema coverage, so no additional parameter insight is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves comprehensive social metrics for a cryptocurrency, listing specific metrics like Galaxy Score, AltRank, social volume, sentiment, and engagement. This makes the core purpose understandable, but it does not explicitly differentiate itself from the many sibling social_* tools such as social_get_twitter_stats or social_get_market_sentiment.
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 general context ('for a cryptocurrency') but provides no guidance on when to use this tool versus alternatives, nor any exclusions or conditions. It does not mention that more specific social tools exist for platform-specific stats, leaving the agent without guidance on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_coins_listC
Get social metrics for multiple cryptocurrencies. Includes Galaxy Score, AltRank, social volume for top coins.
| Name | Required | Description | Default |
|---|---|---|---|
| desc | No | Sort descending | |
| sort | No | Sort by metric | galaxy_score |
| limit | No | Number of coins to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden for behavioral disclosure. It mentions the included metrics but does not describe the return format, pagination, sorting semantics (beyond the enum values), or what 'top coins' means. It also fails to explicitly state that this is a read-only operation or mention any rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded with the key action and resource. It contains no filler or redundancy, making it highly readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what the response contains and any behavioral constraints. It remains vague about 'top coins' and does not clarify the return structure or limit behavior. This is inadequate for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all three parameters with descriptions (100% coverage), so the baseline is 3. The description adds minimal value by naming metrics that map to the sort enum but does not explain desc or limit semantics beyond what the schema already provides. It does not close any gaps.
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 social metrics for multiple cryptocurrencies, naming specific metrics (Galaxy Score, AltRank, social volume). This conveys a list-oriented purpose. However, it does not explicitly distinguish it from sibling tools like social_get_coin_metrics, which might target a single coin. The phrase 'top coins' is slightly ambiguous but the overall action is 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?
No guidance is provided on when to use this tool versus alternative social analytics tools, nor are any exclusions or prerequisites mentioned. The 'multiple cryptocurrencies' phrasing offers only implicit context. Given the extensive sibling list, there is no comparison to similar tools like social_get_coin_metrics or social_get_feed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_coin_time_seriesB
Get historical social metrics for a coin over time.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | End timestamp (Unix) | |
| start | No | Start timestamp (Unix) | |
| symbol | Yes | Coin symbol | |
| interval | No | Data interval | day |
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 only states what the tool returns ('historical social metrics') and the time dimension, but does not disclose limitations (e.g., supported time ranges, data source, pagination behavior, default interval if omitted, or whether the data is aggregated). This lack of detail is a transparency gap for a data-retrieval 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 a single, concise sentence with no filler or redundant information. It is front-loaded with the action and resource, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple query tool with fully documented parameters, the description is minimally sufficient. However, it lacks details about the return format, time range handling, or behavior when 'start' or 'end' are omitted. Given the sibling context and absence of an output schema, a bit more context would improve completeness, but the current description is not misleading or grossly inadequate.
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 description coverage is 100%, so the schema already provides meaningful descriptions for all four parameters (symbol, start, end, interval). The description adds no additional parameter context beyond what the schema offers. Baseline score of 3 applies because the schema does the heavy lifting and the description does not contradict or enrich it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Get'), resource ('historical social metrics for a coin'), and temporal scope ('over time'). It distinguishes from sibling tools like social_get_coin_metrics (which likely returns current metrics) and social_get_feed (posts). It could be more specific about which social metrics are included, but the core purpose is 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 provides no information about when to use this tool versus alternatives. It does not mention that this is for historical data as opposed to current metrics, nor does it reference sibling tools like social_get_coin_metrics. The 'over time' phrasing implies historical, but there are no explicit exclusions or contextual comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_dominanceB
Get social dominance metrics - share of social mentions compared to total crypto mentions.
| Name | Required | Description | Default |
|---|---|---|---|
| symbols | Yes | Array of coin symbols to compare |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It explains the metric's meaning (share of social mentions vs total crypto mentions), which adds transparency about what is computed. However, it does not disclose data sources, time periods, output format, or any limitations, leaving gaps for a read-only metrics 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 a single, front-loaded sentence that defines the tool's purpose without any fluff. It is appropriately concise and well-structured, earning a high 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?
The tool is simple with one well-documented parameter, but there is no output schema, so the description should compensate by explaining return values or usage context. It defines the metric but omits details like the response structure, time period, or any caveats, making it 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?
The schema already provides 100% coverage with a clear description of the 'symbols' parameter ('Array of coin symbols to compare'). The description adds no additional parameter context, so the baseline score of 3 is appropriate given the schema's completeness.
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 retrieves social dominance metrics and defines the metric as 'share of social mentions compared to total crypto mentions.' This is a specific verb+resource with a useful definition. It distinguishes from sibling social tools like sentiment or feed tools, 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?
No guidance is provided on when to use this tool versus other social analytics tools. The description only explains what it does, leaving the agent to infer usage context from the name and definition. There are no explicit exclusions or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_feedC
Get recent social posts about cryptocurrencies from Twitter, Reddit, and other platforms.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of posts | |
| source | No | Social platform | all |
| symbol | No | Filter by coin symbol |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are available, so the description carries the full behavioral burden. It mentions 'recent' but does not define the time window, sorting, pagination, aggregation behavior, or other important operational details. The description adds minimal behavioral context beyond what the tool name implies.
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 a single, clear sentence with no wasted words. It is extremely concise and front-loaded, earning its place as a quick overview.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is the only source of contextual information. It fails to explain the return format, the meaning of 'recent', or how the symbol filter interacts with the source selection. For an agent to invoke this tool correctly, more comprehensive information is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter having a brief description in the schema. The tool description itself does not add any parameter semantics, but the baseline of 3 is appropriate since the schema already documents the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves recent cryptocurrency-related social posts across Twitter, Reddit, and other platforms. It names the resource and provides the action, making the purpose clear. However, it does not explicitly differentiate from similar sibling tools like social_get_trending_posts.
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 guidance on when to use this tool versus the many other social tools in the sibling list, such as social_get_trending_posts or social_get_news_sentiment. There are no exclusions or alternative recommendations, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_github_statsC
Get GitHub development activity for a cryptocurrency project.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Coin symbol (e.g., 'ETH') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description alone must disclose behavioral traits. It only states a basic get operation without revealing what data is returned, potential rate limits, data freshness, or whether it is read-only. This leaves significant ambiguity for such a simple 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 a single, concise sentence that front-loads the core purpose. It wastes no words, though it sacrifices depth for brevity. It earns a 4 because it is efficient and clear, but not maximally informative.
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 simplicity of the tool (one parameter, no output schema), the description is minimal but still incomplete. It fails to explain what 'development activity' encompasses, which is essential for an agent to know if this tool fits the user's request. The lack of context around the GitHub data source and return format makes it hard to use 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?
The input schema covers the only parameter (symbol) with a clear description and example. The tool description adds no extra meaning to the parameter beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('GitHub development activity'), making it clear what the tool does. However, it could be more precise by indicating what metrics are included (e.g., commits, PRs). It also effectively distinguishes from siblings like social_get_dominance, which focus on other aspects.
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 guidance on when to use this tool versus alternatives. It does not mention any exclusions or recommend alternatives, leaving the agent without context for selection among the many social_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_influencerB
Get detailed information about a specific influencer.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | Twitter/X handle of the influencer |
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 only indicates a read operation ('Get detailed information') but does not note any potential side effects, rate limits, data freshness, or behavior when the handle is invalid or not 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 a single, front-loaded sentence without redundancy. It is appropriately sized for a tool with one parameter, though it is slightly terse and could be expanded without losing conciseness.
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 is simple with one well-documented parameter, but there is no output schema and the description does not clarify what 'detailed information' includes (e.g., profile, metrics, posts). This is a minimal but adequate description for a basic lookup, though additional context would improve completeness.
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 description coverage is 100% (handle is described as 'Twitter/X handle of the influencer'), so the baseline is 3. The description adds minimal extra meaning beyond the schema, only reinforcing that the handle refers to a specific influencer.
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 ('Get') and resource ('detailed information about a specific influencer'), clearly distinguishing it from sibling tools like social_get_influencers (plural) and social_get_influencer_posts. The parameter handle further clarifies the target.
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 guidance on when to use this tool versus alternatives. Sibling tools such as social_get_influencers and social_get_influencer_posts exist, but the description does not mention them or any context for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_influencer_postsB
Get recent posts from a specific influencer.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of posts | |
| handle | Yes | Twitter/X handle |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It only says 'get recent posts' and does not clarify what 'recent' means, return format, pagination, ordering, or any limitations. For a read operation this is a notable gap but not misleading.
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 a single, front-loaded sentence with no filler. Every word contributes to conveying the tool's purpose. It is appropriately concise for a tool with two simple 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?
This is a low-complexity tool with full schema coverage, so the description is nearly sufficient. However, there is no output schema and no mention of what fields, ordering, or pagination the returned posts will have, leaving some ambiguity about what the caller actually receives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with handle described as 'Twitter/X handle' and limit as 'Number of posts'. The tool description adds no further semantic detail beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get recent posts from a specific influencer' clearly states the verb, resource, and scope. It distinguishes from siblings like social_get_influencer (which likely returns profile data) and social_get_trending_posts (which is not specific to one influencer), though it does not 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?
Usage is implied: this tool is for retrieving posts from a known, specific influencer. However, there is no explicit guidance on when to prefer this over related tools like social_get_feed or social_get_trending_posts, and no exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_influencersB
Get top crypto influencers ranked by engagement and followers.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort metric | influence_score |
| limit | No | Number of influencers | |
| symbol | No | Filter by coin they discuss |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims ranking by 'engagement and followers', but the schema's default sort is 'influence_score', which is potentially misleading. No annotations exist to clarify safety or side effects, and the description provides no additional behavioral context like pagination or return format.
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 a single, front-loaded sentence with no filler. It efficiently captures the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should provide some insight into the returned data structure. It only states 'top crypto influencers ranked by engagement and followers' without specifying what fields each influencer includes (e.g., name, handle, follower count, engagement rate). An agent would lack sufficient context to use the result effectively.
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 have descriptions in the schema (100% coverage), so the description need not compensate. However, the phrase 'ranked by engagement and followers' oversimplifies the sort options (which also include influence_score), adding slight ambiguity rather than clarity.
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 'get' and the resource 'top crypto influencers', with specific ranking criteria (engagement and followers). It distinguishes itself from sibling tools like social_get_influencer (singular) and social_get_influencer_posts by indicating a ranked list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or alternative tools such as social_get_influencer for single-influencer lookups. The intended usage is only implied by the tool's name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_market_sentimentA
Get overall crypto market sentiment aggregated from social data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It reveals only that the result is aggregated from social data, but does not describe the response format, possible value range, update frequency, or limitations. The read-only nature is only implied by 'Get' and not explicitly stated.
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 a single, front-loaded sentence with no filler, redundancy, or unnecessary detail. Every word contributes to defining the tool's purpose.
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 zero-parameter tool, the description covers the essential purpose, but with no output schema and no annotations, it should have stated what the returned sentiment data looks like (e.g., score, label). This omission leaves the agent guessing about the response, so it is complete enough only for basic selection, not full invocation confidence.
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 the input schema is trivially complete and no further parameter explanation is needed. The baseline for parameterless tools 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?
The description uses a specific verb ('Get') and clearly identifies the resource ('overall crypto market sentiment') and data source ('aggregated from social data'). This distinguishes it from sibling tools like social_get_market_sentiment_history and social_get_news_sentiment, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrasing 'overall' and 'aggregated from social data' gives clear context that this tool is for a market-wide sentiment snapshot rather than per-coin or news-specific sentiment. However, it does not explicitly mention when not to use it or name alternative tools, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_market_sentiment_historyC
Get historical market sentiment data.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days of history | |
| interval | No | Data interval | day |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It merely states the resource without revealing response format, limits, or any special behaviors. The minimal description adds no information beyond what the tool name already suggests.
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 a single clear sentence, which is efficient. However, it is under-specified and could be enriched with additional context without becoming verbose. It is not as minimal as a tautology but lacks substantive detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and minimal description, leaving the agent without information about the return structure or data granularity. The description does not clarify what 'market sentiment' encompasses or any constraints, making it incomplete for a data-retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters (days and interval) with descriptions and defaults, achieving 100% schema_description_coverage. Since the description adds no additional parameter context, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves historical market sentiment data, using a specific verb and resource. The word 'historical' distinguishes it from social_get_market_sentiment, though it doesn't explicitly reference siblings.
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 guidance is provided on when to use this tool versus alternatives like social_get_market_sentiment or social_get_news_sentiment. The context of historical data is implied but not explicitly stated as a use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_news_sentimentC
Get sentiment analysis of recent crypto news articles.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of articles | |
| symbol | No | Filter by coin symbol |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only says 'Get sentiment analysis,' without explaining what the response contains (e.g., sentiment scores, articles), the meaning of 'recent,' or any limits/pagination behavior. This is a significant gap for a tool with no annotation safety net.
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 a single concise sentence that immediately conveys the core purpose. There is no redundant information or filler, making it highly 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?
The tool has no output schema and no annotations, so the description must compensate. It fails to specify what the sentiment analysis returns, the time window for 'recent,' or any other contextual details. While the parameters are documented, the lack of output and behavioral context leaves the description incomplete 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?
The input schema fully describes both parameters: 'limit' as 'Number of articles' and 'symbol' as 'Filter by coin symbol.' With 100% schema description coverage, the description adds no additional value for parameter semantics, warranting a baseline score of 3.
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: 'Get sentiment analysis of recent crypto news articles.' It uses a specific verb and resource, making it clear what the tool does. However, it doesn't explicitly differentiate from sibling tools with similar purposes, such as social_get_market_sentiment or get_breaking_crypto_news.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description doesn't mention exclusions, prerequisites, or related tools, leaving the agent to infer usage solely from the tool's name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_nft_collectionB
Get detailed social metrics for a specific NFT collection.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Collection slug/identifier |
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 mentions 'detailed social metrics' but does not specify what those metrics are, whether the operation is read-only, or any rate limits or prerequisites. The behavioral characteristics remain opaque.
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 a single concise sentence that front-loads the core purpose. There is no redundant information or padding; every word contributes to understanding the tool's function.
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 tool, the description is adequate to indicate the basic operation, but without an output schema or any detail on what 'social metrics' includes, the return format and content are undefined. This leaves a gap in completeness for a tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the single parameter 'slug' is described as 'Collection slug/identifier', which sufficiently explains the input. The description adds minimal extra meaning beyond 'specific NFT collection', but no compensation is needed given the complete 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 identifies the action ('Get'), the resource ('social metrics'), and the scope ('specific NFT collection'). It is distinct from the plural sibling social_get_nft_collections, which likely lists collections, but it does not explicitly differentiate itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving social metrics for a single collection, which suggests a use case. However, it lacks explicit guidance on when not to use it or how it relates to alternatives like social_get_nft_collections or social_get_coin_metrics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_nft_collectionsC
Get social metrics for NFT collections.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort metric | social_volume |
| limit | No | Number of collections |
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 only says 'Get social metrics' and reveals nothing about default sorting, limits, output format, or any non-obvious behaviors. This is a minimal, implicit read operation with no behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence with no filler or redundant wording, and the key action and object are front-loaded. It loses some points for not including any supplementary structure, but it is efficient for the size of 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?
The tool has no output schema, so the description should explain what 'social metrics' actually returns (e.g., collection names, metric values, units), but it does not. It also fails to clarify sorting options or how 'limit' affects results, making the description incomplete for a useful 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?
The schema covers 100% of parameters with descriptions for 'sort' (enum with options) and 'limit' (number of collections). The description adds no extra parameter meaning, so the schema's rich coverage makes the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets social metrics for NFT collections, which is a specific verb+resource pair. However, it does not differentiate itself from the sibling tool 'social_get_nft_collection' (singular), so the plural scope is ambiguous.
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 guidance is provided on when to use this tool versus the singular 'social_get_nft_collection' or other social metrics tools. There is no mention of trade-offs, prerequisites, or suggested contexts, so the agent has no basis for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_reddit_statsA
Get Reddit statistics for a cryptocurrency (subscribers, active users, posts).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Coin symbol (e.g., 'BTC') |
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 of behavioral disclosure. It clearly indicates a read operation ('Get') and lists the returned metrics, but does not disclose potential limitations, response format, or any authentication/rate-limit requirements.
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 a single concise sentence, front-loaded with the action, and contains no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read tool, the description covers purpose, input, and output metrics. It lacks details on historical vs current data or response structure, but no output schema exists to fill that gap; still, the description is sufficient for basic 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 input schema fully documents the single parameter 'symbol' with an example ('BTC'), providing 100% coverage. The description adds little beyond restating the cryptocurrency context, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and a clear resource 'Reddit statistics for a cryptocurrency', enumerating the metrics (subscribers, active users, posts). This distinguishes it from sibling tools like social_get_twitter_stats and social_get_github_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?
The description provides a clear context for when to use the tool: to retrieve Reddit statistics for a cryptocurrency. It does not explicitly mention alternatives or exclusions, but the purpose is unambiguous and sufficient for a simple read tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_topicB
Get detailed social metrics for a specific topic/narrative.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic name (e.g., 'defi', 'memecoin', 'eth-etf') |
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 for behavioral disclosure. It only says 'detailed social metrics' without specifying what metrics are returned, whether data is historical/current, or any limitations. This is minimal and leaves major gaps for an agent deciding if this tool 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 a single concise sentence with no redundant wording. It front-loads the main action and resource, making it easy to parse. Zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only a 9-word description, the tool leaves the agent with little understanding of what 'detailed social metrics' includes. Given the large sibling set, the description fails to provide necessary context about return values, time ranges, or other behavioral nuances.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the 'topic' parameter already documented with examples ('defi', 'memecoin', 'eth-etf'). The description adds no additional meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed social metrics for a specific topic/narrative, using a specific verb and resource. It distinguishes from siblings like social_get_topics (which likely lists topics) and social_get_twitter_stats (which focuses on platform-specific stats), though it does not explicitly name these differences.
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 'for a specific topic/narrative' implies use when a single topic's metrics are needed, as opposed to general lists or coin-specific metrics. However, there is no explicit guidance on when to choose this tool over siblings like social_get_coin_metrics or social_get_market_sentiment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_topicsB
Get trending topics/narratives in crypto social media.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of topics | |
| category | No | Filter by category (e.g., 'defi', 'nft', 'layer1') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior on its own. It does not state whether the operation is safe, read-only, or what output format to expect. This leaves the agent without critical context for a tool that may have no side effects but also no explicit safety assurance.
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 a single sentence that is front-loaded with the primary action ('Get trending topics/narratives') and does not contain unnecessary words 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?
This is a simple read tool with two optional parameters and no output schema. The description explains the tool's core purpose but does not discuss response format, param behavior, or any edge cases. It is minimally viable but lacks depth for an agent to fully anticipate the tool's output.
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 has 100% coverage with descriptions for both 'limit' and 'category'. The description adds no additional parameter detail, which is acceptable given the schema already documents them. The baseline score of 3 applies because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves trending topics/narratives in crypto social media. However, it does not differentiate from sibling tools like social_get_topic or social_get_trending_posts, which may also return topic-related 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?
There is no guidance on when to use this tool versus alternatives such as social_get_topic or social_get_trending_posts. The description implies a general use case but provides no explicit when/when-not or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_trending_postsC
Get trending/viral social posts in the crypto space.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Trending type | hot |
| limit | No | Number of posts |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden. It discloses only the basic action and scope, with no details about how trending is determined, which platforms are included, time windows, pagination, or any other behavioral characteristics.
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 a single short sentence with no filler. It is front-loaded and easy to parse, though it could benefit from slightly more detail without becoming verbose.
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 is simple, and the schema covers the parameters. However, with no output schema and limited description, it lacks context on the return format, data sources, or relationship to sibling social tools, making it minimally adequate but incomplete.
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 has full coverage (100%) with descriptions for both parameters ('type' and 'limit'). The description adds no additional parameter context, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('trending/viral social posts') with a clear scope ('in the crypto space'). It is understandable and distinct from most siblings, though it does not explicitly differentiate from other post-retrieval tools like social_get_feed or social_get_influencer_posts.
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 usage guidance is provided. The description does not state when to use this tool over alternatives such as social_get_feed or market_coingecko_trending, nor does it mention any exclusions or specific scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
social_get_twitter_statsA
Get Twitter/X statistics for a cryptocurrency (followers, tweets, engagement).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Coin symbol (e.g., 'BTC') |
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 indicates a read-only 'Get' operation and enumerates the output metrics (followers, tweets, engagement), but it does not disclose potential limitations, data freshness, or rate limits. For a simple getter, this is minimally sufficient and does not contradict any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently states the action and resource, lists the key metrics, and contains no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description adequately conveys the input and expected output metrics. It does not cover edge cases or data source details, but it is complete enough for an agent to select and invoke the tool correctly, especially given the simple nature of the 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?
The input schema already documents the single parameter `symbol` with a clear description ('Coin symbol (e.g., 'BTC')') at 100% coverage. The tool description only says 'for a cryptocurrency,' which adds no new meaning or constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('Twitter/X statistics for a cryptocurrency'), with a parenthetical specifying the exact metrics (followers, tweets, engagement). This differentiates it from similar siblings like social_get_reddit_stats and social_get_github_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?
The description implies the tool should be used when Twitter/X stats are needed, but it gives no explicit guidance on when to choose this over alternatives or when not to use it. No alternative tools are mentioned, though the sibling context suggests such differentiation would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
solana_execute_swapB
Execute a token swap using Jupiter DEX aggregator (using private key from environment)
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of input tokens (in smallest denomination) | |
| inputMint | Yes | Input token mint address | |
| outputMint | Yes | Output token mint address | |
| slippageBps | No | Slippage tolerance in basis points (optional, default 50 = 0.5%) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits itself. It does mention that the private key comes from the environment, which is useful, but it omits critical facts: this is a state-changing transaction that incurs gas fees, may fail due to slippage/price movement, and is irreversible. The description does not explicitly warn about potential loss of funds.
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 one concise, front-loaded sentence with no unnecessary words. It communicates the essential action and context efficiently.
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?
This is a complex state-changing operation with no output schema and no annotations. The description fails to mention the return format (e.g., transaction signature), possible failure modes, or prerequisites like obtaining a quote. The single sentence leaves significant gaps for an agent attempting 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?
All four parameters have schema descriptions, so baseline is 3. The tool description adds no additional parameter semantics beyond what the schema already provides, such as format or constraint details. The note about the private key being from the environment implicitly explains why no private key parameter exists, a minor addition.
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 executes a token swap using the Jupiter DEX aggregator on Solana. The verb 'Execute' and resource 'token swap' are specific, and the mention of Jupiter and environment private key distinguishes it from other Solana tools like solana_get_swap_quote and generic execute_swap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, such as first fetching a quote via solana_get_swap_quote, nor does it mention prerequisites like token approval or sufficient balance. It provides no exclusions or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
solana_get_account_infoC
Get detailed account information for a Solana address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Solana account address | |
| encoding | No | Data encoding format |
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 disclosing behavior. It only says 'Get detailed account information', which implies a read operation but does not explain what data is returned, potential errors, or any rate limits. No additional behavioral context is offered.
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 a single concise sentence that front-loads the purpose without unnecessary words. It is efficient, though it sacrifices informative detail for brevity.
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 no output schema and no annotations, the description is too minimal. It does not clarify what constitutes 'detailed account information' (e.g., lamports, owner, executable flag), how the encoding parameter affects output, or what the response structure looks like. This leaves the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptions, so the baseline is 3. The description does not add any extra meaning beyond the schema's existing parameter descriptions for 'address' and 'encoding'.
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 the specific action 'Get' and resource 'detailed account information for a Solana address'. It is clear what the tool does, though it does not explicitly differentiate from siblings like solana_get_balance or solana_get_spl_token_balances, which are more specific in scope.
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 guidance is provided about when to use this tool versus alternatives (e.g., solana_get_balance for just balance, or aptos_get_account for other chains). The description lacks any context on suitability or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
solana_get_balanceB
Get SOL balance for a Solana address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Solana account address |
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 indicates a read operation but does not state whether the balance is returned in lamports or SOL, what happens for invalid addresses, or whether network selection is required. This lack of detail could lead to incorrect interpretation of 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?
The description is a single sentence with no unnecessary words. It is front-loaded with the verb 'Get' and immediately conveys the essential information, making it highly efficient and easy 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?
This is a simple read tool with one well-covered parameter and no output schema. The description is adequate for basic selection but omits important context such as the unit of the returned balance (lamports vs SOL) and any error behavior. Given the low complexity, a 3 reflects a minimum viable description with clear 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 coverage is 100%: the only parameter 'address' is described as 'Solana account address'. The description does not add any new meaning beyond restating the schema's description, so the baseline of 3 applies because the schema already handles 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 'Get SOL balance for a Solana address' uses a specific verb (Get), identifies the exact resource (SOL balance), and scopes it to a Solana address. This clearly distinguishes it from siblings like solana_get_spl_token_balances (which handles token balances) and other chain balance 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?
No guidance is provided on when to use this tool versus alternatives such as solana_get_account_info, solana_get_spl_token_balances, or balance tools for other chains. There is no mention of exclusions, prerequisites, or specific scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
solana_get_my_addressA
Get your Solana public address from private key in environment
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 reveal that the private key is read from the environment, which is a key behavioral trait. However, it omits important details like whether the operation is purely local, what happens if the private key is missing, or any error conditions. For a simple no-parameter tool, this is adequate but not rich.
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 a single sentence that is front-loaded with the core action and resource. It is concise with no redundant or unnecessary words, which is ideal for a simple tool. Every word contributes to the 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 tool with no parameters and no output schema, the description is largely complete. It tells the agent what the tool does and where the private key comes from. However, it could be slightly more complete by noting the return value format (e.g., a public key string) or the requirement for a properly set environment variable, but these are minor gaps for such a straightforward 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?
The input schema has zero parameters, so the baseline for parameter semantics is 4. The description correctly avoids explaining any input parameters since there are none. The mention of 'private key in environment' clarifies the implicit source, which is not a parameter but a contextual detail, and does not need further elaboration.
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 (Get), the resource (Solana public address), and the source (private key in environment). It is specific to Solana and distinguishes itself from sibling tools like solana_get_balance or get_address_from_private_key by emphasizing 'my' and the environment-based private key.
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 guidance is provided about when to use this tool versus alternatives. There is no mention of exclusions, prerequisites (e.g., having a private key set in the environment), or comparisons with similar tools such as get_address_from_private_key. The usage context is only implied by the tool's name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
solana_get_spl_token_balancesB
Get SPL token balances for a Solana address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Solana account address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure, but it only restates the tool's purpose. It does not mention return format, whether native SOL is excluded, how errors are handled, or any other behavioral nuances beyond what the name already conveys.
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 a single, focused sentence with no extraneous words. It earns its place by stating the core function, though it is minimal.
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 absence of an output schema and annotations, the description should at least indicate what the response looks like (e.g., an array of token balances) or any important limitations. It provides none of that, making it incomplete for an agent to confidently 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?
The address parameter is fully described in the schema ('Solana account address'), and the tool description adds no additional meaning beyond that. With 100% schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and clearly identifies the resource ('SPL token balances') and target ('a Solana address'). It distinguishes this tool from solana_get_balance (which likely retrieves native SOL) and other chain-specific token balance 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?
No guidance is provided on when to use this tool versus alternatives such as solana_get_balance or similar token balance tools on other chains. The intended usage is only implied by the name and minimal description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
solana_get_swap_quoteB
Get best swap quote from Jupiter DEX aggregator
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of input tokens (in smallest denomination) | |
| inputMint | Yes | Input token mint address | |
| outputMint | Yes | Output token mint address | |
| slippageBps | No | Slippage tolerance in basis points (optional, default 50 = 0.5%) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It only states the purpose and does not reveal that it is a read-only query, any potential external call latency, return format, or whether it requires prior setup. This leaves the agent with a significant 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 description is a single focused sentence that front-loads the core purpose. There is no wasted text or redundant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is too sparse. An agent would not know what the quote contains, whether it is safe to call, or how it connects with related tools like 'solana_execute_swap'. More behavioral and contextual detail is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds no extra meaning beyond the schema, but the schema already explains amount, mints, and slippage clearly.
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 clearly states a specific verb ('Get'), resource ('best swap quote'), and provider ('Jupiter DEX aggregator'). This distinguishes it from other swap-related tools like 'get_swap_quote' or 'execute_swap' by scoping to Solana+Jupiter.
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 guidance is provided on when to use this tool versus alternatives such as the generic 'get_swap_quote' or the related 'solana_execute_swap'. The name imples Solana context, but there is no explicit reasoning or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
solana_transferA
Transfer SOL from your keypair (using private key from environment) to another address
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of SOL to send | |
| toAddress | Yes | Destination wallet address |
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 a key behavioral fact (private key from environment) and the source of funds. However, it omits important details like the transaction being irreversible, whether it returns a transaction hash, or how network/fees are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence conveys all essential information without redundancy. It is front-loaded and every word contributes to the 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 simple two-parameter transfer tool, the description adequately covers the core flow: source, destination, and asset. It does not mention return values or confirmation behavior, but the absence of an output schema and the tool's simplicity reduce the impact of this omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for both parameters (100% coverage), so the description adds little beyond clarifying the sender. The description does not introduce additional nuance such as unit precision or gas considerations, but this is acceptable given the schema's clarity.
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 (transfer), resource (SOL), source (keypair), and destination (another address). This distinguishes it from sibling tools like solana_execute_swap and transfer_native_token, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by specifying that the transfer is from the user's own keypair using the private key from the environment. However, it does not explicitly mention alternatives or exclusions, such as SPL token transfers or swaps, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
speed_up_transactionA
Speed up a pending transaction by resubmitting it with higher gas price. Only works for pending transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| originalTxHash | Yes | The hash of the pending transaction to speed up | |
| gasPriceMultiplier | No | Multiplier for gas price (1.5 = 50% more gas, range: 1.1-10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It reveals the action (resubmitting with higher gas price) and the limitation (pending only), but does not disclose potential consequences such as the original transaction being replaced, gas cost implications, or failure if the transaction is already mined. This is basic but not rich behavioral 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 two short sentences, with no redundant filler. The first sentence states the core action and method, and the second adds a necessary constraint. Every word 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?
For a transaction mutation tool with no annotations and no output schema, the description is adequate but not comprehensive. It explains the main behavior and a key condition, but lacks details about return values, error cases, and side effects. Given the sibling tools (e.g., cancel_transaction), it could also benefit from cross-referencing alternatives.
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 covers all four parameters with descriptions, so the baseline is 3. The description adds no additional parameter-level meaning beyond what the schema already providesโit only says 'higher gas price' which maps directly to the gasPriceMultiplier parameter already described in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Speed up') and resource ('pending transaction'), and states the mechanism ('resubmitting it with higher gas price'). This clearly distinguishes it from related tools like cancel_transaction and simulate_transaction.
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 states the precondition ('Only works for pending transactions'), which provides a clear usage context. It does not explicitly mention alternatives, but the scope constraint is sufficient for a terse tool description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stake_eth_lidoB
Stake ETH with Lido to receive stETH (liquid staking)
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of ETH to stake | |
| network | No | Network (Lido only on Ethereum mainnet) | ethereum |
| referral | No | Referral address (optional) | |
| privateKey | Yes | Private key for signing transaction |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full responsibility for disclosing behavior. It fails to mention that this is a state-changing transaction requiring gas, that the private key is used to sign, that staked ETH is not directly reversible, or that a transaction hash is returned. The only behavioral hint is 'receive stETH (liquid staking)', which is insufficient for a transaction involving a private key.
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 a single, front-loaded sentence that efficiently conveys the action and result. It contains no redundant content and earns its place. Brevity is present without sacrificing purpose clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite complete schema coverage, this is a DeFi staking operation with significant complexity (transaction submission, gas, security considerations). The description is incomplete: no mention of what happens after execution (e.g., transaction hash, stETH credited to the signer's address), no explanation of the staking process, and no output schema to fill gaps. The description would need more context to be considered 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?
The input schema has 100% coverage with clear descriptions for each parameter (amount, network, referral, privateKey). The description does not add further parameter-level detail beyond stating the overall outcome. Baseline 3 is appropriate since schema already handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Stake'), a clear resource ('ETH with Lido'), and a concrete outcome ('receive stETH (liquid staking)'). It distinguishes from generic siblings like 'stake_tokens' by naming Lido and stETH, and from 'wrap_steth' which wraps existing stETH.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the appropriate use case (staking ETH via Lido to get liquid stETH) but does not explicitly mention when to use this tool versus alternatives like 'stake_tokens' or 'wrap_steth'. There are no exclusions or alternative recommendations, 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.
stake_lp_tokensB
Stake LP tokens in a MasterChef-style farming contract
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of LP tokens to stake | |
| poolId | Yes | Pool ID to stake in | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key for signing transaction | |
| farmContract | Yes | Farm contract address (MasterChef style) |
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 not disclose that this is a state-changing on-chain transaction, requires private key signing, or may need token approval. The description merely restates the function without adding behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundant or excessive wording. It is concise and 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?
For a transaction tool requiring privateKey and network, the description lacks critical context: it doesn't mention that a transaction will be signed and broadcast, that users may need to approve token spending first, or potential risks. No output schema or annotations compensate, leaving the agent under-informed for a write 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 100%, so the schema documents all parameters. The description adds slight context by specifying MasterChef-style, which helps interpret poolId and farmContract, but it does not provide additional meaning beyond the schema's parameter 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 uses a specific verb ('Stake'), resource ('LP tokens'), and context ('MasterChef-style farming contract'), clearly distinguishing this tool from generic staking tools like stake_tokens. The protocol type 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?
No guidance is provided on when to use this tool versus alternatives such as stake_tokens, add_liquidity, or other farming-related tools. The description states only the action, not the use case or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stake_tokensC
Stake tokens in a staking contract
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount to stake (in wei) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| stakingContract | Yes | Staking contract address |
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 of behavioral disclosure. It only states the action and doesn't reveal that this is a transaction-sending operation that requires gas, may require prior token approval, or returns a transaction hash. It could mislead an agent into thinking it's a simple read-like operation.
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 a single, front-loaded sentence with zero fluff. It is concise and appropriately sized given that the schema already documents parameters. Every word 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?
For a tool that executes a staking transaction, the description is too sparse. It doesn't mention expected return values (e.g., transaction hash), potential side effects, or edge cases like insufficient approvals. With no output schema and no annotations, the description fails to fill critical gaps for an AI 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?
The input schema provides descriptions for all 4 parameters (amount in wei, network default, private key security, staking contract address), so schema coverage is 100%. The description adds no additional parameter-level context, which is acceptable at the baseline of 3 since the schema handles the 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 the action: 'Stake tokens in a staking contract'. It uses a specific verb and object, making the tool's purpose immediately understandable. However, it does not explicitly differentiate from sibling staking tools like stake_eth_lido or stake_lp_tokens, which is a minor gap.
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 guidance on when to use this tool compared to alternatives. For example, it doesn't mention prerequisites like token approval, network selection, or when a user should prefer this over stake_eth_lido or stake_lp_tokens. The one-sentence description gives no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_acceleration_bandsB
Acceleration Bands Strategy - trading signals based on volatility breakouts. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It discloses the return value semantics (-1=SELL, 0=HOLD, 1=BUY) and the basis (volatility breakouts), but does not state whether it is read-only, fetches external data, or has any side effects. This is partial but not comprehensive 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 two concise sentences, front-loaded with the tool's purpose and return values. Every word earns its place, with no redundant or vague 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?
The description explains the core function and explicitly defines the output values, compensating for the lack of an output schema. However, it does not clarify how input parameters influence the signals or that OHLCV data is fetched, leaving a minor gap for a strategy tool. Overall, it is adequate for straightforward signal generation.
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 has 100% description coverage for all four parameters, so the baseline is 3. The description adds no additional parameter meaning beyond what is already in the schema, such as how period affects the signal or how limit is used.
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 that the tool generates trading signals based on volatility breakouts and specifies the return values (-1, 0, 1). It identifies the specific resource (Acceleration Bands) and differentiates it from sibling indicator_acceleration_bands by noting it produces strategy signals, though it does not explicitly compare to other strategy 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?
No guidance is provided on when to use this tool versus alternative strategies. There is no mention of appropriate market conditions, required data history, or whether it should be combined with other indicators, leaving the agent without criteria for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_aoB
Awesome Oscillator Strategy - trading signals based on market momentum. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| fastPeriod | No | Fast period | |
| slowPeriod | No | Slow period |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosure. It does disclose the output behavior (signal values and their meanings), which is useful. However, it does not mention whether the tool fetches OHLCV data, makes network calls, has side effects, or how it handles errors. The provided return semantics are a positive, but not enough for a higher score.
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 extremely concise: a single sentence plus return value legend. It front-loads the purpose and provides essential output semantics with zero filler. Every word 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 tool has 5 parameters, no output schema, and no annotations, the description is underspecified. It lacks context on how parameters affect the signal, when to use it, and what data it relies on. While it does explain return values, it does not cover the expected behavior or edge cases, making it incomplete for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds no additional parameter context (e.g., that fastPeriod and slowPeriod are the AO's default 5/34 periods). Since the schema already describes the parameters adequately, the description does not need to compensate.
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 computes Awesome Oscillator trading signals based on market momentum, and explicitly lists the return values (-1 SELL, 0 HOLD, 1 BUY). It distinguishes itself from sibling tools like indicator_ao (which likely computes the oscillator itself) by focusing on signal generation. However, it lacks a specific verb like 'generates' or 'calculates' and does not mention the input scope (symbol/timeframe).
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 guidance is provided on when to use this strategy versus other strategy tools (e.g., strategy_macd, strategy_rsi2) or indicator_ao. The description does not mention prerequisites, use cases, or alternatives. It only implies usage through the title and return values, but there is no explicit when/how guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_apoC
APO Strategy - trading signals based on Absolute Price Oscillator. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| fastPeriod | No | Fast period | |
| slowPeriod | No | Slow period |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It discloses only the output mapping, but does not explain how signals are derived, what data is used, or any thresholds. The behavior remains opaque beyond the return values.
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 concise sentences, front-loaded with the tool's purpose and output contract. It is efficiently structured with no fluff, though the brevity contributes to limited completeness.
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 strategy tool among many similar siblings, the description lacks usage context and behavioral details. While the schema covers parameters, the description does not explain how this strategy fits with others or what the signal truly implies, making it minimal for selection and 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 has 100% description coverage for all five parameters, so the schema documents meaning well. The description adds no additional parameter semantics beyond reiterating the output encoding, which is already in the purpose.
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 clearly states the tool generates trading signals based on the Absolute Price Oscillator and specifies the output encoding (-1 SELL, 0 HOLD, 1 BUY). This distinguishes it from indicator_apo and other strategy tools, though it could more explicitly contrast with sibling strategies.
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 guidance is provided on when to use this strategy versus other strategy_* tools such as strategy_macd or strategy_aroon. The description does not mention any context, prerequisites, or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_aroonB
Aroon Strategy - trading signals based on trend changes and strength. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 output semantics (-1 for SELL, 0 for HOLD, 1 for BUY), which is a key behavioral trait. However, it does not explain that the tool fetches OHLCV data, how it handles insufficient data, or any other operational details. It adds some context beyond the schema but remains 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 two concise sentences: one defining the strategy and one listing the return values. It is front-loaded with the tool name and purpose, and every word adds value. 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 the tool's simplicity, the description combined with the schema is largely complete. It explains the output and the parameters are well-documented in the schema. However, it could be improved by noting that it relies on OHLCV data and that the strategy is based on market data, which would help the agent understand the data dependency. Still, for a basic signal generator, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any parameter-specific meaning beyond what is already in the schema. It does not clarify how 'limit', 'period', or 'timeframe' influence the signal, so no extra value 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 clearly states it is an Aroon Strategy that generates trading signals based on trend changes and strength, and specifies the output values (-1, 0, 1). It names the specific resource (Aroon) and the action (strategy signal generation), but does not explicitly differentiate from other strategy_* sibling tools beyond the 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?
No guidance is provided on when to use this tool versus other strategy or indicator tools. The description does not mention alternatives, exclusions, or appropriate contexts beyond the generic 'trading signals' phrase. With many sibling strategy tools, this lack of direction is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_bollinger_bandsA
Bollinger Bands Strategy - trading signals based on price breaking through bands. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| stdDev | No | Standard deviation multiplier | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 return value mapping (-1 SELL, 0 HOLD, 1 BUY) and that signals are based on price breaking through bands. However, it does not clarify the exact interpretation of 'breaking through' (e.g., closes above/below bands) or any nuances in signal generation.
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 a single, front-loaded sentence that conveys the purpose and output format without any filler. It is compact and immediately 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?
The description explains the return values and the general strategy concept, and the schema covers all parameters. However, there is no output schema, and the description could benefit from a more precise behavioral explanation (e.g., how breakouts trigger buy/sell) and relationships to sibling tools, leaving slight ambiguity 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 coverage is 100%, and each parameter has a description in the schema. The tool description adds no parameter-level detail beyond what the schema already provides, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a Bollinger Bands Strategy that produces trading signals (-1/0/1) based on price breaking through bands. This distinguishes it from the sibling indicator_bollinger_bands, which likely returns band values rather than trading signals.
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 through the term 'strategy' and the signal output, but it does not explicitly state when to use this tool versus other strategy tools (e.g., strategy_macd) or indicator_bollinger_bands. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_bopC
Balance of Power Strategy - trading signals based on buying/selling pressure. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the output mapping and the basis (buying/selling pressure), which is useful. However, with no annotations, it does not disclose whether the tool requires sufficient historical data, how parameters like period and limit affect results, potential error conditions, or whether it is a read-only calculation. These gaps leave significant 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 extremely concise and front-loaded with the strategy name and output format. Every word adds value, with no redundancy or fluff.
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 no output schema, no annotations, and a large sibling family, the description should clarify data dependencies, when to use it, and how it relates to indicator_bop. It only provides the return values, which is insufficient for confident and correct invocation in all contexts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains limit, period, symbol, and timeframe. The description adds no parameter-specific meaning, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a 'Balance of Power Strategy' and specifies the output as trading signals (-1, 0, 1), giving a concrete verb+resource. It distinguishes from raw indicator tools by using 'Strategy' and defining the signal mapping, but it does not explicitly contrast with other strategy tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many other strategy_* or indicator_* tools. It does not state prerequisites, alternatives, or conditions for use, leaving an agent without a basis for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_cfoA
Chande Forecast Oscillator Strategy - trading signals based on price predictions. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does disclose the output format (-1, 0, 1) and their meanings, which is helpful. However, it does not explain how the strategy derives signals from the Chande Forecast Oscillator, how the parameters affect results, or any limitations. This is minimal behavioral 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 a single, well-structured sentence that front-loads the tool's identity and output. It is concise and free of unnecessary information, making it easy for an agent to parse quickly.
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 (4 parameters, no output schema), the description covers the essential return values and the strategy's basis. The schema covers parameter details. However, it lacks a brief note on how parameters influence the signal or any prerequisites, which would improve completeness. Still, it is adequate for a strategy tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all four parameters (symbol, limit, period, timeframe), achieving 100% coverage. The tool description does not add any additional parameter semantics or context, so it provides no value beyond the schema. A baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as the Chande Forecast Oscillator Strategy, with a specific purpose of generating trading signals based on price predictions. It also explicitly lists the return values (-1 SELL, 0 HOLD, 1 BUY), which distinguishes it from raw indicator tools and other strategy siblings.
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 does not provide any guidance on when to use this strategy compared to other strategy_* tools or the indicator_cfo tool. There are no explicit alternatives or conditions mentioned, leaving the agent to infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_cmfB
Chaikin Money Flow Strategy - trading signals based on buying/selling pressure. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does disclose the key output behavior: returns -1 (SELL), 0 (HOLD), 1 (BUY), and states it is based on buying/selling pressure. However, it omits the signal interpretation rule (e.g., threshold or zero-line crossover) and how the CMF calculation maps to the signal, leaving 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 description is concise (two sentences) and front-loads the indicator name and strategy type. The first phrase is somewhat redundant with the tool name, but the second sentence about return values provides distinct value. There is no filler, though a more structured expansion could improve usability.
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 simple nature and full schema coverage, the description adequately explains the return values (critical since there is no output schema). However, it lacks context on how the signal is derived, what data inputs are used, and when to invoke the tool. It is minimally complete for a straightforward strategy tool but leaves clear usage 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?
The input schema covers all four parameters (symbol, limit, period, timeframe) with descriptions, giving 100% coverage, so the baseline is 3. The description adds no additional parameter-specific semantics, such as how 'period' affects signal sensitivity or how 'timeframe' changes the data granularity. It neither enhances nor conflicts with the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a Chaikin Money Flow strategy that produces trading signals, and it specifies the return mapping (-1/0/1). It distinguishes itself from the sibling indicator_cmf (raw CMF values) by framing itself as a strategy with a discrete signal. However, it lacks an explicit verb like 'computes' or 'generates,' and it doesn't differentiate among the many strategy_* siblings.
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 guidance on when to use this tool vs. alternatives. It doesn't mention prerequisites (e.g., sufficient OHLCV history) or cases where a different strategy or the raw indicator_cmf tool would be more appropriate. There are no exclusions or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_emvB
Ease of Movement Strategy - trading signals based on volume-price relationship. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It discloses only the output signal values and the general basis (volume-price relationship), but omits important behaviors such as how the signal is derived, whether it uses lookback periods, or how missing data is handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence plus a clear return-value mapping. It is front-loaded and wastes no words, while still conveying the core purpose and output.
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 essential return semantics and the schema documents parameters, but lacks usage context and behavioral details. Given the large number of sibling strategy tools, more differentiation would improve completeness.
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 100% coverage for all four parameters with descriptions, so the description does not need to add much. However, it also does not enrich the parameters with strategy-specific context, such as how 'period' affects the EMV computation or how 'limit' impacts signal reliability.
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 an Ease of Movement Strategy producing trading signals based on volume-price relationship, and explicitly defines the return values (-1, 0, 1). It distinguishes itself from raw indicator tools like indicator_emv by indicating signal output, but could be more explicit about its role versus other strategy_* 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?
No guidance is provided on when to use this tool instead of other strategy_* or indicator_* alternatives. The description gives no context about appropriate timeframes, market conditions, or integration with other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_force_indexB
Force Index Strategy - trading signals based on price movement power. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 output contract clearly but does not describe data fetching behavior (e.g., using OHLCV data via limit/timeframe), how the signal is derived beyond 'price movement power', or any limitations such as required data points.
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, front-loaded with the tool's name and purpose, then the return value map. Every word is informative, and there is no fluff 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 tool with four parameters, no output schema, and no annotations, the description is minimal. It explains return values but lacks information on parameter influence, data requirements, or when to select this strategy among many siblings, leaving significant gaps 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 100%, with meaningful descriptions for all four parameters (symbol, limit, period, timeframe). The description adds no extra parameter meaning beyond stating the strategy's basis, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides trading signals based on Force Index and explicitly lists the return values (-1 SELL, 0 HOLD, 1 BUY). This distinguishes it as a strategy tool, though it does not explicitly contrast with the sibling indicator_force_index, which is a minor gap.
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 guidance is provided on when to use this tool versus alternative strategy tools or indicator_force_index. There is no mention of prerequisites, market conditions, or decision-making context, leaving the agent without direction on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_ichimokuB
Ichimoku Cloud Strategy - comprehensive trading signals from Ichimoku indicator. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| basePeriod | No | Base line period | |
| spanPeriod | No | Leading span period | |
| conversionPeriod | No | Conversion line period |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description partially discloses behavior by specifying the return values (-1/0/1) and that it derives signals from the Ichimoku indicator. However, it omits other behavioral aspects such as whether it fetches OHLCV data, how missing data is handled, or if it is suitable for real-time or historical use, leaving gaps in 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 extremely concise: one title phrase and a single sentence about returns. It is front-loaded with the tool's purpose and output, with zero wasted words, making it easy to parse quickly.
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, no annotations, and no output schema, the description is under-specified. It explains the return values but not the strategy logic, how periods affect signals, interpretation of the signal in trading context, or any side effects. Given the complexity of Ichimoku, a richer description is needed for full agent comprehension.
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 has 100% description coverage for all six parameters, providing clear meaning for symbol, limit, timeframe, and periods. The description adds no additional parameter context or relationships, so it earns the baseline score without adding extra 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 clearly states the tool provides trading signals from the Ichimoku indicator, a specific resource with a clear output type. It distinguishes from sibling indicator and strategy tools by defining the signal values (-1, 0, 1) and the Ichimoku basis, making 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 gives no guidance on when to use this strategy versus alternatives like indicator_ichimoku or other strategy_* tools. It does not mention context, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_kdjA
KDJ Strategy - trading signals combining stochastic and momentum. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| signalPeriod | No | Signal period |
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 discloses the output signals, which is important, but does not explain how parameters like limit, period, timeframe, or signalPeriod affect the calculation, nor what data is fetched. The mention of 'combining stochastic and momentum' gives some insight but lacks deeper procedural detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences front-load the strategy name and output format. Every word adds value with 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?
The tool has no output schema and no annotations, so the description is the only source for return values, which it does provide. However, it lacks explanation of how inputs influence signals, the data source, or error behavior. For a 5-parameter tool, this is acceptable but leaves clear gaps for a fully informed 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?
The input schema has 100% coverage with each parameter described (symbol, limit, period, timeframe, signalPeriod). The description adds no parameter-specific information beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a KDJ Strategy that generates trading signals combining stochastic and momentum, and specifies the exact return values (-1, 0, 1). This distinguishes it from sibling indicator tools like indicator_kdj and other strategy tools by naming the specific strategy and output.
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 guidance is given on when to use this tool versus the many other strategy or indicator tools in the sibling list. There are no alternative recommendations or exclusions; the description only states what it does without contextualizing its appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_macdB
MACD Strategy - trading signals based on moving average convergence/divergence. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| fastPeriod | No | Fast period | |
| slowPeriod | No | Slow period | |
| signalPeriod | No | Signal period |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses the return value contract, which is useful, but doesn't explain how the signal is determined (e.g., MACD crossover thresholds), whether it uses historical data, or that it does not execute trades. This is adequate but leaves gaps about processing 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 extremely concise and front-loaded: name, strategy type, and return encoding in one sentence. Every word earns its place. 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?
For a simple signal-generation tool, the description covers the core output but lacks usage context, parameter guidance, and behavioral details. With no output schema and no annotations, the description is minimally viable but not rich enough for an agent to fully understand when and how to 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?
The input schema has 100% description coverage, so the baseline is 3. The tool description adds no extra parameter semantics beyond what the schema already states. Since all parameters are described in the schema, this is acceptable.
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 this as a MACD-based trading strategy and specifies the output encoding (-1 SELL, 0 HOLD, 1 BUY). It implicitly distinguishes itself from indicator_macd by stating it returns directional signals rather than raw MACD values. However, it lacks an explicit verb (e.g., 'generates') and reads more as a label than an action.
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 guidance is provided on when to use this tool versus alternatives. With many sibling strategy_* tools (strategy_rsi, strategy_apo, etc.), there is no mention of selection criteria, differences, or exclusions. The description only implies use for generating trading signals.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_mfiB
Money Flow Index Strategy - trading signals based on volume-weighted RSI. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 does disclose the output format and return semantics, and the algorithm basis (volume-weighted RSI), which is useful. However, it does not explicitly state whether the tool is read-only, what market data it uses, or whether it executes trades, 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 a single concise sentence followed by a clear return-value legend. It is front-loaded with the tool's purpose and every word adds value. No filler or redundant restatement of the schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema but the description does explain the return values, and the input schema fully documents all parameters. However, given the large sibling context, there is a notable absence of usage guidance and no information about how parameters like timeframe or limit influence the signal, leaving the description minimally viable rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all four parameters (limit, period, symbol, timeframe). The description adds no parameter-specific meaning beyond mentioning volume-weighted RSI, which loosely relates to the 'period' parameter. Since the schema does the heavy lifting, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is a Money Flow Index strategy that generates trading signals based on volume-weighted RSI, and explicitly lists the three possible return values (-1, 0, 1) with their meanings. It does not explicitly differentiate from sibling indicator_mfi or other strategy_* tools, but the 'trading signals' and discrete BUY/SELL/HOLD output make the core function 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 provides no guidance on when to use this tool versus alternative indicator or strategy tools. There is no mention of suitable market conditions, prerequisites, or exclusions. The available sibling tools include many strategy_* and indicator_* tools, and without any selection criteria the agent cannot easily decide when this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_momentumB
Momentum Strategy - trading signals based on price momentum. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the output format and its meanings, which is useful. However, it does not mention that the tool likely fetches OHLCV data based on the provided symbol and timeframe/limit, nor does it address potential failure conditions or data requirements 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 a single concise sentence plus a compact return-value legend. It is front-loaded and contains no extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple strategy tool with no annotations or output schema, the description provides the essential purpose and output mapping, but lacks guidance on parameter effects, use cases, and data fetching behavior. It is adequate but not comprehensive.
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 descriptions already cover all four parameters, and the tool description adds no additional semantic detail beyond the general notion of 'momentum'. The baseline of 3 applies because schema coverage is 100%.
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 momentum strategy generating trading signals, with explicit return value mapping (-1, 0, 1). However, it does not contrast itself with other sibling strategy tools such as strategy_macd or strategy_rsi2, so some differentiation is missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no explicit guidance on when to select this tool over alternative strategies or what conditions warrant using momentum-based signals. It only describes the tool's basic function without any 'use this when' or 'instead of' statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_nviA
Negative Volume Index Strategy - trading signals based on smart money movements. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 output contract (-1/0/1 with SELL/HOLD/BUY meanings) and the theoretical basis ('smart money movements'), adding value beyond the schema. But it does not disclose data-fetching behavior, error handling for insufficient data, or explicitly confirm read-only status.
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, front-loaded with the strategy name and followed by the output contract. Every clause earns its placeโ'smart money movements' explains the basis, and the return mapping is essential. Zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema covers all parameters with defaults and descriptions, and the description specifies the full output contract in the absence of an output schema. Missing elements include how the strategy uses fetched OHLCV data, behavior on invalid symbols/timeframes, and explicit read-only confirmation. For a simple signal tool, this is largely 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?
The schema has 100% description coverage for all four parameters, providing the baseline of 3. The description does not add meaning beyond the schema about how limit, period, or timeframe affect the signal; it only frames the tool as NVI-based, which is marginal additional context.
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 'Negative Volume Index Strategy - trading signals based on smart money movements' and explicitly defines the output as -1 (SELL), 0 (HOLD), 1 (BUY). This identifies a signal-generation tool for the NVI indicator and distinguishes it from generic siblings by naming the specific strategy, though it does not explicitly contrast with other strategy_* 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 phrase 'trading signals based on smart money movements' implies the tool is for NVI-based market analysis, giving some context. However, there is no explicit when-to-use vs. alternatives, no exclusions, and no guidance on when to prefer this over sibling tools like strategy_macd or indicator_nvi.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_projection_oscillatorA
Projection Oscillator Strategy - trading signals based on projected trading range. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 does disclose the return value mapping, which is useful, but it omits details such as how signals are derived, any implications of the period or limit parameters, or whether the tool has side effects. The behavior is partially transparent but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, only two sentences, with the essential information front-loaded. It clearly states the tool's purpose and output format without any 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?
The description explains the return values, which is helpful given there is no output schema. However, it lacks broader context such as the mechanics of the projected trading range, the significance of the 'hold' signal, or any example usage. It is minimally sufficient for a simple strategy tool but not rich.
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 covers all parameters with descriptions, so the baseline is 3. The description itself does not add additional context about how parameters affect the strategy calculation, but it does not need to compensate since schema coverage is 100%.
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 produces trading signals based on a projected trading range, with explicit return values (-1, 0, 1) for SELL, HOLD, BUY. This distinguishes it from the sibling indicator_projection_oscillator, which likely returns the raw oscillator values. The purpose is specific and 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?
No explicit guidance is provided on when to use this strategy tool versus other strategy_* tools or the indicator counterpart. The description does not mention any exclusions or prerequisites, leaving the agent to infer usage from the tool name and the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_psarB
Parabolic SAR Strategy - trading signals based on trend reversal points. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| accelerationFactorMax | No | Maximum acceleration factor | |
| accelerationFactorStep | No | Acceleration factor step |
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 return values but does not clarify whether the result is a single signal or an array of signals, nor does it mention that the tool fetches OHLCV data or any side effects (e.g., read-only nature). This ambiguity is a significant gap for agents.
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, with only two sentences that are front-loaded with the tool's identity and output values. No redundant information, making it easy for an agent to parse quickly.
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 schema covers parameters and the description covers return values, there is no output schema and the description does not resolve ambiguity about output shape (single integer vs series). For a tool with moderate complexity, this missing detail prevents full confidence in invocation and interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters (symbol, limit, timeframe, acceleration factors) are already well documented. The description adds no additional meaning beyond the return contract, which is acceptable per the baseline.
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 is a Parabolic SAR Strategy generating trading signals based on trend reversal points, with explicit output mapping (-1/0/1). This distinguishes it from raw indicator tools like indicator_psar and other strategy variants by describing its action and output contract.
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 guidance is provided on when to use this tool versus other strategy/indicator alternatives. The description implies it is for trend-reversal signals but does not mention selection criteria, exclusions, or comparisons to sibling tools such as strategy_macd or indicator_psar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_rsi2A
RSI2 Strategy - short-term mean reversion signals using 2-period RSI. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 return value meanings, which is helpful. However, it does not state that this is a read-only computation, does not mention data source (OHLCV), and leaves ambiguity about how period interacts with '2-period RSI'.
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 a single focused sentence followed by an output legend. Every element contributes meaning, and it is front-loaded with the strategy name and purpose. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is a notable ambiguity between the strategy name ('2-period RSI') and the period parameter default (14), which is not explained. The description does not specify how limit, period, and timeframe affect the signal, and there is no output schema or additional context. This could lead to incorrect 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 100%, so the baseline is 3. The description adds no additional parameter-level insight beyond the schema. It does not clarify the relationship between the 'period' parameter and the '2-period' description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: generates short-term mean reversion signals using a 2-period RSI, with explicit output values (-1, 0, 1). This is specific and distinguishes it from other strategy tools like strategy_macd or strategy_apo.
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-term mean reversion scenarios, but does not explicitly mention when to prefer this over other strategies or provide any exclusions. Sibling tools include many strategy variants, so more explicit guidance would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_stochasticB
Stochastic Oscillator Strategy - trading signals based on overbought/oversold conditions. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
| signalPeriod | No | Signal period |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It does explain the return signal format, which is useful, but it omits key behavioral traits such as how the strategy fetches data, the exact overbought/oversold thresholds, or how the signal is derived from the stochastic oscillator. This is a moderate level of 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 a single concise sentence plus a return-value definition. It is front-loaded, contains no redundant information, and every word contributes to understanding, making it highly 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?
Given there is no output schema, the description appropriately specifies the return mapping. However, with five parameters and no annotations, it remains lightweight: it does not explain the underlying signal logic (e.g., crossover thresholds, calculation details), which could leave an agent under-informed about decision-making nuances.
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 has 100% parameter coverage, so the baseline is 3. The description adds interpretive context about 'overbought/oversold conditions' but does not elaborate on the meanings of 'period', 'signalPeriod', or 'limit' within the stochastic strategy beyond what the schema already provides.
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 that this tool generates trading signals based on the Stochastic Oscillator, with return values specified as -1 (SELL), 0 (HOLD), and 1 (BUY). It is specific about the resource and action, though it does not explicitly contrast it with sibling strategies beyond the 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?
The description provides no guidance on when to use this tool versus alternative strategies like strategy_macd or indicator_stochastic. There are no stated exclusions, prerequisites, or scenarios where this strategy is preferred, leaving the agent without clear direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_typical_priceB
Typical Price Strategy - trading signals based on average of high, low, close. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
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 output contract (BUY/SELL/HOLD) and the base computation (average of high/low/close), but it does not explain how the signal is derived from the typical price, what data is fetched, or any error/edge-case behavior, leaving key mechanics opaque.
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 tightly written sentences that deliver the title, purpose, and return contract with zero redundancy. The em-dash and 'Returns:' structure front-loads the key information effectively.
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 output schema and no annotations, the description adequately covers return values and the computation basis. However, it omits the signal generation logic (e.g., threshold or crossover conditions) and how parameters like period or limit affect the signals, leaving gaps for correct interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's mention of 'average of high, low, close' relates to the OHLCV inputs but adds no parameter-level meaning beyond what the schema already documents for limit, period, symbol, and timeframe.
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 this is a trading signal strategy based on the typical price (average of high, low, close) and explicitly defines the return contract (-1 SELL, 0 HOLD, 1 BUY). The 'Strategy' label and the discrete signal outputs distinguish it from the sibling indicator_typical_price, though it doesn't explicitly name that sibling.
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 guidance is provided on when to use this tool versus alternative strategy or indicator tools. There are no prerequisites, exclusions, or named alternatives, so the agent receives no direction on selecting this over the many sibling strategies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_vortexA
Vortex Strategy - trading signals based on trend direction and strength. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It transparently explains the return semantics (SELL/HOLD/BUY), which is useful, but it lacks details about data requirements, edge cases, or whether the operation is read-only. It meets basic expectations but not a richer behavioral picture.
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 a single, well-structured sentence that conveys the strategy, the underlying concept, and the output values. There is no redundant information, and key details are 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?
Given that there is no output schema, the description appropriately covers the return values. Parameters are fully documented in the schema, and the tool's purpose is clear. The only minor gap is the lack of an explicit comparison to the raw 'indicator_vortex' tool, but overall the description is sufficient for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any meaning beyond the schema for parameters like period, limit, symbol, or timeframe; it simply restates the strategy concept. Thus, the schema already handles parameter semantics adequately.
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: generating trading signals based on trend direction and strength using the Vortex strategy, and explicitly defines return values (-1, 0, 1). This distinguishes it from other strategy_* tools by naming the Vortex basis and its signal output.
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 from the description (i.e., use when needing a Vortex-based trend signal), but it does not explicitly state when not to use it or compare it to alternatives like 'indicator_vortex' or other strategy tools. No exclusions or when-not conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_vwapB
VWAP Strategy - trading signals based on volume-weighted average price. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the return values and indicates it is based on VWAP, but it does not explicitly state that the tool is read-only, that no trades are executed, or any limitations. With no annotations provided, the description carries the full burden and only partially fulfills it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of one sentence plus a return mapping. It is front-loaded with the strategy name and immediately communicates the core purpose and output, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple, and the schema thoroughly documents all parameters. The description covers the return values, but lacks some context such as whether the tool fetches live data, how the period parameter affects computation, or any default behavior. Still, it is sufficient for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all four parameters (limit, period, symbol, timeframe) with default values and definitions. The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool generates trading signals based on VWAP and specifies the output values (-1, 0, 1), which distinguishes it from other strategy tools that use different indicators. However, it uses a noun phrase rather than an explicit verb like 'computes' or 'generates', making it slightly less direct.
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 guidance on when to use this strategy versus alternatives, no context for interpreting signals, and no exclusions or prerequisites. It only states the basic output format, leaving the agent without decision-making context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_vwmaB
VWMA Strategy - trading signals based on volume-weighted moving average. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the burden. It discloses the return signal values, which is useful, and implies a read-only operation. However, it omits the signal logic, data fetching behavior, and any side effects, leaving gaps for a 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 extremely concise: two sentences covering purpose and return values. It is front-loaded and free of fluff. It loses a point for not structuring the return mapping more clearly, but overall it is 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?
With no output schema or annotations, the description needs to be more comprehensive. It does not specify the output structure (e.g., raw integer vs. JSON object), explain the signal conditions, or mention data requirements. Given the large set of sibling strategy tools, this lack of detail increases ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all parameters with descriptions, so baseline is 3. The description adds no extra parameter context, such as how 'period' or 'timeframe' affects the signal, nor any examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a VWMA strategy that produces trading signals (-1, 0, 1), distinguishing it from indicator_vwma which likely returns raw VWMA values. The verb is implied rather than explicit ('trading signals based on...'), but the intent is 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?
No guidance is provided on when to use this strategy versus other strategy_* tools, nor when to prefer it over indicator_vwma. The description states what it does but offers no context for selection or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_williams_rB
Williams %R Strategy - trading signals based on momentum overbought/oversold levels. Returns: -1 (SELL), 0 (HOLD), 1 (BUY)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of OHLCV data points to fetch | |
| period | No | Period length | |
| symbol | Yes | Trading pair, e.g., 'BTC/USDT' | |
| timeframe | No | Timeframe, e.g., '1m', '1h', '1d' | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It does explain the output semantics (SELL/HOLD/BUY) and the general momentum logic, but it doesn't describe internal details like thresholds, whether it fetches data, or how parameters affect the signal. This is adequate 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?
Two sentences, front-loaded with the name and purpose, followed by a compact return-value mapping. Every word adds value and there is no 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 strategy with four well-documented parameters and no output schema, the description adequately covers the essential information: the signal generation basis and the meaning of the three possible return values. It lacks detail on thresholds or data fetching but is sufficient for a straightforward strategy tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter descriptions, so the baseline is 3. The description adds no additional parameter-level context beyond the schema, but the schema already provides clear meanings for symbol, limit, period, and timeframe.
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 Williams %R strategy that generates trading signals based on momentum overbought/oversold levels, and specifies the return encoding (-1, 0, 1). It is specific enough to distinguish from indicator_williams_r, which likely returns raw indicator values, though it doesn't explicitly contrast itself with 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?
No guidance is provided on when to use this strategy compared to other strategies (e.g., strategy_macd, strategy_rsi2) or indicator tools. There is no mention of appropriate contexts, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscribe_news_firehoseA
Subscribe to real-time crypto news firehose. $0.10/day. Provides WebSocket URL for <1 second latency news delivery from all sources.
| Name | Required | Description | Default |
|---|---|---|---|
| sources | No | Filter by sources: coindesk, theblock, decrypt, cointelegraph, bitcoinmagazine, blockworks, defiant | |
| duration | No | Subscription duration | 1day |
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 disclosure burden. It usefully discloses the $0.10/day cost, <1 second latency, and that it returns a WebSocket URL, but it does not explain subscription lifecycle, cancellation, renewal, or what happens when the duration ends.
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 concise sentences that front-load the core purpose, then add cost and latency details. Every sentence earns its place with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify the return value more precisely; it only says 'provides WebSocket URL.' It also omits authentication requirements, the structure of subscription metadata, and the format of messages delivered over the WebSocket, which are important for a subscription tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for both parameters, including the enum for duration and the allowed source values. The description adds no further parameter-level detail, and its phrase 'from all sources' could be slightly confusing given the optional sources filter.
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 subscribes to a real-time crypto news firehose and provides a WebSocket URL. This distinguishes it from one-off news retrieval tools like get_crypto_news or get_defi_news by emphasizing streaming delivery.
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 for continuous low-latency news delivery via WebSocket, which differentiates it from query-based news tools. However, it does not explicitly state when not to use it or name alternative tools, leaving room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sui_get_all_balancesB
Get all token balances for an address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The Sui address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a read-only operation via 'get', but does not disclose whether the response is a list, how balances are denominated, or any pagination/rate-limit considerations. It is clear but lacks behavioral nuance.
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 a single, concise sentence with no filler. It is appropriately front-loaded and readable.
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 is the only source of return expectations. It states 'token balances' but does not specify the format (e.g., list of objects with coin type and amount). While the tool is simple, the description is minimally complete but lacks detail on the response structure.
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 already fully describes the 'address' parameter (type string, Sui address). The description does not add any additional semantics beyond the schema, so a baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get all token balances for an address' specifies the verb (get), resource (token balances), and scope (all, for an address). It distinguishes from the sibling 'sui_get_balance' through the word 'all', but does not explicitly name the alternative or clarify the difference.
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 guidance on when to use this tool versus alternatives such as sui_get_balance (single balance) or other balance tools. It simply states what it does without any context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sui_get_balanceB
Get SUI token balance for an address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The Sui address (0x...) |
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 only restates the basic action ('get SUI token balance') without disclosing important details such as the unit of the returned balance (e.g., SUI vs MIST), whether the address must be valid, or network/error behavior. This is essentially a restatement of the tool name.
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 a single, front-loaded sentence with zero wasted words. It is appropriately concise for a tool with one parameter and simple semantics.
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 is simple with one documented parameter, so invocation is straightforward. However, the lack of an output schema means the description should clarify the return format or unit (SUI vs MIST), which it does not. Also, the difference from sui_get_all_balances is not addressed, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the address parameter is well-documented as 'The Sui address (0x...)'. The tool description adds no additional parameter context, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the SUI token balance for an address, using a specific verb and resource. However, it does not distinguish this from the sibling tool sui_get_all_balances, which retrieves all token balances, leaving some potential ambiguity.
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 guidance is provided on when to use this tool versus alternatives. There is no mention of sui_get_all_balances for all tokens, or how this differs from other balance tools like aptos_get_balance or cosmos_get_balance. The agent must infer usage from the name and sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sui_get_coin_metadataC
Get metadata for a coin type
| Name | Required | Description | Default |
|---|---|---|---|
| coinType | No | The coin type | 0x2::sui::SUI |
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 only restates the basic action and does not disclose aspects like whether the operation is read-only, how invalid coin types are handled, or what the response structure looks like. This is minimal for a metadata lookup 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 a single, focused sentence without redundant words. It is appropriately concise for a simple tool, though it could be slightly more informative without becoming verbose.
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 is low complexity with one parameter, but there is no output schema and the description does not compensate by explaining what metadata is returned. It also lacks usage context or relation to other Sui tools. A more complete description would mention typical fields like name, symbol, and decimals.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for the single parameter 'coinType' with its default value and description. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 applies. No further clarification or examples are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get metadata for a coin type' uses a specific verb (Get) and resource (metadata for a coin type), clearly distinguishing it from sibling tools like sui_get_balance or sui_get_object. It is not a tautology and conveys the core function, though it does not enumerate what metadata fields are included.
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 guidance is provided on when to use this tool versus alternatives. It does not mention that this is the right tool for coin metadata, nor does it point to siblings for related operations like balances or transactions. The description offers no context about appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sui_get_gas_priceA
Get the current reference gas price
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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, but it only states what is fetched. It does not clarify that this is a read-only operation, what units the price is returned in (e.g., MIST), or any other behavioral traits like caching or network dependence. The concept of 'reference gas price' is not explained, leaving 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 a single, concise sentence that is front-loaded with the action and resource. Every word is purposeful, with no unnecessary filler. It is maximally efficient for the tool's simplicity.
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 tool is simple with no parameters and no output schema, the description does not mention the return format, units, or how the reference gas price is defined. This is a gap since the output schema is absent, so the agent must infer the response structure. The description 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?
The tool has zero parameters, and the schema is empty with 100% coverage. The baseline for 0 params is 4, and the description adds no confusing parameter details. The tool's simplicity means no parameter elaboration is needed.
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 specifies the verb 'Get' and the resource 'current reference gas price', making it evident that this tool fetches Sui's reference gas price. It distinguishes itself from sibling gas price tools like near_get_gas_price and get_gas_prices_all_chains by being specific to Sui, even without explicitly stating 'Sui'.
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 guidance on when to use this tool versus alternatives such as estimate_gas or get_gas_prices_all_chains. It does not mention any context, prerequisites, or excluded scenarios, leaving the agent without clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sui_get_latest_checkpointA
Get the latest checkpoint information
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It only states what the tool does without revealing return format, potential errors, or any other behavioral traits. While being a read-only getter is implied, the description does not explicitly confirm this or provide additional 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 a single, concise sentence that directly conveys the tool's purpose without unnecessary words. It is well-sized for the simplicity of 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?
The description is minimally adequate for a parameterless getter, but it does not elaborate on what 'checkpoint information' includes (e.g., sequence number, timestamp, digest). With no output schema or annotations, a bit more detail would improve completeness, but the tool's simplicity keeps it from being critically insufficient.
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, and the schema coverage is effectively 100% since there are no properties. Per the guidelines, a baseline of 4 is appropriate when there are no parameters to document; the description does not need to add 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 the tool's function with a specific verb ('Get') and a specific resource ('latest checkpoint information'). It is unambiguous and distinct from sibling tools, which focus on balances, objects, transactions, and other Sui data, none of which directly relate to checkpoints.
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 one needs the latest checkpoint, but there is no explicit guidance on when to use this over alternatives or any context about suitability. Given the tool's simplicity, the implied usage is acceptable but not clearly articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sui_get_objectB
Get details of a specific object
| Name | Required | Description | Default |
|---|---|---|---|
| objectId | Yes | The object ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states 'Get details', implying a read operation, but does not clarify potential errors, the structure of returned details, or any special requirements for the objectId. This is minimal 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 a single, concise sentence with no filler or redundancy. It front-loads the main action and resource, and every word 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?
Given the simplicity (one parameter, no output schema), the description is adequate but vague. It does not explain that 'object' refers to a Sui object or what 'details' are returned, and since no output schema exists, the agent lacks information about the return structure.
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 fully documents the single parameter objectId with the description 'The object ID' (100% coverage). The tool description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the action 'get' and the resource 'details of a specific object', which distinguishes it from sibling tools like sui_get_owned_objects or sui_get_balance. However, the term 'object' is generic and does not specify what type of Sui object, making it slightly less precise than it could be.
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 guidance on when to use this tool relative to alternatives. There is no mention of scenarios such as retrieving an owned object vs. a transaction, nor any exclusions or cross-references to related sui_get_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sui_get_owned_objectsC
Get objects owned by an address (NFTs, coins, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max objects to return | |
| address | Yes | The Sui address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure, but it only says 'Get objects owned by an address' without mentioning return format, pagination, error cases, or whether the list is complete. The read-only nature is implied but not elaborated.
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 a single, front-loaded sentence with no superfluous words. It efficiently conveys the core purpose and examples in under 50 characters.
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 output schema and no annotations, the description should at least hint at what the response contains. It only states the action without describing the returned data shape or any pagination limits, making it insufficient for confident tool 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?
Parameters are fully documented in the schema (100% coverage), so the baseline is 3. The description adds minimal semantic value beyond the schema, merely echoing that objects are owned by an address.
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 'Get objects owned by an address (NFTs, coins, etc.)' uses a specific verb and resource, with examples that clarify scope. It distinguishes from related tools like sui_get_object (specific object) and sui_get_all_balances (balances only), though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention related tools or situations where this tool would be preferred, leaving selection among the many Sui-specific tools to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sui_get_total_supplyB
Get total supply of a coin type
| Name | Required | Description | Default |
|---|---|---|---|
| coinType | No | The coin type | 0x2::sui::SUI |
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 merely states the action without mentioning that it is a read-only operation, the return format, error behavior, or any edge cases. The verb 'get' implies read, but no explicit 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?
The description is a single, concise sentence ('Get total supply of a coin type') that is front-loaded and contains no redundant or filler words. It is appropriately sized for a simple getter 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?
The description is adequate for a simple read tool but has clear gaps: there is no output schema to describe the return value, and no annotations. It does not explain the response format, how to interpret the supply value, or how this tool differs from other Sui tools. This makes it minimally viable but incomplete.
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 includes full coverage for the single parameter coinType, with a default value and a description. The tool description adds no additional semantic information beyond what the schema already provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get total supply of a coin type.' This clearly distinguishes it from sibling tools like sui_get_balance (which gets an address balance) and sui_get_coin_metadata (which gets coin metadata).
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 guidance on when to use this tool versus alternatives. It does not mention exclusions, scenarios, or refer to sibling tools such as sui_get_coin_metadata, which might also be relevant when querying coin information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sui_get_transactionB
Get transaction details by digest
| Name | Required | Description | Default |
|---|---|---|---|
| digest | Yes | The transaction digest |
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 only states that it gets transaction details, without mentioning return value structure, error conditions, or other behavioral characteristics. There is no information about whether it includes events, effects, or status.
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 a single sentence, 'Get transaction details by digest', which is direct and front-loaded. There is no unnecessary information, and it effectively communicates the core action in minimal words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and annotations, the description is too brief to be considered complete. It does not specify what 'details' includes, whether the response contains the full transaction object, events, effects, or just basic information. It also does not mention potential error responses for invalid digests. For a tool that an agent may need to extract specific data from, this is insufficient.
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 already documents the 'digest' parameter with the description 'The transaction digest', providing 100% coverage. The tool description adds 'by digest', which reinforces the parameter's role but does not add new semantic meaning such as format or valid values. Thus, the description adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates that the tool gets transaction details using a digest as input. It uses a specific verb ('get') and resource ('transaction details'), making its purpose evident. However, it does not explicitly distinguish from sibling tools like 'sui_get_object' or other chains' get_transaction 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 no explicit guidance on when to use this tool versus alternatives. There are no exclusions or alternative recommendations. Usage is implied by the tool name and the digest parameter, but the description does not state when it should be preferred over related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sui_get_validatorsA
Get information about active validators
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. However, it only states the purpose and does not add context about the operation being read-only, the return format, or any constraints. The 'Get' verb implies a safe read, but no explicit behavioral traits are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the action ('Get') and resource. There is zero unnecessary information, making it highly efficient and easy to parse.
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 tool, the description is arguably sufficient, but it lacks detail on the exact return structure (e.g., list of validators, fields included) and any filtering nuances beyond 'active'. Since no output schema exists, more specificity about the return value would enhance completeness.
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 empty with 0 parameters, so the baseline is 4. The description appropriately clarifies that the tool returns information about active validators, adding meaning beyond the trivial schema. No parameter explanation is needed since there are no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get information about active validators' clearly states a specific verb ('Get') and resource ('active validators'), distinguishing it from sibling Sui tools that focus on balances, objects, or transactions. It is not a tautology and precisely identifies what the tool 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 no guidance on when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. There is no comparison to other validator or network info tools, leaving usage entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarize_articleA
Get AI-powered summary of a crypto news article. $0.001/request. Includes key points, sentiment analysis, and entity extraction.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Target language for translation (ISO 639-1) | en |
| articleId | Yes | The article ID to summarize | |
| articleUrl | No | Alternative: provide the article URL directly | |
| includeTranslation | No | Translate summary to specified language |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It mentions the cost ($0.001/request) and output components, clearly implying a read-only operation. However, it does not explicitly state lack of side effects or error behavior, but for a summarization tool this level of transparency is sufficient.
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 concise sentences front-load the purpose and include pricing and output features. Every word earns its place with no unnecessary elaboration.
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 explains core functionality and deliverables, which is important since there is no output schema. It omits clarification on the relationship between articleId and articleUrl and the translation options, but the schema covers those. Overall, it is sufficiently complete for a read-only summarization tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no parameter-specific details, not even the articleId/articleUrl alternative or the translation feature. It relies entirely on the schema for parameter meaning.
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 ('Get') and resource ('AI-powered summary of a crypto news article'), and enumerates key outputs (key points, sentiment, entity extraction). It clearly distinguishes from sibling news-fetching tools, though not explicitly from batch_summarize_articles, the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative guidance is provided. The description implies use when a single article summary is needed, but it doesn't differentiate from batch_summarize_articles or mention when not to use it. There are no exclusions or prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
supply_to_lendingB
Supply/deposit assets to a lending protocol to earn interest
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | Asset address to supply | |
| amount | Yes | Amount to supply (in wei) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| protocol | Yes | Lending protocol (e.g., 'Aave V3') | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must disclose behavioral traits. It only states the action and intent but does not mention that this is a blockchain transaction, that gas fees may apply, that the private key is used to sign, or what happens on success. This is a significant gap for a state-changing 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 a single sentence, front-loaded with the action verb. There is no fluff or redundant information; every word contributes 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?
This is a DeFi transaction tool with no output schema and no annotations. The description lacks critical context such as return format, transaction confirmation behavior, prerequisite approvals, or supported protocols. For a tool of this complexity, the description is insufficiently 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?
The input schema covers all parameters with descriptions, so the baseline is 3. The description adds no additional parameter semantics, though it does imply 'assets' maps to the asset parameter and 'lending protocol' maps to protocol. It does not go beyond what the schema already provides.
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 ('Supply/deposit assets'), the target ('a lending protocol'), and the purpose ('to earn interest'). It distinguishes from sibling tools like borrow_from_lending, withdraw_from_lending, and repay_to_lending by specifying the deposit direction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use guidance is provided. It is implied that this tool is for supplying/depositing assets to a lending protocol, but there is no mention of alternatives, prerequisites, or exclusions. The description does not tell the agent when to choose this over related tools like withdraw_from_lending.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thorchain_get_balanceA
Get RUNE balance for a THORChain address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | THORChain address to check |
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 correctly implies a read-only operation via 'Get', but it does not disclose potential error conditions, address validation requirements, or the exact return format. For a simple getter, this is acceptable but not richly 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 a single, concise sentence with no redundant wording. It conveys the essential information efficiently, earning its place without any 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 single-parameter read-only balance tool, the description is fully sufficient. The absence of an output schema does not hinder understanding, as the purpose and result ('balance') are intrinsically clear. No additional context is necessary.
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 already provides 100% coverage with a clear description for 'address' ('THORChain address to check'). The tool description adds the token context ('RUNE balance') but does not add further parameter-level semantics beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') with a clear resource ('RUNE balance') and target ('THORChain address'). It clearly distinguishes this from sibling tools like thorchain_get_pool_info or thorchain_get_network_info, and the chain/token specificity prevents confusion with other chain balance 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 implies when to use this tool: when you need the RUNE balance of a THORChain address. No explicit alternatives or exclusions are mentioned, but the scope is so unambiguous that an agent can infer appropriate usage without additional guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thorchain_get_inbound_addressesA
Get inbound vault addresses for depositing assets to THORChain
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Filter by chain (e.g., 'BTC', 'ETH') |
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 not disclose any behavioral nuances such as whether addresses are static or rotating, if there are rate limits, or how the chain filter affects the response. The only behavioral signal is the word 'Get', which implies a read operation, but this is inherent to the tool name.
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 a single concise sentence that conveys the tool's purpose without any fluff. It is well-structured and 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?
Given the tool's simplicity (one optional parameter, no output schema), the description provides sufficient information to understand what the tool does. However, without annotations, some behavioral details are missing, but the tool's low complexity mitigates this.
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 does not elaborate on the chain parameter, but the schema provides a complete definition with an example ('BTC','ETH'). Since schema coverage is 100%, the description adds no additional parameter meaning, meeting the baseline.
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 what the tool does: it retrieves inbound vault addresses for depositing assets to THORChain. It uses a specific verb ('Get') and resource ('inbound vault addresses'), which distinguishes it from other THORChain tools like get_balance or get_pools.
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 'for depositing assets to THORChain' provides a clear usage context, indicating this tool is used when a user needs to send funds to THORChain. It does not explicitly mention alternatives or exclusions, but the context is sufficient to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thorchain_get_network_infoB
Get THORChain network information including mimir values
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It mentions it returns 'network information including mimir values', but doesn't state whether this is a read-only operation, whether it can fail (e.g., if the THORChain API is down), whether it requires any API key or permissions, or what the response structure looks like. The word 'Get' implies a read, but the description doesn't add safety or edge-case context. For a tool with zero annotations, this is a notable 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 description is one short sentence with no fluff. It front-loads the primary verb and resource and includes the mimir detail in a compact clause. Every word 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?
For a 0-parameter read-only-looking tool, the description is moderately complete: it tells the agent the tool returns network info including mimir values. However, without annotations, it doesn't clarify safety or failure modes, and there's no output schema to document return structure. It's adequate but leaves the agent to infer some details (e.g., what 'network information' includes beyond mimir).
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 0 parameters, so there are no parameters to document. The description's mention of 'mimir values' adds a small semantic hint about the content of the response, which is the only thing the description could add here. A score of 4 is appropriate for a 0-parameter tool where no param docs are needed.
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 'Get THORChain network information including mimir values' uses a specific verb ('Get') and clearly identifies the resource (THORChain network information) and a key detail (mimir values). It distinguishes itself from sibling tools like thorchain_get_pool_info (pools) and thorchain_get_swap_quote (quotes), though it doesn't explicitly name those alternatives. A 4 is appropriate because the purpose is clear even without explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: it's for fetching network-wide THORChain status, not for chain-specific or user-specific data. However, it provides no explicit guidance on when to use this versus alternatives like near_get_network_info or bitcoin_get_network_info. The context is clear only because of the THORChain prefix in the tool name. With no exclusions or alternatives named, this is a minimum-viable score of 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thorchain_get_pool_infoC
Get information about a THORChain liquidity pool
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | Asset symbol (e.g., 'BTC.BTC', 'ETH.ETH') |
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 of behavioral disclosure. It only says 'get information', implying a read-only operation, but does not describe response contents, rate limits, or any other behavioral traits.
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 a single, clear sentence with no redundant or filler words. It is appropriately front-loaded and communicates the core purpose efficiently.
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?
Despite the simple one-parameter schema, there is no annotations or output schema, and the description does not clarify what pool information is returned or any limitations. Given the large sibling set of THORChain tools, more context is needed for a fully complete tool description.
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 covers the only parameter (asset) at 100% with an example format, so the description adds no extra parameter-level context. This matches the baseline of 3 for well-documented schemas.
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 ('Get information') and the resource ('THORChain liquidity pool'), making the tool's function apparent. It does not explicitly differentiate from the sibling tool 'thorchain_get_pools', but the singular phrasing and required asset parameter imply a single-pool lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as thorchain_get_pools, nor any mention of prerequisites or exclusions. The description only restates the basic function without providing selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thorchain_get_poolsA
Get all available THORChain liquidity pools
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. 'Get all available' suggests a read-only operation returning a list of pools, which is basic transparency. However, it does not discuss potential limitations (e.g., pagination, rate limits, response size) or what 'available' exactly includes, so it adds limited context beyond the tool's name.
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 a single, succinct sentence: 'Get all available THORChain liquidity pools.' Every word contributes to the meaning, with no redundant or irrelevant content. It is appropriately sized for a zero-parameter 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?
Given the tool's simplicity (zero parameters, no output schema), the description is nearly complete. It clearly states the function and scope. However, because there is no output schema, a brief note about the return format (e.g., 'returns a list of pool assets') would enhance completeness, but it is not critical for a list-type 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?
The tool has zero parameters, and the schema is empty (100% coverage). Per the rubric, 0 params earns a baseline of 4. The description confirms that no parameters are required, so the agent can invoke it without needing any argument details.
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 ('Get all available') on a specific resource ('THORChain liquidity pools'), which differentiates it from sibling tools like thorchain_get_pool_info (which fetches a single pool) and thorchain_get_balance. The scope ('all available') provides a clear distinction.
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 that this tool is for retrieving the complete list of THORChain liquidity pools, not a specific one. However, it does not explicitly mention when to use this tool over alternatives such as thorchain_get_pool_info or note any exclusions, leaving the guidance somewhat implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thorchain_get_swap_quoteB
Get a quote for swapping assets on THORChain
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount to swap | |
| toAsset | Yes | Destination asset (e.g., 'ETH.ETH') | |
| fromAsset | Yes | Source asset (e.g., 'BTC.BTC') |
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 of behavioral disclosure. However, it only says 'Get a quote' and does not explain the nature of the quote (e.g., whether it includes fees, slippage, price impact), whether it triggers any on-chain transactions, or whether it requires network connectivity or specific input formats. For a tool that presumably performs a read-only price estimate, this lack of behavior detail is a notable gap given zero annotation support.
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 a single, concise sentence that directly states the tool's purpose. There is zero wasted text, and it is appropriately front-loaded with the main action. This is efficient for an AI agent to parse.
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 should explain more about what the quote response contains (e.g., expected amount, fees, expiry). The tool is relatively simple with only three fully documented parameters, so the description covers the core purpose but lacks details about return values or edge cases, making it minimally complete but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (amount, toAsset, fromAsset) having a description and an example for assets. The tool description itself adds no additional parameter semantics beyond what the schema already provides, so the baseline 3 applies. The schema is clear enough, though the description doesn't clarify nuances like amount precision, decimal handling, or asset format validation.
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 'Get a quote for swapping assets on THORChain' with a specific verb ('Get') and resource ('swap quote on THORChain'), making the tool's function clear. It does distinguish it from generic swap quote tools in the sibling list (e.g., 'get_swap_quote', 'solana_get_swap_quote') by explicitly naming THORChain, though it doesn't explicitly contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, whether a swap can be executed without a quote, or how this differs from similar tools like 'get_swap_quote' or 'execute_swap'. The only usage context is implicit from the tool name and description, but there are no explicit when/when-not or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ton_get_balanceA
Get balance for a TON address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | TON address to check | |
| testnet | No | Use testnet instead of mainnet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The verb 'Get' implies a read-only operation, and with no annotations provided, the description carries the full burden. However, it does not disclose any additional behavioral traits such as return format, units, or testnet default behavior. It is acceptable but minimal for a simple read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action and resource with zero filler. Every word contributes meaning, making it highly efficient for the tool's simplicity.
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 the description does not mention what the return value looks like (e.g., balance in TON, raw integer, or an object with additional fields). It is adequate for a basic balance check but incomplete in setting expectations for the response and network behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, with both 'address' and 'testnet' having their own descriptions. The tool description itself adds no parameter-level meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and identifies the resource as 'balance for a TON address', clearly stating what the tool does and distinguishing it from other TON tools like ton_send_transaction or ton_get_transaction_history. It is unambiguous and chain-specific.
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 guidance on when to use this tool versus alternatives. It does not mention related balance tools for other chains or TON-specific tools, nor does it state exclusions or prerequisites. There is zero usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ton_get_network_infoB
Get current TON network information
| Name | Required | Description | Default |
|---|---|---|---|
| testnet | No | Use testnet instead of mainnet |
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 only states 'Get,' implying a non-mutating read, but it does not mention rate limits, network call behavior, caching, or any preconditions. For a simple getter this may be minimally acceptable, but no extra behavioral context is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence, front-loaded with the verb and resource, with no redundant or filler words. It earns its place entirely.
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?
This is a low-complexity getter with one optional parameter and no output schema. The description is minimally sufficient for an agent to understand the basic action, but it lacks details about return values and the testnet behavior is left entirely to the schema, which is a clear 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?
The schema has 100% coverage for the single 'testnet' boolean parameter, with a clear description 'Use testnet instead of mainnet.' The tool description adds no parameter information, so the baseline of 3 applies since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and identifies the resource as 'current TON network information,' which clearly distinguishes it from other TON tools like ton_get_balance and ton_get_transaction_history. However, it does not enumerate what fields 'network information' includes, so it stops short of being fully specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool vs alternatives, such as choosing mainnet vs testnet or why this is preferable to other chain-info tools. The description merely states the action without providing usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ton_get_transaction_historyA
Get transaction history for a TON address
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of transactions to return (default: 10) | |
| address | Yes | TON address to check | |
| testnet | No | Use testnet instead of mainnet |
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, yet it only states the operation name. It does not mention that this is a safe, read-only operation, nor does it describe pagination, ordering, or what data is returned. The description adds no behavioral context beyond what the tool name already conveys.
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 a single, clear sentence with no redundant or filler content. It is appropriately sized for the tool's simplicity.
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, leaving the description to cover behavioral and output details. While the schema explains parameters, the description omits information about the response format, ordering, or whether transactions include pending/confirmed states. For a simple read tool this is adequate but leaves 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?
The input schema provides 100% coverage with detailed descriptions for all three parameters (address, limit, testnet). The description adds no parameter-specific meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get transaction history for a TON address' uses a specific verb and resource, clearly indicating the tool's function. It unambiguously distinguishes from sibling tools like ton_get_balance or ton_validate_address by specifying 'transaction history' as the target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when transaction history for a TON address is needed, but provides no explicit guidance on when not to use it or which alternatives to prefer. No alternatives or exclusions are mentioned, making the usage context only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ton_send_transactionA
Send TON from your wallet to another address using mnemonic from environment
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of TON to send | |
| comment | No | Optional comment to include with the transaction | |
| testnet | No | Use testnet instead of mainnet | |
| toAddress | Yes | TON address to send to |
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 that the transaction uses a mnemonic from the environment (a security/prerequisite detail) and clearly implies a mutation ('Send'). However, it does not warn about irreversibility, gas fees, or that it spends the user's funds, nor does it describe the return value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler. It front-loads the action and includes essential context (source of mnemonic) in minimal words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple transaction sender, but there is no output schema and no annotations. The description does not mention the return format (e.g., transaction hash) or error conditions like insufficient funds. While the schema covers all parameters, the lack of return/error disclosure leaves a notable gap for a state-changing financial 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 coverage is 100%, and each parameter has a description. The tool description adds no additional meaning beyond the schema; it only restates the overall purpose. Baseline 3 is appropriate because the schema already handles 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 clearly states the action ('Send'), the resource ('TON'), the direction ('from your wallet to another address'), and the method ('using mnemonic from environment'). This is specific and distinguishes it from other chain-specific send tools like xrp_send_transaction.
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: when a user wants to send TON from their wallet. It also hints at a prerequisite (mnemonic from environment). However, it does not explicitly mention alternatives, when not to use it, or exclusions compared to other send tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ton_validate_addressC
Validate a TON address format
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | TON address to validate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It implies a read-only validation operation but does not state whether it returns a boolean, whether it checks on-chain validity or only syntactic format, or whether any network calls are involved. This is a significant gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the key action and resource. There is no redundancy or extraneous text; every word contributes to the meaning. It is appropriately minimal for such a focused 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?
This is a simple tool with one fully documented parameter, but the description does not specify the return value or behavior. Since there is no output schema and no annotations, the agent is left without a clear picture of what the tool returns (e.g., a boolean, normalized address, or error). This incompleteness is notable for an otherwise trivial tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the single 'address' parameter as 'TON address to validate', giving 100% schema coverage. The tool description adds no extra parameter semantics beyond what the schema provides, so the baseline of 3 is appropriate. No additional constraints like accepted address formats are mentioned.
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 action ('Validate') and the target ('a TON address format'), making the tool's purpose unmistakable. It distinguishes from other ecosystem tools by specifying TON, but does not explicitly contrast with other chain-specific validators like xrp_validate_address or the generic validate_address.
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 guidance on when to use this tool versus alternatives. It does not mention that this is for TON-only validation or suggest using other tools for balance checks or transaction history. There are no 'when to use' or 'when not to use' instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transfer_ensB
Transfer ENS name ownership to a new address
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ENS name to transfer | |
| newOwner | Yes | Address of new owner | |
| privateKey | Yes | Private key of current owner |
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 disclosing behavioral traits. It simply states the action without mentioning that this is likely an irreversible ownership change, requires the current owner's private key, or has potential side effects on ENS records/controller. The schema hints at the private key requirement, but the description adds no extra context about consequences or permissions.
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 a single, concise sentence that directly states the tool's purpose without any filler or redundancy. Every word earns its place, and it is easy to parse quickly.
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?
Although the tool is simple and the schema covers parameters, the description lacks critical context for safe invocation. There is no mention of ownership requirements, irreversibility, or how this differs from related ENS operations, and there is no output schema or annotations to compensate. This makes the description insufficient for an agent to understand the full scope of the 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?
The schema already provides 100% coverage of the three parameters with clear descriptions (name, newOwner, privateKey). The description adds no additional meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Transfer') and clearly identifies the resource ('ENS name ownership') and the destination ('to a new address'). This distinguishes it from sibling ENS tools like register_ens_name, set_ens_records, and renew_ens, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. It does not mention that the caller must be the current owner, or that this operation differs from setting records or creating subdomains, leaving the agent to infer usage solely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transfer_erc1155B
Transfer ERC1155 tokens to another address. ERC1155 is a multi-token standard that can represent both fungible and non-fungible tokens in a single contract.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | The quantity of tokens to send (e.g., '1' for a single NFT or '10' for 10 fungible tokens) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenId | Yes | The ID of the specific token to transfer (e.g., '1234') | |
| toAddress | Yes | The recipient wallet address that will receive the tokens | |
| privateKey | Yes | Private key of the token owner account in hex format (with or without 0x prefix). SECURITY: This is used only for transaction signing and is not stored. | |
| tokenAddress | Yes | The contract address of the ERC1155 token collection (e.g., '0x76BE3b62873462d2142405439777e971754E8E77') |
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 only states the basic transfer action and does not disclose behavioral traits such as whether token approval is required, irreversibility, gas/fee implications, error handling, or what happens on failure. The privateKey security note exists only in the schema, not in the tool 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 extremely concise: two sentences. The first states the action, the second provides relevant background on ERC1155. No filler 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?
With no output schema and no annotations, the description is incomplete for a mutating transaction tool. It does not explain the return value, potential errors, network support (though network param hints at it), or prerequisites such as token approval. The rich schema covers parameter semantics but not the operational context an agent needs to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional parameter-level meaning beyond what the schema already provides; it only mentions 'another address' which aligns with the existing toAddress parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Transfer ERC1155 tokens to another address') with a specific verb and resource, and distinguishes it from sibling transfer tools like transfer_erc20 and transfer_native_token. The brief explanation of the ERC1155 standard adds useful context without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the token standard (ERC1155) but there is no explicit guidance on when to use this tool versus alternatives like transfer_nft or transfer_erc20. No exclusion criteria or alternative recommendations are provided, leaving selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transfer_erc20B
Transfer ERC20 tokens to an address
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of tokens to send as a string (e.g., '100' for 100 tokens). This will be adjusted for the token's decimals. | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| toAddress | Yes | The recipient address or ENS name that will receive the tokens (e.g., '0x1234...' or 'vitalik.eth') | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| tokenAddress | Yes | The contract address or ENS name of the ERC20 token to transfer (e.g., '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' for USDC or 'uniswap.eth') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden. It does not disclose that this broadcasts a blockchain transaction requiring gas, that it uses the private key to sign, or potential failure modes. The parameter descriptions in the schema cover decimal adjustment and key security, but the tool description itself adds no behavioral context beyond the basic 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 a single, straightforward sentence with no fluff. Every word is necessary, and it is properly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a 5-parameter schema and no output schema, the description only covers the core action. Parameter semantics are fully handled by the schema, but the lack of behavioral context (transaction side effects, gas, return value) leaves gaps. Overall adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with detailed descriptions for amount (decimal adjustment), privateKey (security), and ENS support. The description adds no parameter information beyond what the schema provides, so a baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Transfer'), the asset type ('ERC20 tokens'), and the destination ('an address'), distinguishing it from sibling tools like transfer_native_token and batch_transfer_erc20.
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 guidance is provided on when to use this tool versus batch_transfer_erc20, transfer_native_token, or approve_token_spending. The description does not mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transfer_native_tokenB
Transfer native tokens (BNB, ETH, MATIC, etc.) to an address
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount to send in BNB (or the native token of the network), as a string (e.g., '0.1') | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| toAddress | Yes | The recipient address or ENS name (e.g., '0x1234...' or 'vitalik.eth') | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. |
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 not mention that the tool signs and broadcasts a transaction, incurs gas fees, is irreversible, or returns a transaction hash. The description only states the basic action, which is inadequate for a fund-transferring operation.
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 a single, front-loaded sentence with no filler. It efficiently conveys the core action and resource, making it concise and 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 write operation with no annotations and no output schema, the description is under-specified. It does not explain the return value (e.g., transaction hash), whether it waits for confirmation, or prerequisites like sufficient balance and gas. The schema handles parameters but lacks behavioral context, leaving the description incomplete for this action type.
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 has 100% coverage with detailed descriptions for all four parameters, so the description adds minimal value beyond the schema. It only references 'an address,' which mirrors the toAddress parameter without adding new meaning. The baseline score of 3 is appropriate given the schema's thoroughness.
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 'Transfer' and resource 'native tokens (BNB, ETH, MATIC, etc.)', and specifies the destination 'to an address'. It distinguishes from sibling tools like transfer_erc20 and transfer_nft by limiting scope to native tokens, though it does not 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 implies usage for native token transfers but does not provide explicit guidance on when to use this tool versus alternatives such as transfer_erc20. No exclusions or alternative tool names are mentioned, leaving the usage context implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transfer_nftC
Transfer an NFT to an address
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| tokenId | Yes | The ID of the specific NFT to transfer (e.g., '1234') | |
| toAddress | Yes | The recipient address that will receive the NFT | |
| privateKey | Yes | Private key of the owner's account in hex format (with or without 0x prefix). SECURITY: This is used only for transaction signing and is not stored. | |
| tokenAddress | Yes | The contract address of the NFT collection (e.g., '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D' for Bored Ape Yacht Club) |
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 states the action but gives no details about private key usage, transaction signing, gas costs, ownership verification, or failure modes. For a state-changing operation, this is insufficient.
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 a single sentence that is clear, front-loaded, and free of fluff. Every word contributes to conveying the core action.
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?
This transfer tool has five parameters, including a sensitive privateKey, and no output schema. The description does not explain transaction signing, network implications, or what happens after transfer. It is too minimal for such a consequential 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?
The input schema has 100% coverage with meaningful descriptions for all five parameters, including a security note for privateKey. The description adds no additional parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Transfer' and clearly identifies the resource ('an NFT') and recipient ('to an address'). It states the action unambiguously but does not distinguish from sibling tools like batch_transfer_nfts or transfer_erc1155.
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 guidance is provided on when to use this tool versus alternatives. It does not mention that batch_transfer_nfts is for multiple NFTs, that transfer_erc1155 handles a different token standard, or that this tool requires the caller to be the NFT owner.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ucai_analyze_contractA
Perform premium security analysis on a smart contract. Includes security audit, ownership analysis, proxy detection, and verification status. Price: $0.05 per analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | The blockchain network to use | arbitrum |
| analysisType | No | Types of analysis to perform | |
| contractAddress | Yes | Contract address to analyze |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It adds useful behavioral context by disclosing the price ($0.05 per analysis) and the included analysis types, which imply a read-only, fee-based operation. However, it does not explicitly confirm read-only behavior, rate limits, or other side effects, which would be helpful for an analysis 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 two sentences, front-loaded with the core purpose and followed by a concise feature list and pricing. Every sentence contributes meaningful information with no redundancy or 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?
Given no output schema, the description partially explains what the user receives by listing the included analyses (security audit, ownership, proxy, verification). However, it does not describe the output format or clarify that the analysisType parameter supports more types than those listed (e.g., rug_pull_detection, token_analysis). Still, the schema fills in parameter details and the tool is relatively simple.
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 covers 100% of parameters with descriptions, so the baseline is 3. The description does not add parameter-specific meaning beyond what the schema already provides, such as clarifying how analysisType maps to the listed features (e.g., 'full_audit'). The schema's enum descriptions already handle 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 the tool's function: 'Perform premium security analysis on a smart contract' and enumerates specific components (security audit, ownership analysis, proxy detection, verification status). This specific verb+resource+scope distinguishes it from sibling tools that focus on single aspects like ownership or rug-pull detection.
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 a comprehensive security analysis of a smart contract is needed, and the 'premium' qualifier suggests it is a paid/comprehensive option. However, it does not explicitly state when to use this tool over alternatives (e.g., goplus_token_security or check_contract_ownership) or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ucai_check_balanceB
Check your UCAI payment balance and subscription status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 disclosing side effects, auth requirements, and return behavior. It only states the action and target without explicitly indicating that it is a read-only operation or describing the response format, leaving significant 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 a single, concise sentence that is front-loaded with the action. It contains no redundant wording, though it is slightly under-specified, which prevents a 5.
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 zero-parameter, no-output-schema tool with no annotations, the description provides an adequate but minimal explanation. It lacks details on return values, authentication, or how the subscription status is presented, making it a middle-ground 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?
The tool has zero parameters, and the schema coverage is vacuously 100%. Per the rubric, 0 params receive a baseline of 4. The description adds no parameter details because none are needed.
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 action ('Check') and resource ('UCAI payment balance and subscription status'). It distinguishes from similar balance tools like x402_check_balance by the UCAI-specific prefix, but it does not explicitly contrast alternatives, 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 guidance on when to use this tool versus alternatives such as x402_check_balance or other balance-related tools. There is no 'when to use' or 'when not to use' context, leaving the agent to infer the appropriate scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ucai_detect_rug_pullB
Analyze a token contract for rug pull indicators and honeypot detection. Price: $0.05 per analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | The blockchain network to use | arbitrum |
| tokenAddress | Yes | Token contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It does add the cost detail ('Price: $0.05 per analysis'), but it does not disclose what output the user receives, whether any side effects occur beyond the charge, or any handling of invalid inputs. This is minimal transparency for a paid analysis 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 two short sentences: the purpose statement and the price. It is front-loaded with the core function, has no redundant information, and every word serves a purpose.
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 is simple (2 parameters, no output schema), but the description is bare-bones. It lacks any description of what the analysis returns, no differentiation from overlapping sibling tools, and no mention of network support beyond what the schema already provides. Adequate for basic understanding, but with clear gaps for an agent deciding among many similar 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?
The schema description coverage is 100%, with both parameters adequately described ('The blockchain network to use' and 'Token contract address'). The description does not add any parameter-specific meaning beyond the schema, so it remains at the baseline of 3.
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: 'Analyze a token contract for rug pull indicators and honeypot detection.' It uses a specific verb ('Analyze') and resource ('token contract'), making the purpose clear. However, it does not differentiate from similar sibling tools like detect_rug_pull_risk or goplus_rugpull_detection, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, use cases, or contrast with sibling tools. It only states what it does and the price, leaving the agent without direction on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ucai_estimate_gas_sponsorshipB
Estimate the cost to sponsor gas for a transaction (free).
| Name | Required | Description | Default |
|---|---|---|---|
| abi | Yes | Contract ABI | |
| args | Yes | Function arguments | |
| network | No | The blockchain network to use | arbitrum |
| functionName | Yes | Function to call | |
| contractAddress | Yes | Target contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are available, so the description must disclose behavioral traits. It does not state whether the operation is read-only, how the estimate is computed, or what the return value looks like. The parenthetical '(free)' is ambiguous and does not clarify expected 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 a single concise sentence that is easy to scan and front-loaded with the main verb. The parenthetical '(free)' adds slight ambiguity but does not harm the overall structure.
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 5 parameters, no output schema, and no annotations, the description is too sparse. It does not explain what the returned cost estimate looks like, how it relates to the sponsorship flow (e.g., ucai_sponsor_gas), or any prerequisites or limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional parameter-specific context, but the schema already defines all parameters (contractAddress, functionName, args, abi, network) sufficiently for invoking the tool.
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 with a specific verb ('Estimate') and resource ('gas sponsorship cost'). The phrase 'sponsor gas' differentiates it from generic gas estimation tools like estimate_gas or aptos_estimate_gas, and aligns with the sibling ucai_sponsor_gas.
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 guidance is provided on when to use this tool versus alternatives. It doesn't mention that it should be used before ucai_sponsor_gas, nor does it exclude cases where regular gas estimation (e.g., estimate_gas) would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ucai_generate_abiA
Generate ABI for an unverified smart contract from bytecode analysis. Uses decompilation, pattern matching, and AI-enhanced interface detection. Price: $0.10 per generation.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | The blockchain network to use | arbitrum |
| contractAddress | Yes | Contract address | |
| detectStandards | No | Detect ERC standards (ERC20, ERC721, etc.) | |
| includeDescriptions | No | Include AI-generated descriptions |
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 adds valuable context by mentioning the method (decompilation, pattern matching, AI-enhanced detection) and the cost ($0.10 per generation). However, it does not mention side effects, limitations, or output format, which would warrant 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 description is two sentences, front-loaded with the primary action and resource. It includes the price as a separate concise clause without unnecessary fluff. Every word 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?
The tool has moderate complexity with 4 well-documented parameters, but no output schema is present. The description does not explain the return format or any prerequisites beyond the necessity of an unverified contract. Given the absence of output schema and the lack of explicit alternatives, the description could be more 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?
The schema covers all parameters with descriptions at 100%, so the baseline is 3. The description does not add specific parameter-level guidance beyond what the schema already provides; the mention of 'AI-enhanced interface detection' loosely relates to includeDescriptions but is not 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 states the action ('Generate ABI') and the specific resource ('unverified smart contract from bytecode analysis'), distinguishing it from related tools like verify_contract or read_contract. The mention of decompilation and AI-enhanced detection further clarifies the unique purpose.
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 unverified contracts, but does not explicitly state when to use this tool versus alternatives like verify_contract for verified contracts, or read_contract for ABI retrieval. The context is clear but lacks exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ucai_get_contract_statsC
Get aggregate statistics for a contract (free preview).
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | The blockchain network to use | arbitrum |
| contractAddress | Yes | Contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits itself. It only mentions 'free preview', hinting at limited access, but does not clarify whether this is a read-only operation, what statistics are included, whether rate limits apply, or what the response format is. This is a significant gap for a tool with no annotation support.
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 a single sentence that immediately conveys the core purpose without any filler. It is front-loaded and every word earns its place, making it highly concise and 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?
There is no output schema, so the description should clarify what the user will receive. It does not explain what 'aggregate statistics' means, what metrics are included, or how the output is structured. The 'free preview' note is the only extra context, leaving the tool underspecified for a user selecting among many contract-related 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?
The schema provides full 100% coverage with descriptions for both 'network' (including enum) and 'contractAddress' (with pattern). The description adds no additional meaning about how these parameters affect the aggregate statistics, so it stays at the baseline for complete 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 identifies the action ('Get') and the resource ('a contract'), and specifies that it returns 'aggregate statistics'. This is specific enough to understand the basic function, though it doesn't distinguish it from sibling contract-analysis tools like ucai_analyze_contract or get_contract_logs.
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 guidance is provided on when to use this tool versus alternatives such as ucai_analyze_contract or ucai_query_historical_data. There are no stated exclusions, prerequisites, or context for when aggregate statistics are the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ucai_list_toolsA
List all available UCAI x402 premium tools and their pricing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 indicates a read-only listing operation and mentions that it includes pricing, but it does not disclose whether authentication is required, how results are paginated or ordered, or if any rate limits apply. For a simple listing tool, this is minimally acceptable but lacks richness.
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 a single, well-structured sentence that front-loads the main purpose and includes key details (all available, UCAI x402 premium tools, pricing). There is no wasted wording 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?
For a zero-parameter listing tool with no output schema, the description is reasonably complete: it states what is listed and that pricing is included. It does not explain the return format, but the simplicity of the tool makes that less critical. The presence of many sibling list tools could warrant more context, but the specific scope ('UCAI x402 premium tools') helps disambiguate.
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 the baseline is 4. The description adds no parameter-specific information because none is needed; the empty input schema covers this completely. The description's mention of 'pricing' is relevant to the tool's purpose but not to 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 the tool's purpose: 'List all available UCAI x402 premium tools and their pricing.' It has a specific verb ('List') and resource ('UCAI x402 premium tools'), and it distinguishes itself from sibling tools like 'server_list_tools' and 'marketplace_discover_tools' by focusing specifically on UCAI x402 premium 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 no guidance on when to use this tool versus alternatives. While it clarifies it lists UCAI x402 premium tools, it does not contrast itself with similar listing tools such as 'server_list_tools' or 'marketplace_discover_tools', leaving the agent without clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ucai_query_historical_dataC
Query historical data for a smart contract including transactions, event logs, and state changes over time. Price: $0.02 per query.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results to return | |
| network | No | The blockchain network to use | arbitrum |
| toBlock | No | End block (number or 'latest') | |
| dataType | Yes | Type of historical data to query | |
| fromBlock | No | Start block (number or 'earliest') | |
| eventFilter | No | Filter for event logs | |
| contractAddress | Yes | Contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It mentions the monetary cost per query but omits other important traits such as whether it's read-only (though 'Query' implies it), rate limits, authentication requirements, or any side effects. It also doesn't describe the response format or pagination 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 two sentences and directly states the tool's purpose and pricing. It is concise and front-loaded, with no extraneous information. It could be longer to include more context, but as written it is 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?
Despite having 7 parameters including a nested eventFilter and no output schema, the description is minimal. It does not explain how to use block ranges, the event filter, or what the response contains. It also lacks usage guidelines. The description is too sparse for a complex tool with multiple configuration options.
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 covers 100% of the parameters with descriptions. The tool description adds little beyond the schema, only hinting at three of the five dataType values. It does not explain eventFilter, block ranges, or network parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries historical data for a smart contract, listing specific data types (transactions, event logs, state changes). It uses an active verb and specific resource. However, it does not explicitly differentiate from sibling tools like get_contract_logs or get_erc20_transfers, though its scope is broader.
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 guidance is provided on when to use this tool versus alternative tools. It neither mentions prerequisites nor exclusions. The description only covers what the tool does and the price, not 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.
ucai_simulate_transactionA
Simulate a smart contract transaction before execution. Shows outcome preview, state changes, token transfers, and catches errors early. Price: $0.01 per simulation.
| Name | Required | Description | Default |
|---|---|---|---|
| abi | Yes | Contract ABI | |
| args | Yes | Function arguments | |
| from | Yes | Sender address | |
| value | No | ETH value to send (in wei) | |
| network | No | The blockchain network to use | arbitrum |
| functionName | Yes | Function to simulate | |
| contractAddress | Yes | Contract address |
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 it is a simulation, shows outcome preview, state changes, token transfers, and catches errors, and notes the price. However, it does not explicitly state that no actual transaction occurs or describe limitations, leaving some behavioral traits implicit.
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 three sentences, all informative: purpose, outputs, and pricing. It is front-loaded with the primary action and contains no fluff, making it highly 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?
Given 7 parameters, no output schema, and no annotations, the description covers the core purpose and expected outputs but does not detail what the actual simulation result structure looks like or handle usage edge cases. It is adequate but incomplete for full contextual understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions already present, so the description adds no extra parameter semantics. It meets the baseline for schema completeness without providing additional detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it simulates a smart contract transaction before execution, listing the outputs (outcome preview, state changes, token transfers) and error-catching benefit. It is specific and distinct from read-only queries, but it does not explicitly distinguish from sibling simulate_transaction or simulate_bundle 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?
Provides clear context by saying 'before execution', implying it is a pre-flight check. However, it does not explicitly state when NOT to use this tool or mention alternatives like the related simulate_transaction tool, so exclusion guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ucai_sponsor_gasA
Sponsor gas for a user's smart contract transaction. The AI agent pays for gas using x402 payment. Fee: 0.10% of gas cost + gas cost in USD.
| Name | Required | Description | Default |
|---|---|---|---|
| abi | Yes | Contract ABI | |
| args | Yes | Function arguments | |
| network | No | The blockchain network to use | arbitrum |
| maxGasUsd | No | Maximum gas in USD to sponsor (default: $5) | |
| userAddress | Yes | User's wallet address | |
| functionName | Yes | Function to call | |
| contractAddress | Yes | Target contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the AI agent pays for gas and details the fee (0.10% + gas cost), which is critical financial context. However, it does not mention the transaction outcome, failure handling, or reversibility. With no annotations, this leaves some gaps in 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 two concise sentences with the core purpose front-loaded. It includes the fee and payment mechanism without any redundant or fluff 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?
The description explains the financial cost and fee, which is essential for a gas-sponsoring tool. However, it does not describe the expected return (e.g., transaction hash) or any failure conditions, making it adequate but not fully complete for a financial transaction tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter description coverage, so the baseline is 3. The description adds no new parameter-specific meaning beyond what the schema already provides, though it reinforces the purpose of the key parameters (contract details, arguments, ABI).
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: sponsoring gas for a user's smart contract transaction, and mentions the payment method (x402) and fee structure. However, it does not explicitly distinguish itself from the sibling tool 'ucai_estimate_gas_sponsorship', which likely handles cost estimation rather than execution.
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 the AI agent needs to pay gas on behalf of a user but gives no explicit guidance on when to use this tool versus alternatives like estimation or direct transaction tools. No exclusions or prerequisites (e.g., x402 balance) are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlock_add_projectB
Add a new token project to track for unlock events
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique project identifier | |
| name | Yes | Project name | |
| chain | Yes | Blockchain network | |
| symbol | Yes | Token symbol | |
| marketCap | No | Market capitalization in USD | |
| launchDate | Yes | Token launch date (ISO format) | |
| totalSupply | Yes | Total token supply | |
| currentPrice | No | Current token price in USD | |
| tokenAddress | Yes | Token contract address | |
| circulatingSupply | Yes | Current circulating supply |
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 only states the action ('Add a new token project') without addressing idempotency, duplicate handling, overwrite behavior, or any side effects on existing projects. For a mutation tool, this is a significant transparency 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 description is a single sentence of 11 words, front-loaded with the action and object. Every word earns its place, with no filler or unnecessary details.
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 10 parameters, no output schema, and no annotations, but the description is minimal. It does not explain the expected response, required preconditions, or how this tool fits into the broader unlock workflow (e.g., whether projects must be created before adding schedules with unlock_add_schedule). This leaves agents without enough context for reliable multi-step 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 description coverage is 100%, with each parameter clearly described (e.g., 'Token contract address', 'Blockchain network'). The description adds the context that the project is for tracking unlock events, which ties the parameters to the use case, but does not elaborate further on parameter behavior, relationships, or formatting. The baseline of 3 is appropriate when the schema already handles parameter explanations.
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 ('Add'), clearly identifies the resource ('token project'), and states the purpose ('to track for unlock events'). It distinguishes itself from siblings like unlock_get_calendar and unlock_add_schedule by focusing on creating a new project entry rather than querying or scheduling.
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 a new token project needs to be registered, but provides no explicit context about when to use this tool versus alternatives. It does not mention prerequisites, relationship to unlock_add_schedule, or any exclusion criteria, leaving the agent with only implicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlock_add_scheduleC
Add a vesting schedule for a tracked project
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID this schedule belongs to | |
| totalTokens | Yes | Total tokens in this schedule | |
| vestingStart | Yes | Vesting start date (ISO format) | |
| cliffDuration | Yes | Cliff duration in days | |
| initialUnlock | No | Tokens unlocked at TGE | 0 |
| beneficiaryType | Yes | Type of beneficiary | |
| vestingDuration | Yes | Total vesting duration in days |
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 implies a write operation ('Add') but does not disclose side effects, authentication requirements, reversibility, or any constraints such as schedule uniqueness. This is inadequate for a mutation 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 a single sentence with no fluff, making it concise and front-loaded. While it is appropriately brief, it could benefit from additional context without being verbose, so it doesn't reach the highest 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?
Despite the schema covering parameters, the description lacks critical context for a tool with 7 parameters and no output schema or annotations. It does not explain the workflow (e.g., project must be tracked first), what constitutes a valid schedule, or what the return value is. This is a significant gap for a mutation 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 100%, so the input schema fully documents all 7 parameters. The description adds no additional meaning beyond the schema, such as parameter relationships or business rules, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Add') and resource ('vesting schedule') with context ('for a tracked project'), which clearly differentiates it from unlock_add_project. However, it doesn't explicitly name the sibling alternative, so it lacks the explicit differentiation seen in top-scoring examples.
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 guidance on when to use this tool versus alternatives. It does not mention prerequisites like the need for a project to already exist (via unlock_add_project), nor any exclusions or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlock_get_alertsC
Get active vesting unlock alerts
| Name | Required | Description | Default |
|---|---|---|---|
| includeAcknowledged | No | Include acknowledged alerts |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are available, so the description carries the full burden of behavioral disclosure. It only mentions 'active' alerts but does not disclose that includeAcknowledged defaults to false, what constitutes an 'active' alert, or any details about the response format or filtering behavior. This is minimal for a getter.
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 a single, front-loaded sentence with no redundant words. It is appropriately concise for a simple tool with one parameter, though it could benefit from a brief mention of the acknowledgment 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?
With no output schema and no annotations, the description must provide context about what the tool returns and how it behaves. It fails to explain the difference between active and acknowledged alerts, or how this relates to sibling tools like unlock_get_upcoming. For a domain-specific tool, this leaves significant gaps for the 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?
The single parameter (includeAcknowledged) has a schema description that fully explains its meaning, and schema coverage is 100%. The tool description adds no additional parameter context, which is acceptable given the high coverage. The baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'active vesting unlock alerts', using a specific verb ('Get') and resource. It distinguishes from siblings like unlock_get_upcoming and unlock_get_calendar by focusing on 'active' alerts, though it doesn't explicitly contrast these related 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?
No guidance is provided on when to use this tool versus alternatives. The description gives no context about what 'active' means, when to include acknowledged alerts, or how this differs from sibling alert tools (e.g., alert_list, unlock_get_upcoming). The agent is left to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlock_get_calendarA
Get unlock events calendar for a date range across all projects
| Name | Required | Description | Default |
|---|---|---|---|
| endDate | Yes | End date (ISO format) | |
| startDate | Yes | Start date (ISO format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden of disclosing behavior. It adds the key behavioral trait that the calendar spans all projects and respects a date range, but does not explain output format, pagination, or permissions. As a read operation implied by 'Get', this is adequate but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the action and resource. There is no redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple two-parameter tool with no output schema and no annotations, the description is minimally viable. It clearly states purpose and scope, but lacks additional context such as what an unlock event contains or whether all projects means user-accessible projects. Enough for a basic fetch, but not rich.
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 already documents both parameters (startDate, endDate) with ISO format descriptions, so coverage is 100%. The description adds no additional parameter semantics beyond the date-range context, which is already clear from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get'), the resource ('unlock events calendar'), and the scope ('for a date range across all projects'). It distinguishes from siblings like unlock_get_upcoming by specifying a date range rather than upcoming events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as unlock_get_upcoming, unlock_tracker_stats, or unlock_list_projects. The description gives context (date range, across all projects) but does not mention exclusions or when to choose this over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlock_get_upcomingB
Get upcoming token unlock events for a project
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of events to return | |
| projectId | Yes | Project ID to query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the action but does not reveal whether the operation is read-only, how events are sorted, what timeframe 'upcoming' covers, or the structure of the response.
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 a single, efficient sentence that front-loads the verb and resource. There is no redundant information, making it highly concise and easy 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 tool is simple with two parameters, but since there is no output schema, the description should at least hint at return value shape or behavior. It does not mention ordering, default limit behavior, or what fields are returned, leaving some gaps for this simple read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters ('projectId' and 'limit') with 100% coverage. The description adds no extra semantic detail beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('upcoming token unlock events'), and the scope ('for a project'). It is specific enough to distinguish from generic tools, though it does not explicitly differentiate from the sibling tool 'unlock_get_calendar'.
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 guidance on when to use this tool versus alternatives such as 'unlock_get_calendar' or 'unlock_search'. No context about prerequisites or exclusions is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlock_list_projectsA
List all tracked token projects
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. 'List all tracked token projects' indicates a read-only operation and the 'all' qualifier makes clear there is no filtering or pagination implied. Simple and sufficient for a zero-parameter list 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 a single, concise sentence that immediately states the action and resource. Every word is meaningful, and there is no wasted verbiage.
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 simplicityโno parameters, no output schema, and a clear read-only list operationโthe description is fully adequate. It tells the agent exactly what the tool does and what result to expect: a list of all tracked token projects.
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 the baseline is 4. The description adds context by specifying the scope ('all tracked token projects') even though no parameter details are needed.
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 ('List') and a clear resource ('all tracked token projects'). It clearly conveys the tool's function and distinguishes it from related unlock_* tools that perform other actions like scheduling, searching, or analytics.
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 this tool: when you need a complete list of tracked token projects. However, it provides no explicit guidance on when not to use it or how it compares to related tools like unlock_search or unlock_tracker_stats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlock_market_impactC
Analyze potential market impact of upcoming unlocks for a project
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID to analyze |
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 of behavioral disclosure. It only says 'Analyze', which implies a read-only operation, but does not disclose what the analysis returns, whether it requires external data, or any side effects. This is a significant gap for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no fluff or redundant information. It is appropriately sized for its simple one-parameter schema, and every word 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?
There is no output schema, so the description should explain what the analysis produces (e.g., a score, a report, a list of factors). It also does not clarify how it differs from similar unlock tools, leaving the agent uncertain about expected results and potential alternatives.
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 one parameter (projectId) with a description 'Project ID to analyze', giving 100% schema description coverage. The tool description adds no additional meaning beyond this, but the baseline of 3 applies because the schema already handles parameter semantics adequately.
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 action ('Analyze') and resource ('potential market impact of upcoming unlocks') for a given project. It distinguishes itself from siblings like unlock_get_upcoming and unlock_vesting_analytics by focusing on 'market impact' rather than listing or vesting analytics, though it does not 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?
No guidance is provided about when to use this tool versus other unlock-related tools. The description only says 'for a project', which is a parameter context, not a usage guideline. There is no mention of prerequisites, scenarios, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlock_searchC
Search for unlock events with filters
| Name | Required | Description | Default |
|---|---|---|---|
| chains | No | Filter by blockchain networks | |
| endDate | No | Filter by end date | |
| startDate | No | Filter by start date | |
| projectIds | No | Filter by project IDs | |
| riskLevels | No | Filter by risk levels | |
| beneficiaryTypes | No | Filter by beneficiary types |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits, but it only says 'search for unlock events with filters'โadding little beyond the tool name. It does not indicate the read-only nature, response format, filter combination logic, or any limitations.
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 a single, clear sentence with no fluff, front-loading the key action and resource. It is concise, though it sacrifices valuable context by being so brief.
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 search tool with six optional filters and no annotations or output schema, this description is severely incomplete. It does not explain what unlock events are, how filters interact, what the response looks like, or how it differs from unlock_get_upcoming and unlock_get_calendar.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% since each parameter has a 'Filter by X' description, so the baseline score of 3 applies. The tool description itself adds no parameter details beyond what the schema already provides.
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 searches for unlock events, using the verb 'search' and specifying the resource 'unlock events'. However, it does not differentiate this tool from sibling tools like unlock_get_upcoming or unlock_get_calendar, which also deal with unlock events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many other unlock-related tools. It does not mention alternatives, exclusions, or typical use cases, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlock_tracker_statsB
Get overall tracker statistics and summary
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. 'Get' implies a read-only operation, but it does not disclose what exactly the statistics include, whether any side effects occur, or the format of the summary. For a tool named 'tracker_stats', more behavioral detail would be expected.
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 a single concise sentence of six words, with no fluff or redundancy. It efficiently communicates the core purpose without wasting tokens.
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 parameterless tool with no output schema, the description is minimally viable but lacks specificity about what 'tracker statistics' includes or how this summary relates to other unlock tools. It could be clearer about the scope (e.g., across all projects, vesting schedules) to help an agent understand its value, but it is not misleadingly incomplete.
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 schema coverage is trivially 100%. Per the rubric, a baseline of 4 is appropriate for parameterless tools, and the description doesn't need to add parameter details. It provides no contradictory or confusing parameter info.
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 read operation ('Get') targeting 'overall tracker statistics and summary', which distinguishes it from more specific unlock tools like unlock_get_upcoming or unlock_get_calendar. However, it lacks explicit differentiation from sibling tools that might also provide aggregated data, so it's not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any exclusions. The description is a bare statement with no context about its typical use case or relationship to other unlock tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlock_vesting_analyticsC
Get comprehensive vesting analytics for a project
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID to analyze |
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. 'Get comprehensive vesting analytics' is essentially a restatement of the tool name and offers no information about what data is returned, whether it is a read-only operation, any required permissions, or potential side effects. This lacks any meaningful 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 a single concise sentence with no wasted words. It is easy to parse and front-loads the core purpose, though it might benefit from a bit more detail on the output or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter, no annotations, and no output schema, the description is incomplete. It fails to convey what 'comprehensive vesting analytics' actually includes, whether it covers historical data, projections, or on-chain metrics, and how it differs from unlock_market_impact or unlock_tracker_stats. This leaves a significant information gap for an agent deciding whether to 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 100%: the projectId parameter has a description 'Project ID to analyze'. The tool description adds no additional parameter semantics, but since the schema already documents the only parameter adequately, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get comprehensive vesting analytics for a project' clearly states a specific verb (Get) and resource (vesting analytics) targeted at a project. While it doesn't explicitly differentiate from sibling unlock_* tools like unlock_market_impact or unlock_tracker_stats, the term 'vesting analytics' is distinct enough to suggest a focused purpose.
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 guidance is provided on when to use this tool versus alternatives. The description merely states what it does, without mentioning use cases, exclusions, or related tools. Given the many unlock_* siblings, an explicit comparison or context would have been valuable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unstake_tokensB
Unstake/withdraw tokens from a staking contract
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount to unstake (in wei) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. | |
| stakingContract | Yes | Staking contract address |
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 only states the action without revealing that this is an on-chain transaction requiring signing, that it may have gas costs, or that it could fail. No context is given about the effect on the staking position or what happens with the withdrawn tokens.
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 a single, front-loaded sentence with zero filler. It communicates the core purpose without any wasted words, making it highly concise and easy to parse.
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 this is a mutating on-chain operation with no output schema or annotations, the description is incomplete. It fails to mention that the tool will send a transaction, how the network is selected, what the return value looks like (e.g., transaction hash), or any security considerations. The description is too sparse for an agent to fully understand the tool's behavior and consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters (amount, network, privateKey, stakingContract). The description does not add additional parameter semantics beyond the schema; it simply repeats 'staking contract' which is already clear from the parameter name and description. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Unstake/withdraw' and identifies the resource 'tokens from a staking contract', effectively distinguishing it from sibling tools like stake_tokens (the reverse operation) and claim_staking_rewards (which is for rewards, not principal). It clearly states the action and object.
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 guidance on when to use this tool versus alternatives such as claim_staking_rewards, get_staking_position, or remove_liquidity. There is no mention of exclusivity, prerequisites, or conditions that would help an agent decide between this and related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unwrap_native_tokenA
Unwrap wrapped tokens back to native tokens (WETHโETH, WBNBโBNB, WMATICโMATIC, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of wrapped tokens to unwrap (e.g., '1.5') | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for disclosing behavioral traits. It does not mention that this is an on-chain transaction that requires gas, changes wallet balances, or has security implications like private key usage (though the schema mentions private key security). The description only states the transformation without any side-effect or risk 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?
A single, front-loaded sentence that immediately states the action and includes illustrative examples. Every part contributes to understanding; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has three parameters, 100% schema coverage, and no output schema. The description clearly states the purpose but does not hint at the return value (e.g., transaction hash), gas requirements, or network-specific behavior. For a state-changing action, this is a noticeable gap, though the tool's simplicity and complete parameter docs keep it at a mid-level 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 100%, so the schema documents all parameters thoroughly. The description adds value by giving example token pairs (WETHโETH) that clarify the meaning of 'wrapped tokens', but it does not add additional semantic detail beyond the schema for amount precision or network behavior. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('unwrap') and resource ('wrapped tokens' to 'native tokens'), with concrete examples (WETHโETH, WBNBโBNB, WMATICโMATIC) that clearly differentiate it from the sibling wrap_native_token. No ambiguity about what the tool 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 clearly implies the use case: whenever wrapped tokens need to be converted back to native tokens. It does not explicitly name alternatives or exclusions, but the transformation is obvious enough for an agent to select this tool appropriately. Lacks explicit 'when not to use' guidance, so not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unwrap_wstethB
Unwrap wstETH back to stETH
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of wstETH to unwrap | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key for signing transaction |
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, but it only states the conversion. It omits that this submits an on-chain transaction, requires gas, or that the privateKey is used for signing. The description does not mention return values or error behavior, making it inadequate for a 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 a single, concise sentence with no filler words. It is efficiently front-loaded and easy to parse, though it lacks structured details. For a simple tool, this brevity is acceptable, even if it sacrifices depth.
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?
This is a transaction tool requiring a private key and network selection, yet the description only gives the high-level action. It does not explain what happens after unwrapping, the default network behavior (BSC for a token typically on Ethereum), or any success/failure response. The lack of an output schema and annotations makes this incomplete for full contextual understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already documented with basic meaning (amount, network, privateKey). The description adds no extra semantic clarity, such as unit format for amount, appropriate networks for wstETH, or security handling for privateKey. It meets the baseline but provides no additional 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 the specific verb 'unwrap' and clearly states the conversion from wstETH to stETH. It distinguishes itself from the sibling tool wrap_steth, which does the opposite, so there is no ambiguity about the tool's 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?
The description gives no guidance on when to use this tool versus alternatives, no mention of prerequisites, and no exclusions. An agent must infer usage solely from the name and schema, which is insufficient for selecting between related tools like wrap_steth or unwrap_native_token.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upgrade_proxyB
Upgrade a proxy contract to a new implementation address
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| proxyType | Yes | Type of proxy | |
| privateKey | Yes | Private key for upgrade | |
| proxyAddress | Yes | Address of the proxy contract | |
| upgradeCalldata | No | Calldata for post-upgrade call | |
| callAfterUpgrade | No | Whether to call a function after upgrade | |
| proxyAdminAddress | No | ProxyAdmin address (for transparent proxies) | |
| newImplementationAddress | Yes | Address of the new implementation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must convey behavioral traits. It only states the action without disclosing that this is a state-changing transaction requiring a private key, that it may have security implications, or that there are different proxy upgrade patterns (transparent vs UUPS) with specific behaviors. It also omits any post-upgrade call behavior or error conditions. The description is too shallow to prepare the agent for the tool's 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 a single, concise sentence that directly conveys the core action. It is appropriately sized and front-loaded, with no redundant or extraneous information. Every word 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?
Proxy upgrades are complex operations involving multiple parameters (including private key, calldata, proxy type) and significant security considerations. With no output schema and no annotations, the description is far too sparse to be complete. It lacks context about preconditions, consequences, and recommended usage patterns. The agent would benefit from details about upgrade ownership, admin roles, and the significance of the upgrade process.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all eight parameters. The description adds no additional parameter detail beyond the schema. While it mentions the key addresses (proxy and new implementation), the schema provides the necessary semantics for proxyType, calldata, and admin address. This meets the baseline for high 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 action: upgrading a proxy contract to a new implementation address. This is specific and distinct from sibling tools like deploy_proxy, which creates a new proxy, and write_contract, which is a generic contract call. The verb 'upgrade' and resource 'proxy contract' immediately convey the tool's purpose.
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 offers no guidance on when to use this tool versus alternatives, nor does it mention prerequisites like ownership or proxy admin requirements. There is no indication of what situations warrant an upgrade (e.g., deploying a new implementation, managing transparent vs UUPS proxies) or when to prefer other tools like deploy_proxy or simulate_transaction. The context is purely definitional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usds_convert_recommendationA
Get a recommendation on whether to convert a token to USDs for yield. Calculates opportunity cost of NOT holding USDs.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token you're considering converting | |
| amount | Yes | Amount you're considering converting | |
| holdingPeriod | No | How long you plan to hold (days) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It reveals that the tool calculates opportunity cost of not holding USDs, which is a useful behavioral insight. However, it does not state whether the operation is read-only, what the output format is, or any data dependencies or auth requirements. This is a partial disclosure but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose and followed by a specific calculation detail. Every sentence contributes information 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?
The tool has no output schema and no annotations, so the description must explain return behavior. It does not describe what the recommendation looks like (e.g., a score, a recommendation string, a report), nor does it mention data sources or assumptions underlying the opportunity cost calculation. Given the tool's moderate complexity, this leaves important 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?
The input schema already documents all three parameters (token, amount, holdingPeriod) with clear descriptions, achieving 100% coverage. The description adds the concept of opportunity cost but does not provide additional per-parameter semantics beyond the schema. Thus the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function: providing a recommendation on converting a token to USDs for yield, with a specific calculation angle (opportunity cost of NOT holding USDs). This distinguishes it from related tools like usds_yield_balance or usds_yield_history, which likely report balances or historical 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 the use case: deciding whether to convert a token to USDs. It gives context but does not explicitly mention when not to use it or alternatives (e.g., if you just want yield data, use usds_yield_history). It doesn't provide exclusions, so it's not a 5, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usds_why_usdsB
Learn why USDs is the superior payment token for AI agents. Educational tool about Sperax USDs benefits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. The description states it is educational, which implies no side effects, but it does not explicitly confirm that the tool is read-only, returns static content, or makes no external calls. It also doesn't describe what the response format looks like, leaving the agent to guess.
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 very short (two sentences) and front-loads the main purpose. However, there is redundancy between 'Learn why USDs is the superior payment token' and 'Educational tool about Sperax USDs benefits' โ both convey the same educational intent. A single combined sentence would be more 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?
For a simple tool with no parameters and no output schema, the description explains the purpose but omits what the tool actually returns (e.g., a static explanation, a list of benefits, or a link to external content). Since there is no output schema, the description should fill this gap to allow the agent to set proper user expectations. It is minimally adequate but lacks output specificity.
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, which warrants a baseline score of 4 according to the rubric. No parameter information is needed since the schema is empty, and the description doesn't need to compensate for any missing parameter details.
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: learning about USDs benefits and why it's superior for AI agents. It distinguishes itself from other usds_* sibling tools (e.g., usds_yield_balance, auto_compound) by being educational rather than operational. However, the verb 'Learn' is somewhat passive and doesn't specify the exact output (e.g., text, list, article).
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 labels the tool as 'Educational tool about Sperax USDs benefits,' which implies it should be used when a user needs information about USDs. However, it doesn't explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or specific scenarios. The context is clear but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usds_yield_balanceB
Get your USDs balance with detailed yield information. USDs automatically earns ~5% APY - making it the superior payment token for AI agents.
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | Address to check (defaults to configured wallet) |
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 not mention whether the tool is read-only, any authentication requirements, or any side effects. The APY note is about the asset, not the tool's behavior. Lack of disclosure on response format or edge cases is a notable 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 description is brief and front-loaded with the primary function. The second sentence contains marketing language ('superior payment token') that is not directly actionable, but it does add context about the APY. It is not overly verbose, but slightly wastes a sentence on promotion rather than tool usage.
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 should explain what 'detailed yield information' includes. It does not specify return fields, whether the balance is in USDs or USD value, or how yield is computed. While the tool is simple, the lack of return details makes the description incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single optional 'address' parameter, which is fully described in the schema ('Address to check (defaults to configured wallet)'). The tool description adds no additional parameter semantics, but the baseline is 3 for high 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 function: 'Get your USDs balance with detailed yield information.' It uses a specific verb and resource, and the focus on USDs and yield distinguishes it from other balance tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (when you need USDs balance and yield info) but does not explicitly state when to use this tool versus alternatives like usds_yield_history or auto_compound. No exclusions or alternative tool mentions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usds_yield_historyB
Get your USDs yield history showing how much you've earned passively over time.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to show history for | |
| address | No | Address to check (defaults to configured wallet) |
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. The phrase 'showing how much you've earned passively over time' implies a read-only, historical query, which is useful context. However, it does not explicitly state return format, pagination, or any potential side effects, leaving some 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 a single, concise sentence of 14 words. It is front-loaded with the action and resource, contains no filler, and effectively communicates the tool's purpose without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool, the description gives a reasonable high-level overview. However, without an output schema, it leaves the exact return format ambiguous (e.g., list vs. total). It could be more explicit about what 'history' entails, so it is only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters (days, address) have descriptive text in the schema. The tool description adds no additional parameter semantics beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches USDs yield history, using a specific verb ('Get') and resource ('USDs yield history'). It is concise and unambiguous, but does not explicitly differentiate from sibling tools like usds_yield_balance, so it misses 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?
No guidance is provided on when to use this tool versus alternatives. It does not mention that usds_yield_balance is for current balance or give any context for choosing this tool. The description simply states what it does with no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_addressA
Validate an Ethereum address and return its checksum version
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The address to validate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it returns a checksum version, but does not explain what happens with invalid addresses (e.g., returns false, throws an error) or what exactly the checksum format is. With no annotations provided, the description carries the full burden for behavioral disclosure, and these details are critical for a validation 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 a single concise sentence of 10 words, front-loaded with the verb 'Validate', and includes the resource and output without any filler. Every word 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?
The tool is simple and the description covers the primary purpose, but it lacks essential details about invalid address handling and return format. Since there is no output schema, the description should clarify error behavior and checksum specifics. It also does not explicitly note that this is only for Ethereum, relying on the name to convey that.
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 has 100% description coverage with 'The address to validate'. The description adds Ethereum context and the checksum output, but does not provide parameter-specific details like format requirements, checksum standard (EIP-55), or examples. This is an acceptable baseline given the schema covers the parameter meaning.
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 'Validate an Ethereum address and return its checksum version', specifying the verb (validate), the resource (Ethereum address), and the output (checksum version). This effectively distinguishes it from sibling validators for other chains like xrp_validate_address and ton_validate_address.
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 by explicitly mentioning 'Ethereum address', indicating it is for Ethereum validation. However, it does not explicitly state when not to use it or mention alternatives such as other chain-specific validators, even though the sibling list includes many such tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_contractB
Submit contract source code for verification on block explorers (Etherscan, Basescan, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| runs | No | Optimization runs | |
| apiKey | Yes | Block explorer API key | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| evmVersion | No | EVM version | london |
| sourceCode | Yes | Contract source code (Solidity) | |
| licenseType | No | License type (3 = MIT) | |
| contractName | Yes | Contract name as it appears in source | |
| compilerVersion | Yes | Solidity compiler version (e.g., 'v0.8.19+commit.7dd6d404') | |
| contractAddress | Yes | Deployed contract address | |
| optimizationUsed | No | Whether optimization was enabled | |
| constructorArguments | No | ABI-encoded constructor arguments (hex) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It mentions submitting to external block explorers, but does not elaborate on the verification process, potential side effects, required API key usage, response time, or failure modes. This is a significant gap for a tool that performs a network submission.
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 a single, concise sentence that immediately conveys the tool's primary action. No unnecessary words or redundancyโexemplary clarity and structure.
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?
Despite the complex schema (11 parameters, 5 required) and no output schema, the description offers minimal context. It does not explain what the response contains, how to handle multi-file source code, or what happens after submission. This is insufficient for a tool of this complexity, making the description incomplete.
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 has 100% description coverage for all 11 parameters, so the schema already documents parameters well. The description adds no additional parameter meaning beyond the schema, aligning with the baseline score of 3.
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: submitting contract source code for verification on block explorers. It uses a specific verb and resource, and the mention of 'Etherscan, Basescan, etc.' gives context. However, it does not explicitly differentiate from the sibling tool 'verify_contract_source', so it isn't a perfect 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 verifying contract source code on block explorers, but provides no explicit guidance on when to use this tool versus alternatives like 'verify_contract_source'. There are no stated exclusions or alternative tool references, making the guidance adequate but not thorough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_contract_sourceB
Check if a contract is verified on block explorers like Etherscan/Basescan and get verification details
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | Block explorer API key (optional but recommended) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| contractAddress | Yes | Contract address to verify |
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 does state the operation is a check, implying read-only, but fails to describe error cases, return format when unverified, or any dependencies like API key requirements beyond the schema. The description mentions block explorers but does not elaborate on how verification details are presented or any limitations.
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 a single, compact sentence that is front-loaded with the primary action and resource. It contains no fluff or redundant information, earning every word's 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?
The tool has no output schema, so the description should clarify what 'verification details' includes and how the result is returned, but it does not. It also omits behavior when the contract is not verified or network defaults, though the latter is in the schema. The description is minimal for a 3-parameter tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters, so the baseline is 3. The description does not add additional meaning beyond the schema; it merely mentions the concept of block explorers. The apiKey, network, and contractAddress parameters are fully described in the schema itself.
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: 'Check if a contract is verified on block explorers like Etherscan/Basescan and get verification details.' It uses a specific verb ('Check') and resource ('contract verified on block explorers'), and the mention of verification details distinguishes it from siblings like verify_contract (which likely submits) and is_contract (which checks if address is a contract).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives. It does not mention that verify_contract should be used for submitting verification, nor does it note any exclusion criteria. The only implied usage is from the general purpose statement, but it lacks the explicit 'when-to-use' or 'when-not-to-use' context needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_messageC
Verify a signed message and recover the signer address
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | The original message | |
| signature | Yes | The signature to verify | |
| expectedAddress | No | Optional: expected signer address to verify against |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but does not disclose what happens on invalid signatures, the output format, or the role of the optional expectedAddress parameter. It also fails to clarify whether recovery is conditional on successful verification.
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 a single sentence of eight words, immediately stating the action and outcome with no redundant information. It is appropriately front-loaded and concise.
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 verification tool with no output schema and no annotations, the description is too sparse. It does not state the return value or error behavior, and fails to mention the expectedAddress parameter, which is important for verifying against a specific signer.
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 covers all three parameters with descriptions (100% coverage), so the baseline is 3. The description adds no additional parameter semantics, which is acceptable given the schema richness.
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 verifies a signed message and recovers the signer address, using a specific verb and resource. However, it does not explicitly differentiate from similarly named tools like verify_message_signature or recover_signer.
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 guidance on when to use this tool versus alternatives, nor any mention of use cases or prerequisites. The description solely states the action without contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_message_signatureB
Verify a personal_sign message signature
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Expected signer address | |
| message | Yes | Original message | |
| signature | Yes | Signature to verify |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It only states what the tool does without mentioning potential edge cases, return value behavior, or any constraints. For a read-only verification tool, this lack of detail is a notable 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 description is a single, concise sentence that directly states the tool's purpose. It is front-loaded with the key information and contains no unnecessary words 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?
Given the tool's simplicity and the presence of schema descriptions, a minimal description might suffice for basic usage. However, the lack of behavioral context (e.g., what 'personal_sign' entails, whether the function returns a boolean or throws on mismatch) leaves the agent uncertain about expectations. This could be improved with a sentence on return values or typical use cases.
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 descriptions for all three parameters (address, message, signature) with 100% coverage. The description adds no extra semantic detail beyond what the schema already contains, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: to verify a personal_sign message signature. It uses a specific verb (verify) and resource (personal_sign message signature), which distinguishes it from related tools like verify_typed_data_signature and verify_signature. The mention of 'personal_sign' adds specificity, making 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 implies the tool should be used for verifying personal_sign signatures, but it does not explicitly contrast it with alternatives like verify_signature or verify_typed_data_signature. There is no when-to-use or when-not-to-use guidance, leaving the agent to infer the appropriate context from the 'personal_sign' keyword.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_signatureB
Verify a message signature and recover the signer address
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Original message that was signed | |
| signature | Yes | Signature to verify (hex string) | |
| expectedAddress | No | Expected signer address for validation |
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 states the core action but omits what happens on verification failure (e.g., error vs. false return), whether the recovered address is always returned, and any assumptions about message formatting or hashing. The description adds only the recovery aspect beyond the name.
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 a single sentence with no wasted words. It is front-loaded with the primary verb ('Verify') and is appropriately sized for the tool's simplicity.
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 no output schema and no annotations, the description is too sparse. It does not clarify the return type (boolean vs. address), the role of expectedAddress in validation, or error behavior. Given the cluster of similarly named sibling tools (verify_message, verify_message_signature, recover_signer), more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description adds no further semantic detail beyond implying that 'message' is the signed message and 'signer address' relates to the recovered address, which is already evident from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('verify') and resource ('message signature') and adds the outcome ('recover the signer address'), making it clear what the tool does. It distinguishes itself from signing tools (e.g., sign_message) and typed-data variants by mentioning the signer recovery.
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 information on when to use this tool versus alternatives like verify_message, verify_message_signature, or verify_typed_data_signature. There is no mention of scenarios, prerequisites, or exclusions, leaving the agent to guess based on names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_typed_data_signatureB
Verify an EIP-712 typed data signature
| Name | Required | Description | Default |
|---|---|---|---|
| types | Yes | Type definitions | |
| domain | Yes | EIP-712 domain | |
| address | Yes | Expected signer address | |
| message | Yes | Original message | |
| signature | Yes | Signature to verify | |
| primaryType | Yes | Primary type name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only states the action. It does not mention return values, failure behavior, whether a boolean or result object is returned, or any constraints like supported EIP-712 fields (e.g., arrays, custom types).
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 a single focused sentence with no fluff or repetition. It efficiently conveys the core purpose without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters, nested objects, and no output schema, the description is far too minimal. It fails to explain the verification process, expected return format, or relationships between parameters (e.g., how domain and types form the typed data). This leaves significant 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 100%, with each parameter having a basic explanation (e.g., 'EIP-712 domain', 'Expected signer address'). The description adds no additional insight beyond what the schema already provides, so it meets the baseline but does not enhance understanding.
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 'Verify an EIP-712 typed data signature' clearly identifies the action (verify), the resource (typed data signature), and the specific standard (EIP-712). This distinguishes it from generic signature verification tools like verify_signature or verify_message_signature.
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 guidance on when to use this tool versus alternatives such as verify_signature, verify_message_signature, or recover_signer. No context about prerequisites or typical use cases is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_detect_whalesB
Detect whale wallets holding a specific token
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Blockchain network | ethereum |
| minBalance | No | Minimum balance in USD | |
| tokenAddress | Yes | Token contract address |
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 of behavioral disclosure. It only states the tool's purpose, offering no information about return format, how 'whale' is determined beyond the minBalance parameter, pagination, or any limitations.
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 a single, concise sentence (eight words) that front-loads the key action and resource. No unnecessary words 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 simple tool with no output schema, the description conveys the essential purpose but lacks details on return values, chain-specific behavior, and alternative tools. It is adequate but leaves clear gaps in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all three parameters have clear descriptions: tokenAddress, minBalance, chain). The tool description adds no extra parameter semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Detect') and the resource ('whale wallets') with a specific scope ('holding a specific token'). This distinguishes it from siblings like wallet_whale_movements, which implies tracking movements rather than static detection.
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 guidance on when to use this tool versus alternatives such as wallet_whale_movements or wallet_token_holder_analysis. It does not mention any exclusions or specific conditions that would make this tool preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_find_similarC
Find wallets with similar behavior patterns
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Blockchain network | ethereum |
| limit | No | Maximum results | |
| address | Yes | Reference wallet address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must disclose behavioral traits. It only states the high-level purpose, with no details about how similarity is computed, what data sources are used, whether this is a heavy or long-running operation, or what the output represents. The lack of any efficiency or side-effect information leaves the agent guessing.
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 a single sentence with no filler. It is concise, but its brevity sacrifices necessary context. Still, there are zero wasted words, so it scores above average.
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 3 parameters, no output schema, and no annotations. The description does not explain what the tool returns, how 'similarity' is defined, or how the parameters affect results beyond the basic schema hints. For a tool with no output schema, this is insufficient.
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 100% coverage with descriptions for all three parameters (address, chain, limit). The description adds no extra meaning to these parameters, but since the schema is complete, the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('find') and resource ('wallets') with a qualifier ('similar behavior patterns'). It differentiates from sibling tools like wallet_score or wallet_profile which assess individual wallets, while this tool focuses on discovering related wallets. However, 'similar behavior patterns' is vague and doesn't mention the required reference address that anchors the search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to prefer this tool over alternatives like wallet_detect_whales or wallet_token_holder_analysis. There's no mention of use cases such as investigating a wallet's network or finding related addresses. No exclusions or alternative conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_lookup_labelB
Look up known labels for wallet addresses
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes | Array of wallet addresses to look up |
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 implies a read-only lookup but does not state what happens for unknown addresses, whether it supports multiple chains, or any rate limits. This minimal hint is insufficient for a clear behavioral understanding.
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 a single concise sentence that is front-loaded with the action and subject. Every word earns its place with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter lookup tool, the description is minimally viable but lacks details about output format, edge cases, or meaning of 'labels'. Given the low complexity and full schema coverage, a score of 3 reflects an adequate but incomplete description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the only parameter 'addresses' is described in the schema). The tool description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('look up') and clearly identifies the resource ('known labels for wallet addresses'). It distinguishes itself from the many wallet-related sibling tools by focusing on labels, which none of the siblings mention.
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 guidance on when to use this tool instead of alternatives, no context about prerequisites, and no exclusions. It is a single declarative sentence without any usage conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_profileC
Get comprehensive wallet profile and behavior analysis
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Blockchain network | ethereum |
| address | Yes | Wallet address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states that the tool 'gets' a profile/analysis, which is a read action implied by the verb, but does not disclose whether it's a read-only operation, whether it queries multiple chains, response size/format, or any rate/permission constraints. There is no meaningful behavioral information beyond the name.
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 a brief single sentence with no fluff, but its brevity sacrifices essential detail. It is under-specified rather than genuinely concise, as an agent would need more context to understand the tool's full purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not clarify what the 'profile and behavior analysis' actually includes (e.g., transaction history, token balances, labels, risk scores). Given that many similar wallet tools exist, this lack of detail makes the tool's value and output unpredictable 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?
The schema covers both parameters (address and chain) with descriptions, so the baseline is 3. The tool description adds no additional parameter-level detail, such as address formats or chain default behavior, leaving the schema to do the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the action (get) and topic (wallet profile/behavior analysis), but 'comprehensive' is vague and does not specify what aspects of the wallet are covered. It fails to distinguish this tool from siblings like get_wallet_portfolio or get_wallet_activity, leaving the agent unsure of its exact scope.
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 guidance is provided regarding when to use this tool versus alternatives. The description is generic and lacks any context about use cases, prerequisites, exclusions, or preferred scenarios, so the agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_scoreC
Calculate a comprehensive wallet score based on multiple factors
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Blockchain network | ethereum |
| address | Yes | Wallet address to analyze |
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 mentions that the score is 'based on multiple factors' but does not specify what those factors are, how the score is computed, what the output looks like, or any edge cases. This lack of detail leaves the agent guessing about the tool's actual 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 a single sentence with no fluff or repetition. It immediately states the core purpose and is easy to scan. Every word earns its place, making it appropriately concise.
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 is the only source of context. It does not explain what a wallet score is, how to interpret the result, what range to expect, or any nuance like per-chain differences. This is insufficient for an agent to fully understand the tool's capabilities and limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters already have basic descriptions ('Blockchain network', 'Wallet address to analyze') and a chain enum. The description adds no new parameter semantics, merely hinting at 'multiple factors' without linking them to the inputs. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Calculate') and resource ('wallet score'), and the qualifier 'comprehensive...based on multiple factors' gives some scope. It is distinct from sibling wallet tools like wallet_profile or wallet_detect_whales, though it does not explicitly contrast itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description only says what it does, not when it is appropriate or inappropriate, nor does it mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_token_holder_analysisC
Analyze holder distribution for a token
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Blockchain network | ethereum |
| tokenAddress | Yes | Token contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full burden of disclosing behavior. It only says 'Analyze' without stating whether it is read-only, what data it returns, whether pagination exists, or any side effects. This is a significant 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 description is a single short sentence, which is concise. However, it is under-specified, providing only a minimal phrase that does not fully capture the tool's purpose or behavior. It is not efficiently informative.
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 has no output schema and two parameters, the description should explain what the analysis produces (e.g., top holders, percentage distribution) or provide context on its scope. It fails to do so, and with many similar sibling tools, the context is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (tokenAddress and chain) with types and descriptions. The tool description adds no extra meaning about how these parameters affect the analysis, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Analyze holder distribution for a token' clearly states the action (analyze) and the resource (holder distribution of a token). It is specific but does not differentiate from sibling tools like get_holder_distribution or get_token_holder_count, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_holder_distribution or get_token_holder_count. The description offers no context, exclusions, or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_whale_movementsC
Track recent large transactions (whale movements)
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Blockchain network | ethereum |
| hours | No | Hours to look back | |
| minValueUSD | No | Minimum transaction value in USD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the transparency burden. It only states the basic action and gives no details on side effects, return format, or data scope. Since there is no contradiction with annotations (none exist), but it fails to add behavioral context, it scores 2.
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 a single, concise sentence with no filler words. However, it is so brief that it under-specifies the tool's behavior, though for conciseness alone it is efficient. Score 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 tool has three parameters and no output schema, yet the description does not explain what data is returned, how many transactions, or the relationships between parameters. It lacks contextual completeness, scoring 2.
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 has 100% description coverage for all three parameters (chain, hours, minValueUSD). The description adds no additional parameter semantics beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Track recent large transactions (whale movements)' clearly states the tool's function with a specific verb (track) and resource (recent large transactions). It is easily understood, but it does not differentiate from sibling tools like wallet_detect_whales or alert_whale_movement, so it scores 4.
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 guidance on when to use this tool versus other whale-related or transaction-tracking tools. There is no mention of use cases, prerequisites, or alternatives, so it scores 2.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
withdraw_from_lendingC
Withdraw supplied assets from a lending protocol
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | Asset address to withdraw | |
| amount | Yes | Amount to withdraw (in wei, use 'max' for full withdraw) | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| protocol | Yes | Lending protocol (e.g., 'Aave V3') | |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden of behavioral disclosure, but it only says 'withdraw supplied assets'โrepeating the tool name. It does not mention that this is a state-changing transaction, that it will be broadcast to the network, gas implications, or that the private key is only used for signing/derivation. These are critical gaps for a DeFi mutation 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 a single, concise sentence with no filler. It front-loads the essential action and is easy to parse.
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 side-effectful multi-parameter DeFi tool with no annotations and no output schema, the one-line description is insufficient. It omits return values, transaction execution details, default network awareness, security notes, and failure modes. The schema fills parameter names but not operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well-documented in the schema (asset, amount, network, protocol, privateKey). The description adds no new semantic detail beyond the tool's core intent, which is acceptable under the baseline but not an improvement.
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 ('withdraw') and resource ('supplied assets from a lending protocol'), which clearly distinguishes this from borrowing or repaying. However, it does not explicitly name any sibling alternatives or edge cases (e.g., 'this is not for withdrawing borrowed funds'), leaving slight ambiguity with tools like borrow_from_lending.
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 guidance is provided on when to use this tool versus alternatives, nor any exclusions or preconditions (e.g., 'requires an existing supply position'). The description only states the operation, leaving the agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
withdraw_lp_tokensB
Withdraw LP tokens from a MasterChef-style farming contract
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of LP tokens to withdraw | |
| poolId | Yes | Pool ID to withdraw from | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key for signing transaction | |
| farmContract | Yes | Farm contract address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It identifies a state-changing action ('Withdraw') but fails to mention that it signs and broadcasts a transaction, requires gas, may impact the user's staking position, or what the response will contain. This is a significant gap for a financial operation.
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 a single sentence that is front-loaded with the primary verb and object. It is efficient and free of fluff, though it sacrifices richer context. It earns a high score for conciseness, but not perfect because under-specification limits its 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 transaction-sending tool with no output schema and no annotations, the description is too minimal. It does not explain the expected return value (e.g., transaction hash), the need for private key authorization, or how the network parameter affects execution. The tool's complexity and lack of structured safety info demand more detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (amount, poolId, network, privateKey, farmContract) having a one-line description. The tool description adds no additional parameter context beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Withdraw LP tokens') and the target context ('MasterChef-style farming contract'), which differentiates it from sibling tools like stake_lp_tokens, remove_liquidity, and get_lp_balance. The verb and resource are specific and 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?
No explicit when-to-use guidance or alternatives are provided. The description implies usage (withdrawing LP tokens from a farming contract) but does not distinguish from similar tools like unstake_tokens or remove_liquidity, nor does it mention prerequisites like having previously staked LP tokens.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wrap_native_tokenB
Wrap native tokens to their wrapped ERC-20 version (ETHโWETH, BNBโWBNB, MATICโWMATIC, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of native tokens to wrap (e.g., '1.5') | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key in hex format (with or without 0x prefix). SECURITY: This is used only for address derivation and is not stored. The private key will not be logged or displayed in chat history. |
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 only states the action without revealing that this is a state-changing transaction, requires gas/signing, or returns a transaction hash. The security note about privateKey exists only in the schema, not the description, leaving significant 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 a single sentence that includes the core operation and illustrative examples. Every word earns its place, with no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool executes a blockchain transaction, but the description does not mention what the operation returns (e.g., transaction hash), whether it requires gas, or any side effects. With no output schema and no annotations, this minimal description leaves the agent without essential context for a transaction 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 100%, with clear descriptions for each parameter (amount, network, privateKey). The description adds no additional parameter semantics beyond the schema, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific action verb 'Wrap' and clearly states the resource (native tokens to wrapped ERC-20 version), with concrete examples (ETHโWETH, BNBโWBNB, MATICโWMATIC). It effectively distinguishes this tool from the sibling 'unwrap_native_token' 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 when to use this tool (for converting native tokens to their wrapped form) through the examples, but does not explicitly state when to use it instead of alternatives like unwrap_native_token or provide exclusionary criteria. The context is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wrap_stethB
Wrap stETH to wstETH (non-rebasing wrapped staked ETH)
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of stETH to wrap | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key for signing transaction |
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 not mention that this is a transaction requiring gas, that the privateKey is used for signing, that the operation might be irreversible or reversible via unwrap_wsteth, or any network-specific caveats. The only added context is that wstETH is non-rebasing, which describes the output token but not the operation's 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 a single sentence that is front-loaded with the core action and includes a useful explanatory parenthetical. No filler words, and every word contributes 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?
This is a transaction-based tool requiring a private key and potentially involving gas and network specifics, yet the description is minimal. It lacks details on supported networks (especially since the network default is 'bsc' while stETH/wstETH are typically Ethereum-centric), return values, error conditions, or prerequisites like token approvals. The schema provides parameter descriptions but not this broader operational context.
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 100% coverage with descriptions for all three parameters, so the baseline is 3. The description adds no additional meaning beyond the schema; it merely reiterates the amount ('Amount of stETH to wrap') and does not clarify the network behavior or privateKey usage further.
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 specific action: 'Wrap stETH to wstETH', with a parenthetical explaining wstETH is the non-rebasing wrapped staked ETH. This is a specific verb+resource pair that distinguishes it from related tools like unwrap_wsteth, wrap_native_token, and stake_eth_lido.
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 that this tool is used when you want to convert stETH to wstETH, but it provides no explicit guidance on when to choose this over alternatives (e.g., unwrap_wsteth or native token wrapping). No exclusions or alternative tool mentions are given, but the intended use case is fairly evident from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_contractB
Write data to a smart contract by calling a state-changing function
| Name | Required | Description | Default |
|---|---|---|---|
| abi | Yes | The ABI of the smart contract function, as a JSON array | |
| args | Yes | The arguments to pass to the function | |
| network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
| privateKey | Yes | Private key of the sending account. Used only for transaction signing. | |
| functionName | Yes | The name of the function to call on the contract | |
| contractAddress | Yes | The address of the smart contract to interact with |
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 that the tool modifies state ('state-changing function'), but it does not mention that this will broadcast a transaction, incur gas fees, permanently alter on-chain data, or return a transaction hash. This is a significant gap for a mutation 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 a single, concise sentence that front-loads the core purpose without any extraneous words. It is appropriately sized and easy to parse.
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 6 parameters, no output schema, and no annotations. The description omits essential contextual details such as what the tool returns (e.g., transaction hash), gas cost implications, irreversibility, or network considerations. It is incomplete for a write 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 100% for all 6 parameters, so the schema already provides clear semantics for each parameter. The description adds no additional parameter information, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Write data to a smart contract by calling a state-changing function.' This uses a specific verb ('Write'), a clear resource ('smart contract'), and the action ('state-changing function'), which distinguishes it from read-only tools like read_contract.
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 guidance is provided on when to use this tool versus alternatives. It does not mention that read_contract should be used for reading, or that this tool is for state-modifying operations only. The description lacks explicit exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ws_get_updatesC
Get latest updates for a subscription
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | Subscription ID returned from subscribe call |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It indicates a read operation ('Get') but doesn't disclose whether it requires an active subscription, what happens when there are no updates, whether it's a polling vs streaming endpoint, or what the response format is. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. It's appropriately sized for a simple tool, though it could be slightly more informative while still being concise.
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 tool, the description is sparse. It lacks context about the subscription lifecycle, what kind of updates are returned, and how this tool fits with ws_subscribe_* and ws_list_subscriptions. Given no output schema or annotations, the description is insufficient.
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 already provides 100% description coverage for the only parameter (subscriptionId with 'Subscription ID returned from subscribe call'). The description adds nothing beyond that, but since the schema is fully documented, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and resource 'latest updates for a subscription', clearly indicating it retrieves update data for a given subscription. It doesn't explicitly distinguish from sibling subscription management tools (e.g., ws_list_subscriptions, ws_subscribe_*), but the name and phrasing make the purpose reasonably 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 provides no guidance on when to use this tool versus alternatives, no prerequisites (e.g., need an active subscription from ws_subscribe_*), and no context about how updates are produced. It merely states the function without explaining usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ws_list_subscriptionsA
List all active WebSocket subscriptions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 only mentions "active" subscriptions but does not clarify what "active" means, whether there are any side effects, or what the response format is. For a read-only tool this is less critical, but the lack of detail is a notable 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 description is a single, front-loaded sentence with no unnecessary words. It communicates the purpose efficiently and is appropriately sized for a no-parameter list 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?
Given the tool's simplicity and lack of parameters/output schema, the description is adequate but not fully complete. It does not explain what a subscription entry looks like or what "active" entails, which could leave ambiguity about the returned data. The sibling tools suggest a subscription system, but this description doesn't provide that context explicitly.
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 and the schema is empty, so there is nothing to explain. Baseline for 0 params is 4, and the description correctly implies no arguments are needed by listing without any parameter references.
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 exactly what the tool does: "List all active WebSocket subscriptions". The verb "List" is specific, the resource is clear (WebSocket subscriptions), and the qualifier "active" adds scope. This clearly distinguishes it from sibling tools like ws_subscribe_price, ws_get_updates, and ws_unsubscribe.
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 its use (to see current subscriptions) but does not explicitly state when to use it versus alternatives like ws_get_updates or ws_unsubscribe_all. No exclusions or additional context are provided, so the guidance remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ws_subscribe_blocksC
Subscribe to new block notifications
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Blockchain to monitor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only says 'subscribe' without disclosing how notifications are delivered, whether the subscription persists, how to unsubscribe, or any side effects. This essentially restates the tool name and adds 'new block notifications', which is a minimal tautology that fails to disclose expected behavioral traits.
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 a single short sentence, which is concise and front-loaded. However, it is under-specified to the point of being a label rather than a helpful explanation, and there is no structural organization of information. It is not flagrantly verbose, so it earns a middling 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?
The tool is a WebSocket subscription with no output schema and no annotations, yet the description fails to explain the subscription lifecycle, such as how to receive updates (via ws_get_updates), how to unsubscribe, or that it supports specific chains (though the schema does). It is severely incomplete for a tool of this complexity, leaving the agent without critical context for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the chain parameter with an enum of supported blockchains and a description ('Blockchain to monitor'), so schema coverage is 100%. The tool description adds nothing beyond this, but the baseline of 3 is appropriate since the schema already provides complete 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 the action (subscribe) and the resource (new block notifications), which directly communicates the tool's purpose. It also distinguishes itself from sibling subscription tools like ws_subscribe_price, ws_subscribe_wallet, and ws_subscribe_pool by specifying 'blocks'. This is a clear, verb+resource formulation.
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 guidance on when to use this tool versus alternatives, such as polling block endpoints or using other subscription tools. It does not mention that it is for real-time notifications or that updates should be received via ws_get_updates, nor does it offer any exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ws_subscribe_poolB
Subscribe to DEX liquidity pool events (swaps, adds, removes)
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Blockchain network | |
| events | No | Event types to monitor | |
| poolAddress | Yes | Liquidity pool contract address |
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 that this is a subscription (stateful) but does not explain how updates are delivered (e.g., via ws_get_updates), whether the subscription persists, or how to manage cancellations. This is a critical gap for a WebSocket subscription 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 a single, efficient sentence front-loaded with the action and resource. It contains no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain the subscription behavior, event retrieval, and lifecycle. It only provides a one-line overview, leaving the agent without essential context on how to use the subscription results or manage the subscription.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds a mapping of events to 'swaps, adds, removes,' which may be confusing since the schema uses 'swap', 'mint', 'burn', and 'sync'. It doesn't add meaningful parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool subscribes to DEX liquidity pool events, listing event types. It distinguishes from sibling subscription tools (ws_subscribe_price, ws_subscribe_wallet, ws_subscribe_blocks) by specifying the resource as DEX liquidity pool events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for monitoring pool events but provides no explicit guidance on when to use this over alternatives like ws_subscribe_wallet or ws_get_updates. It doesn't mention prerequisites or alternatives, though the event focus makes it somewhat clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ws_subscribe_priceB
Subscribe to real-time price updates for a trading pair
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Trading pair symbol (e.g., BTC/USDT, ETH/USD) | |
| exchange | No | Exchange source or aggregate | aggregate |
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 fails to mention that the subscription is stateful, may need to be managed or unsubscribed, or that updates are likely received separately via ws_get_updates. The persistent nature and side effects of subscribing are not disclosed.
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 a single, front-loaded sentence of ten words. It is concise, contains no fluff, and every word contributes to the core purpose.
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 subscription tool, critical context is missing: how to receive updates, whether a subscription ID is returned, how to unsubscribe, and the expected ongoing behavior. The absence of an output schema and sibling-tool references leaves the agent underinformed about the full workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no new meaning beyond what the schema already provides; it merely restates 'trading pair' (symbol) and does not elaborate on the exchange parameter or 'aggregate' 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 uses a specific verb 'Subscribe' and clearly identifies the resource as 'real-time price updates for a trading pair'. It distinguishes this tool from sibling subscriptions like ws_subscribe_wallet, ws_subscribe_blocks, and ws_subscribe_pool, which target different data streams.
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 'real-time price updates' implies the tool is for streaming data, but it does not explicitly state when to use it vs. alternatives, nor does it mention exclusions or related subscription-management tools like ws_get_updates or ws_unsubscribe. Usage guidance is only implied, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ws_subscribe_walletB
Subscribe to transaction notifications for a wallet address
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Blockchain network | |
| address | Yes | Wallet address to monitor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral aspects. It only says 'Subscribe' but does not explain the subscription lifecycle (persistent vs one-time), how updates are delivered, whether a subscription ID is returned, or if any connection setup is required. This leaves critical behaviors undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no fluff or redundant phrasing. It is concise and immediately clear, earning a high score for efficiency, though it could have included a bit more context without becoming verbose.
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 subscription tool within a family of ws_* tools, this description is incomplete. It does not mention how to receive updates (ws_get_updates), manage subscriptions (ws_list_subscriptions), or unsubscribe (ws_unsubscribe). Without an output schema, the absence of these lifecycle details leaves the agent without critical operational context.
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 fully describes both parameters (address and chain) with clear descriptions. The description adds no extra semantic detail beyond the schema, so the baseline score of 3 applies given the 100% 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 states a specific verb ('Subscribe') and resource ('transaction notifications for a wallet address'), which clearly distinguishes it from sibling subscription tools like ws_subscribe_price or ws_subscribe_blocks. It precisely conveys what the tool 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 gives no guidance on when to use this tool versus alternatives. It does not mention that it is for wallet transaction alerts specifically, nor does it reference the need for ws_get_updates to retrieve notifications or ws_unsubscribe to cancel. No explicit exclusions or alternative tools are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ws_unsubscribeB
Unsubscribe from a WebSocket subscription
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | Subscription ID to cancel |
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 reveals that the tool unsubscribes but offers no information about side effects, idempotency, error handling, or permissions required. For a state-changing operation, this is a notable 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 description is a single, direct sentence with no extraneous words. It is appropriately sized and front-loaded, conveying the core purpose efficiently.
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?
Despite the simple schema, the lack of annotations and output schema means the description must disclose consequences and return behavior. It does neither, leaving the agent without important context about what happens after unsubscribing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of the subscriptionId parameter. The tool description adds no extra meaning beyond the schema, which is acceptable at the baseline level.
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 ('Unsubscribe') and the resource ('WebSocket subscription'), making it distinct from sibling tools like ws_subscribe_* and ws_unsubscribe_all. It is specific and 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 no guidance on when to use this tool versus alternatives such as ws_unsubscribe_all or ws_list_subscriptions. It simply states the basic action without any usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ws_unsubscribe_allA
Unsubscribe from all active subscriptions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states the action (unsubscribe from all) without explaining whether it's destructive, reversible, affects the current connection only, or requires re-subscription. The description lacks transparency about the scope and consequences of the operation.
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 a single, concise sentence that directly states the tool's action. There is no filler or redundant information. It is well-structured and easy to parse.
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 has no parameters and no output schema, the description should explain the full behavior. It states the primary effect but omits important details like return value, idempotency, and whether it applies to the current session or globally. It is minimally adequate but leaves several practical questions unanswered.
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, and the schema coverage is 100% with an empty properties object. The baseline for 0 parameters is 4, and the description doesn't need to add parameter details since there are none. This is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Unsubscribe from all active subscriptions'. It uses a specific verb and resource, and the 'all' scope distinguishes it from the sibling tool ws_unsubscribe, which presumably handles individual subscriptions. The purpose is unambiguous and immediately understandable.
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 guidance on when to use this tool versus alternatives like ws_unsubscribe or ws_list_subscriptions. It doesn't mention prerequisites, side effects on the current websocket connection, or whether it's irreversible. There is no explicit exclusion or context beyond the literal action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_addressA
Get your configured x402 payment wallet address.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The verb 'Get' signals a read-only operation, but the description does not explicitly state that this tool has no side effects, nor does it disclose potential outcomes such as an error if no address is configured. Since no annotations are provided, the description carries the full burden but offers minimal behavioral detail; however, the absence of mutation is reasonably implied.
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 a single, front-loaded sentence with no redundant words. Every word contributes to the purpose, and the structure is clean 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?
For a zero-parameter getter with no output schema, this description is nearly complete: it states exactly what is returned (the configured address). It could be marginally enhanced by noting that the address comes from the x402 configuration, but the current wording is sufficient for a tool of this simplicity.
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 has zero parameters, so there is nothing to explain. This matches the baseline of 4 for a no-parameter tool, and the description does not need to add 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 uses a specific verb ('Get') and a clear resource ('your configured x402 payment wallet address'), making its purpose immediately obvious. The word 'configured' helps distinguish it from siblings like x402_get_wallet_address by implying a user-specific stored address.
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 guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or conditions (e.g., 'use x402_config to set the address first'), leaving the agent without decision support among many x402-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_approveB
Approve a contract to spend your tokens. Required before some DeFi operations.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | Token to approve | USDs |
| amount | Yes | Amount to approve (use 'unlimited' for max) | |
| spender | Yes | Contract address to approve |
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 implies a mutation by saying 'approve' but does not explain side effects, irreversibility, gas costs, security risks of granting token spending rights, or what the return value represents. This is a significant gap for a state-changing financial operation.
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 extremely concise: two short sentences with no filler. It front-loads the core action and provides a usage hint. Every word 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?
Despite full schema coverage, this is a mutation tool with no annotations and no output schema. The description lacks essential context such as the supported network(s), the fact that this submits an on-chain transaction, the implications of unlimited approval, and the ability to revoke. An agent would not have enough information to safely invoke this tool without additional assumptions.
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 already provides full descriptions for all three parameters (token, amount, spender), including the 'unlimited' hint for amount. The tool description adds no additional parameter semantics beyond restating the concept of 'your tokens', so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: approve a contract to spend your tokens. It uses a specific verb and resource, but it does not distinguish from sibling tools like approve_token_spending or x402_approve_service, which likely perform similar functions.
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?
Provides clear context for when to use: required before some DeFi operations. However, it does not explicitly mention alternatives or exclusion cases, leaving room for ambiguity about which approve-related tool to choose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_approve_serviceA
Approve a service domain for x402 payments. Required in strict allowlist mode.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Friendly name for the service | |
| domain | Yes | Domain to approve (e.g. 'api.example.com') | |
| maxPayment | No | Maximum payment for this service |
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 states the action ('approve') but does not mention side effects, reversibility, permission requirements, or what happens after approval. This is a significant gap for a mutation 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 two short sentences, front-loaded with the action and scope. Every word contributes to clarifying purpose and usage context. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with 3 parameters and no output schema. The description explains the action and a specific usage scenario, but lacks details about effects, reversibility, or prerequisites. Given the mutation nature and no annotations, it is minimally viable but not rich in context.
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 already provides high coverage (100%) with descriptions for 'name', 'domain', and 'maxPayment'. The description adds minimal parameter meaning beyond the schema, only hinting that the domain is for 'x402 payments'. This meets the baseline for high 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 uses a specific verb ('Approve') and resource ('a service domain for x402 payments'), clearly distinguishing this from siblings like x402_remove_service or x402_list_approved_services. The mention of 'strict allowlist mode' adds specific context.
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 statement 'Required in strict allowlist mode' provides a clear condition for when to use this tool. While it doesn't explicitly list alternatives or say when not to use it, the context is clear enough for an agent to determine relevance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_apyB
Get the current APY (Annual Percentage Yield) for USDs stablecoin.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose any behavioral traits such as read-only nature, data freshness, rate limits, or whether any authentication is needed. The description only states the action, leaving the agent without additional 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 a single, concise sentence with no redundant information. It is front-loaded with the action and resource.
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 read-only tool with no output schema, the description gives the basic idea but omits details like return format (e.g., percentage vs. decimal), data source, or time sensitivity. It's adequate but lacks completeness.
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 the description doesn't need to explain parameter details. It does clarify the specific asset (USDs) which adds context beyond the empty input schema. Baseline 4 for zero-parameter tools.
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 returns the current APY for USDs stablecoin, using a specific verb and resource. However, it does not differentiate from sibling tools like x402_yield or defi_get_yields, so it's clear but lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as x402_yield or defi_get_yields. The description merely restates the function without any context, exclusions, or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_balanceB
Check your x402 payment wallet balance. Shows USDs (Sperax USD) and native token balance.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain to check balance on (defaults to configured chain) |
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 clearly states this is a read-only balance check ('Check... Shows...'), which implies no mutation. However, it does not disclose details like whether the wallet must be preconfigured, potential error conditions, or whether the native token balance includes wrapped natives. The description provides basic behavioral clarity but lacks richer 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 two sentences, clear, and front-loaded with the primary action. It contains no filler and every word serves a purpose.
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 balance-check tool with one optional parameter, the description is adequate but misses a few important details: the response format (e.g., decimals, symbol formatting) and how to interpret the balances. Also, the existence of the near-duplicate x402_check_balance is unaddressed, leaving a gap in tool 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?
The schema already provides a description for the single 'chain' parameter (including default behavior), and coverage is 100%. The tool description does not add extra meaning about how the parameter affects the result (e.g., which native token per chain), so it does not go beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks the x402 payment wallet balance and lists what it shows (USDs and native token balance). It uses a specific verb-resource pair. While it doesn't explicitly differentiate from sibling x402_check_balance, the description is sufficiently precise about its 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?
No guidance is provided on when to use this tool over alternatives. Notably, a sibling tool x402_check_balance exists, and the description does not clarify the difference between them. There is no mention of prerequisites, configuration, or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_batch_sendA
Send multiple payments in a single transaction. More gas efficient than separate sends.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | Token to send | USDs |
| payments | Yes | Array of payments (max 20) |
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 of behavioral disclosure. It only mentions gas efficiency, a benefit, and does not disclose that this executes an on-chain transaction, whether it is atomic, requires token approval, or has other side effects. This is a significant gap for a payment-sending 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?
Two sentences, front-loaded with the core action 'Send multiple payments' and followed by a key benefit. Every word earns its place, with 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?
The schema fully documents inputs, but the description is thin on operational context. It doesn't mention what the function returns, whether it sends real funds, what network it operates on, or any prerequisites like gas or approvals. For a money-moving tool, this under-specification leaves gaps in an agent's understanding.
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 already provides descriptions for both parameters (token and payments) with 100% coverage, so the baseline is 3. The description adds no additional parameter-level information beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Send multiple payments' which is a specific verb+resource, and adds 'in a single transaction' to distinguish it from single-send tools like x402_send. The contrast with separate sends further clarifies its unique 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 phrase 'More gas efficient than separate sends' gives a clear context for when to use this tool: when batching multiple payments is preferable. It implies the alternative (separate x402_send calls) without naming it explicitly, but the guidance is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_check_balanceA
Check wallet balance for x402 payments. Shows USDs (or USDC) and native token balance.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain to check balance on (defaults to configured chain) | |
| address | No | Address to check (defaults to configured wallet) |
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 read-only nature (implicit) and what balances are returned, but it does not mention default address/chain behavior (though schema covers this), error conditions, or any operational caveats. Adequate but minimal for a simple balance check.
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 consists of two concise sentences that are front-loaded with the core purpose and then specify the output. Every word adds value; there is no redundancy or 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 tool with 2 optional parameters, fully described in the schema, and no output schema, the description sufficiently explains what the tool returns. It lacks an explicit distinction from the sibling x402_balance but is otherwise complete for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional information about parameters, relying entirely on the schema's chain enum and address pattern descriptions. No further detail is necessary.
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 checks wallet balance for x402 payments and specifies what it shows (USDs or USDC and native token balance). It distinguishes from generic balance tools by scoping to x402, but does not differentiate from the sibling tool x402_balance, which may be similar.
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 for x402 payment balance checks and gives context about the output, but it doesn't explicitly state when to use this tool over alternatives or when not to use it. No exclusions or alternative tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_configC
Get current x402 payment configuration and status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. However, it only states that the tool gets configuration and status, without revealing whether it is read-only, what kind of configuration is exposed, access requirements, or the structure of the response. This lack of context leaves users uncertain about the tool's 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 a single, concise sentence that is easily scannable. There is no redundant wording or fluff. However, the extreme brevity feels underspecified for a tool that could benefit from at least a brief mention of what configuration and status entail, so it is not a perfect 5.
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 has no annotations and no output schema, the description should provide sufficient context about what the tool returns, but it does not. 'Configuration and status' is vague and does not describe the actual data provided (e.g., payment limits, endpoints, pricing). For such a simple tool, the description is incomplete and would leave an AI agent uncertain about the tool's capabilities.
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 has zero properties, so there are no parameters for the description to explain. The baseline for zero-parameter tools is 4, and since the description does not need to clarify any parameter semantics, it does not detract from this score. However, it also adds no extra value regarding parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Get') and identifies the resource ('x402 payment configuration and status'), but it fails to distinguish this tool from closely related siblings like x402_server_status, x402_security_status, or x402_list_endpoints. The addition of 'status' provides only marginal differentiation, making the purpose somewhat ambiguous.
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 offers no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, or exclusions. With many similar x402 sibling tools, users are left to infer the appropriate use case without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_create_paywallA
Generate an HTTP 402 Payment Required response for your own API endpoints. Use this to monetize your AI agent's services or API endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Price to charge (e.g. '0.10') | |
| token | No | Token to accept | USDs |
| resource | No | Resource/endpoint identifier | |
| validFor | No | Payment validity period in seconds (default 5 min) | |
| description | No | Description of what the payment is for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavior. It explains the core action (generate HTTP 402 response) but omits side effects, persistence, permissions, or return semantics. The agent cannot tell whether calling this modifies state or just returns a response.
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 short sentences with no wasted words. The main verb and resource are front-loaded, making it easy to scan and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no mention of return values or lifecycle, the description is insufficient for a creation tool with five parameters. It needs to state what the tool returns and what behavior the created paywall has. The current description leaves significant 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 descriptions cover 100% of parameters, so the baseline is 3. The description adds overall context but no per-parameter detail. Since the schema already documents each parameter clearly, the description doesn't need to compensate.
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's function: generating an HTTP 402 Payment Required response for your own API endpoints. It also explicitly ties the tool to monetization, distinguishing it from sibling tools like x402_pay_request or x402_tx_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?
It provides clear context on when to use the tool ('monetize your AI agent's services or API endpoints'), but does not mention alternatives or exclusions relative to other x402 tools. This is clear context without explicit when-not or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_create_protected_endpointB
Define a new paywall-protected endpoint. This tool configures pricing for an API endpoint that will require x402 payment.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | URL path pattern (e.g., '/api/joke', '/api/premium/*') | |
| price | Yes | Price in USD (e.g., '0.001' for $0.001) | |
| token | No | Payment token | USDs |
| methods | No | HTTP methods (default: all) | |
| network | No | Blockchain network | arbitrum |
| rateLimit | No | Max requests per payer per hour | |
| description | No | Human-readable description of the endpoint |
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 of behavioral disclosure. It mentions the action is to 'define' and 'configure pricing,' which implies a creation/setup operation, but it does not disclose any side effects, prerequisites (e.g., whether an existing endpoint is required), reversibility, or what happens on success. For a mutation tool with zero annotation coverage, this is a significant transparency 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?
Two succinct sentences, front-loaded with the primary purpose, and no filler. Every word contributes to understanding. Excellent conciseness.
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 schema fully documents parameters, there is no output schema and no annotations. The description does not explain what the tool returns on success (e.g., endpoint ID, confirmation) or any lifecycle context (e.g., how this relates to x402_create_paywall). For a creation tool, this missing return-value and behavioral context is 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?
The input schema provides full descriptions (100% coverage) for all 7 parameters, so the description doesn't need to explain them. The description's mention of 'pricing' loosely references the price parameter but doesn't add meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb+resource: 'Define a new paywall-protected endpoint.' It goes on to explain the core function: configuring pricing for an API endpoint that requires x402 payment. However, it doesn't explicitly differentiate from similar sibling tools like x402_create_paywall or x402_set_pricing, so it doesn't earn 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 context: use this when you want to set up a monetized endpoint with x402 payment. But it provides no explicit when-to-use or when-not-to-use guidance, and no alternative tools are mentioned. This is implied rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_estimateA
Estimate the payment required for a URL without actually paying. Useful to check costs before making a request.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to check |
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 key safety trait that no actual payment is made ('without actually paying'), which is essential for a tool that could otherwise be mistaken for a payment operation. Still, it does not mention other potential behaviors like network access or approximation guarantees.
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 extremely concise: two short sentences that front-load the primary action and purpose. Every word earns its place, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a single parameter and no output schema, the description gives a reasonable overview but lacks information about the return value (what the estimate looks like) and does not differentiate from similarly named x402_estimate_cost. The 'Useful to check costs' context is helpful but overall leaves some gaps for full autonomous 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 100% with the single parameter 'url' described as 'The URL to check'. The description adds only that the URL is the target for potential payment, which is a slight extension but not substantial additional meaning. It does not clarify format, required scheme, or any URL-specific constraints beyond the schema's 'uri' format.
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 (estimate) and the object (payment required for a URL). It also distinguishes itself from payment-executing tools by explicitly saying 'without actually paying', which separates it from sibling tools like x402_pay_request or x402_send.
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 useful context ('Useful to check costs before making a request') that implies when to use the tool. However, it does not explicitly mention alternatives or when not to use it, leaving ambiguity with similarly named siblings like x402_estimate_cost and x402_yield_estimate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_estimate_costA
Estimate the payment cost for an x402-protected endpoint without making a payment.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to check for payment requirements |
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 explicitly states the most critical behavior: the tool does not make a payment, indicating a non-mutating, read-only operation. This is valuable context that prevents misuse. However, it does not disclose whether the tool makes a network call to the endpoint, returns a cached value, or requires any authentication, leaving some behavioral detail unspecified.
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 a single, concise sentence that front-loads the action ('Estimate') and includes a key qualifier ('without making a payment'). Every word earns its place, and there is no redundancy or irrelevant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, no output schema, and no annotations, the description is reasonably complete. It clearly conveys the purpose and the non-payment behavior, which is the core concern. However, because there is no output schema, the description could have briefly indicated what the returned estimate includes (e.g., currency, fees), but this is a minor gap given the tool's simplicity and the presence of sibling tools that may carry that context.
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 has 100% description coverage for the single 'url' parameter ('The URL to check for payment requirements'), so the schema already provides sufficient meaning. The tool description adds no additional parameter semantics beyond what the schema includes, which aligns with the baseline of 3 for high 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 purpose: 'Estimate the payment cost for an x402-protected endpoint without making a payment.' It uses a specific verb ('estimate'), identifies the resource (payment cost for an x402-protected endpoint), and distinguishes itself from payment-execution tools by explicitly noting it does not make a payment. This effectively differentiates it from siblings like x402_pay_request and x402_send.
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 this tool: when you need to know the payment cost before actually paying. However, it does not explicitly mention alternatives or give exclusions, such as noting that this should be used instead of x402_estimate if that is a different variant. The guidance is clear but lacks explicit sibling differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_export_analyticsB
Export payment analytics data to JSON or CSV format.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Export format | json |
| period | No | Time period | all |
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 only says 'export payment analytics data' without disclosing behavior such as output structure, return format, file handling, or any side effects. The schema provides period and format enums, but the description adds no behavioral context beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It is front-loaded and immediately communicates the core action. This is an example of appropriate economy of language.
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 a simple schema with 2 optional parameters, but with no output schema, the description should indicate what the return value looks like (e.g., a downloadable file, raw data string, etc.). It does not clarify the nature of 'analytics data' or the response format, leaving some ambiguity for an AI agent selecting the 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 100%, with both format and period parameters having clear enums and descriptions. The description adds minimal value by explicitly naming 'JSON or CSV' which mirrors the format enum, but it does not elaborate on the period parameter. Given the schema does the heavy lifting, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports payment analytics data in JSON or CSV format. It uses a specific verb and resource, and the mention of 'payment analytics' distinguishes it from other export tools like export_news_data or portfolio_export. However, it does not explicitly reference the x402 context from the tool name, so it's slightly less specific than it could be.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No mention of scenarios, prerequisites, or exclusions. The description simply states the action without any contextual usage hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_gasless_sendA
Send a gasless payment using EIP-3009 authorization. Recipient pays gas, you just sign.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient address | |
| token | No | Token to send (must support EIP-3009) | USDs |
| amount | Yes | Amount to send | |
| validityPeriod | No | Authorization valid for (seconds, default 5 min) |
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 key behavioral traits: gasless, EIP-3009 authorization, recipient-pays-gas, and sender signs. However, it does not cover prerequisites (e.g., prior token approval) or failure behavior, leaving some behavioral aspects implicit.
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, directly front-loaded with the action ('Send a gasless payment') and adds essential context in the second sentence. Every word earns its place; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a payment-send tool with a well-defined schema, the description covers the core mechanism and cost split. It lacks any mention of return values or post-send behavior, but given the tool's simplicity and the schema's richness, it is nearly complete. Slightly more could be said about the signing step.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are fully described in the schema. The description adds no additional meaning beyond what the schema already provides; the mention of EIP-3009 aligns with the token property but does not deepen parameter understanding.
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 sends a gasless payment using EIP-3009 authorization, with the specific differentiator that the recipient pays gas while the sender only signs. This distinguishes it from generic send tools like x402_send and x402_send_payment.
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 this tool: when you want to send a payment without paying gas, and the recipient covers it. It gives clear context but does not explicitly mention when not to use it or name alternative tools, though the EIP-3009 reference effectively excludes non-supporting tokens.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_get_payment_historyC
Get payment history for audit and review. Shows recent payments with details.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of entries to return | |
| status | No | Filter by status | |
| service | No | Filter by service domain |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description should disclose behavioral traits. It only states that it shows recent payments with details, lacking information on pagination, filtering, authentication, or side effects. This is insufficient for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and wastes no words, but it does not fully capture the tool's capabilities. Concise but with minor redundancy between 'Get payment history' and 'Shows recent payments.'
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 vague about the output structure and does not explain how the tool behaves with respect to optional filters or default behavior. Without an output schema, more detail is needed for an agent to correctly 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?
All three parameters are fully documented in the schema with descriptions, so the description adds minimal value. The mention of 'recent payments' aligns with the default limit but does not explain status or service filters beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('payment history') with a clear purpose ('for audit and review'). It distinguishes from related x402 tools by focusing on history retrieval, though it could more explicitly contrast with sibling tools like x402_tx_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?
No usage guidance is provided. The description does not mention when to use this tool versus alternative x402 tools, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_get_payment_limitsA
Get current payment limits and daily spending status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 only states that the tool returns limits and spending status, but does not reveal whether it is a safe read-only operation, requires authentication, or how the data is structured. The description adds little beyond the tool name.
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 a single concise sentence that directly communicates the tool's purpose without unnecessary words. It is front-loaded 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?
The tool is simple with no parameters and no output schema, so the description is the only source of information about the return value. It adequately states the high-level topics (payment limits, daily spending status), but does not detail the exact fields, units, or whether it reflects user-specific or global limits. For an agent, this leaves some ambiguity, though the tool itself is straightforward.
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, and the schema coverage is 100% (vacuous). The description does not need to explain parameters. This matches the baseline of 4 for 0-parameter tools.
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: retrieving current payment limits and daily spending status. The verb 'get' combined with the specific resource distinguishes it from sibling tools like x402_set_payment_limit and x402_get_payment_history.
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 querying current limits, but it does not explicitly state when to use this tool over alternatives or mention any prerequisites. It provides the context of 'current' and 'daily spending' but lacks explicit comparison to other payment-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_get_wallet_addressB
Get configured wallet addresses for x402 payments.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 implies a read-only operation but does not specify what 'configured' means, whether it returns a list or a single address, or any side effects. The agent is left to infer behavior entirely from the name.
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 a single, concise sentence that is front-loaded with the action and resource. Every word earns its place, with no redundant 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 getter with no parameters and no output schema, the description is minimally adequate but leaves gaps: it does not explain the return format, whether multiple addresses are returned, or how this relates to other x402 tools. It is complete enough for a basic understanding but lacks context for richer agent reasoning.
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 the description has no parameter semantics to add. According to the baseline for 0-param tools, a score of 4 is appropriate; the schema already covers everything.
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 'Get' and the resource 'configured wallet addresses' with the context 'for x402 payments'. It is specific and distinguishes the tool's purpose from most siblings, though it does not explicitly differentiate from the similarly named x402_address.
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 guidance is provided on when to use this tool versus alternatives like x402_address or x402_config. There are no usage scenarios, prerequisites, or exclusions, leaving the agent without contextual decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_list_approved_servicesA
List all approved services in the payment allowlist.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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. The word 'List' implies a read-only operation and 'all' clarifies scope, but there is no mention of authentication requirements, response format, pagination, or ordering, so only minimal behavioral disclosure is present.
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 a single sentence of eight words, directly front-loaded with the verb and object. Every word contributes meaning and there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list operation, the description is adequate for selection and invocation. However, since no output schema exists, it does not describe what an 'approved service' looks like (e.g., fields, format), and it does not mention any potential result limits or additional scope details, leaving a small but 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?
The tool has zero parameters, so the input schema is vacuously complete. The baseline of 4 applies because there is no parameter description burden to add.
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 the specific verb 'List' with a clear resource: 'all approved services in the payment allowlist.' This clearly distinguishes it from mutation-oriented sibling tools such as x402_approve_service and x402_remove_service.
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 guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It only states the basic action, leaving the agent to infer usage context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_list_earningsA
View your x402 payment revenue. Shows earnings by endpoint, top payers, and revenue over time.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results to return | |
| period | No | Time period to analyze | all |
| groupBy | No | How to group the data |
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 only states 'View' (implying read-only) but does not mention authentication requirements, data aggregation details, rate limits, or that it shows the caller's own revenue. This leaves significant ambiguity about the operation's side effects and constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the primary purpose, and then efficiently summarizes output categories. No filler or redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose and output types, which is adequate for a simple read-only listing tool. However, without annotations or an output schema, it omits critical behavioral context like whether the operation is read-only, any authentication needs, or how the data is aggregated, leaving some gaps in context.
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 adds meaning to the 'groupBy' parameter by listing the categories 'endpoint, top payers, and revenue over time,' which directly correspond to the enum values (endpoint, payer, time). This gives the agent semantic context beyond the schema's generic descriptions, while 'limit' and 'period' remain adequately documented by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('View') and resource ('your x402 payment revenue'), and further elaborates on the output dimensions (earnings by endpoint, top payers, revenue over time). This distinguishes it from sibling x402 tools like x402_tx_status (status) or x402_send (payments).
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 guidance is provided on when to use this tool versus alternatives. For example, it does not contrast with x402_balance or x402_yield, which could also relate to earnings. Lacks any mention of prerequisites or typical use cases, giving the agent no decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_list_endpointsA
List all configured protected endpoints with their pricing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a read-only listing via 'List', but does not disclose whether authentication is required, whether the list is live or cached, or any side effects. For a simple list operation, this is acceptable but not rich.
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 verb and object, with no wasted words. This is exemplary conciseness.
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 tool, the description adequately conveys the core action and the data returned ('with their pricing'). It does not specify the exact return format, but that is not critical for tool selection. Overall, it is complete enough given the simplicity.
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 there is nothing to explain. The description appropriately omits parameter details, and the baseline for zero-param tools 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?
The description uses a specific verb and resource: 'List all configured protected endpoints with their pricing.' This clearly states the tool's function and distinguishes it from siblings like x402_create_protected_endpoint and x402_set_pricing.
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 guidance is provided on when to use this tool versus alternatives, nor any exclusions or prerequisites. For example, it doesn't mention that it only shows endpoints previously created via x402_create_protected_endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_list_supported_networksA
List all supported networks for x402 payments with their chain IDs, CAIP-2 identifiers, and explorer URLs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must stand alone. It correctly implies a read-only operation via the verb 'List' and discloses the output contents (chain IDs, CAIP-2, explorer URLs), which is adequate for a simple list task. It does not mention pagination or caching, but those are not essential for this function.
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 entire description is a single, well-structured sentence that leads with the verb and packs the key output fields. No filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description captures the core function and output, it lacks guidance on how this tool relates to other x402 or network-listing tools like x402_networks or get_supported_networks. Without an output schema, it could also describe the return format more explicitly, but the listed fields help. Overall, it is slightly incomplete for a complex tool ecosystem.
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 accepts no parameters, so the description naturally doesn't need to add parameter details. The baseline of 4 applies, and the description adds clarity by explaining that the result covers all supported networks without requiring input.
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: listing supported networks for x402 payments, and specifies the exact data fields (chain IDs, CAIP-2 identifiers, explorer URLs). However, it does not differentiate itself from sibling tools like x402_networks or get_supported_networks, so it falls short of fully distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like x402_networks or get_supported_networks. The description only states the operation and output, offering no context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_networksA
List all supported networks for x402 payments with their CAIP-2 identifiers.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 disclosure. It clearly indicates a read-only listing operation and specifies that output includes CAIP-2 identifiers, which adequately conveys behavior for a simple 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 a single concise sentence that is front-loaded with the action and resource, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description provides enough context by stating the output includes CAIP-2 identifiers. It is complete for this simple listing operation, though it could mention if testnets are included.
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 and the schema is empty, so there are no parameter semantics to explain. The baseline of 4 applies here.
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 lists all supported networks for x402 payments and includes CAIP-2 identifiers. However, it does not differentiate from the similar sibling tool x402_list_supported_networks, so it falls short of a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool over alternatives, particularly the similarly named x402_list_supported_networks. The description gives no context about selection criteria or related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_pay_for_requestB
Make an HTTP request that automatically handles x402 (HTTP 402) payment requirements. Use this to access premium APIs that require cryptocurrency payment. Shows payment amount before confirming.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to request | |
| body | No | Request body (for POST/PUT) | |
| method | No | HTTP method | GET |
| headers | No | Additional headers | |
| maxPayment | No | Maximum payment in USD (e.g. '0.50') | 1.00 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It reveals that the tool 'Shows payment amount before confirming,' which is a useful safeguard. However, it omits critical facts: that a payment will actually be executed, that funds will be spent irreversibly, and that the user must have sufficient balance. This is a significant gap for a payment 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 three concise sentences totaling about 40 words. It is front-loaded with the primary action, followed by the use case and a key behavioral note. Every sentence earns its place with 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?
This tool has no output schema and no annotations, so the description must compensate. It explains the tool's purpose and use case but does not describe what happens after payment confirmation, what the response contains, or failure modes. For a tool that executes financial transactions, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description itself does not add parameter semantics, but the input schema already documents all five parameters with descriptions. The description's mention of showing payment amount aligns with the maxPayment parameter but does not add further detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Make an HTTP request that automatically handles x402 (HTTP 402) payment requirements.' This is a specific verb and resource. It also identifies the use case for premium APIs. However, it does not explicitly distinguish itself from similarly named siblings like x402_pay_request or x402_send_payment.
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 explicit guidance: 'Use this to access premium APIs that require cryptocurrency payment.' This clearly indicates when to use the tool. It lacks alternatives or exclusions, but the stated context is sufficient for a single-purpose tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_pay_requestA
Make an HTTP request that automatically handles x402 (HTTP 402) payment requirements. Use this to access premium APIs that require cryptocurrency payment.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to request | |
| body | No | Request body (for POST/PUT) | |
| method | No | HTTP method | GET |
| headers | No | Additional headers | |
| maxPayment | No | Maximum payment in USD (e.g. '0.50') | 1.00 |
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 disclosing behavioral traits. It mentions automatic handling of payment requirements but fails to disclose that this involves spending cryptocurrency, requires a configured wallet, or has a maximum payment limit. The financial risk and side effects are not communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, concise and front-loaded. It communicates the core purpose and usage context with 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?
The tool makes payments and performs HTTP requests, but the description does not explain the response format, potential failures, or prerequisites like wallet configuration. Given the financial implications and the lack of an output schema, the description is incomplete for an agent to safely and correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema describes all parameters with 100% coverage, so the baseline is 3. The description adds a small amount of context around 'payment requirements' that relates to maxPayment, but it doesn't enrich the understanding of individual parameters beyond the schema 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's function: making HTTP requests that automatically handle x402 (HTTP 402) payment requirements. It distinguishes itself from sibling x402 tools by combining request execution with payment handling, and explicitly mentions the use case of accessing premium APIs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Use this to access premium APIs that require cryptocurrency payment,' which provides a clear intended context. However, it does not mention alternatives or when not to use it (e.g., if only payment is needed without making a request).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_remove_serviceA
Remove a service from the approved allowlist.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain to remove (e.g. 'api.example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It clearly states the mutating action ('Remove'), which informs an agent that this is a write operation. However, it does not disclose reversibility, required permissions, or potential side effects on existing services, 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 a single, concise sentence with no filler or repetition. Every word contributes to understanding the tool's purpose.
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 parameter and no output schema, the description adequately covers the core action. However, the absence of annotations and lack of detail about permissions, reversibility, or effects on the allowlist leaves some contextual 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?
The schema description coverage is 100%, and the single parameter 'domain' is already well-described in the schema. The tool description adds no additional parameter meaning beyond what the schema provides, aligning with the baseline for high 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 uses a specific verb, 'Remove,' paired with a clear resource, 'a service from the approved allowlist.' This precisely distinguishes it from sibling tools like x402_approve_service and x402_list_approved_services.
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 clearly implies the tool is used when a service should be removed from the allowlist, providing adequate contextual guidance. It does not mention alternatives or exclusions, but for this simple tool the context is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_security_statusB
Get comprehensive security status including limits, allowlist, and recent security events.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden of behavioral disclosure. It only describes the output categories, not whether the operation is read-only, requires authentication, has side effects, or has any rate limits. 'Comprehensive' is vague and not behaviorally informative.
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 a single, front-loaded sentence that clearly states the action and key output components. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description must fully define what is returned. It lists only three example elements (limits, allowlist, recent security events) and uses 'comprehensive' without specifying what else is included, leaving the response surface ambiguous.
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 the schema already fully covers parameter semantics. The description does not add parameter-level detail, but none is required; the 0-parameter baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('security status') and enumerates three concrete content areas (limits, allowlist, recent security events). This clearly distinguishes it from sibling tools like x402_server_status or x402_config.
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 guidance on when to choose this tool over alternatives. Among dozens of x402_* siblings, it does not mention relevant alternatives, exclusions, or prerequisites, leaving the agent without decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_sendC
Send a direct cryptocurrency payment to an address. Supports USDs (Sperax USD) and native tokens.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient address (0x...) | |
| memo | No | Optional memo/note for the payment | |
| token | No | Token to send | USDs |
| amount | Yes | Amount to send (e.g. '10.00') |
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 disclosure. It only states that it sends a payment, but does not disclose that it will create an on-chain transaction, incur gas fees, require a funded wallet, or be irreversible. No details about error conditions or network behavior are given, which is insufficient for a mutating financial 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 extremely concise: two short sentences that clearly state the action and supported tokens. There is no unnecessary fluff or repetition; every word 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?
For a payment tool with 4 parameters, no output schema, and no annotations, the description is too thin. It does not explain what the tool returns (e.g., transaction hash), any prerequisites like wallet setup, network specifics, or potential failures. The minimal description leaves many essential context gaps unfilled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a description (e.g., 'Token to send', 'Amount to send'). The description adds minimal extra meaning, such as confirming that native tokens are supported, but does not provide additional syntax or semantic details beyond the schema. Baseline 3 applies because the schema already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: sending a direct cryptocurrency payment to an address, and specifies supported token types (USDs, native). However, it does not differentiate itself from closely related siblings like x402_send_payment or x402_batch_send, leaving ambiguity about the exact scope.
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 guidance is provided on when to use this tool versus alternatives. It does not mention that it is for single direct payments, nor does it exclude batched or gasless variants, which are present in the sibling list. The description implies usage only through the verb 'send' without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_send_paymentB
Send a direct cryptocurrency payment (not HTTP 402). Supports USDs, USDC, and native tokens.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient address (0x...) | |
| chain | No | Chain to send on (defaults to configured chain) | |
| token | No | Token to send | USDs |
| amount | Yes | Amount to send (e.g. '10.00') |
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 of behavioral disclosure. As a payment-sending tool, it relies on real funds being moved, but the description does not mention irreversibility, the need for a funded wallet, gas fees, or that a transaction will be broadcast. This is a significant gap for a mutation 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 two short sentences, front-loaded with the primary action. The parenthetical 'not HTTP 402' adds a useful clarifying distinction without excessive length. Every word contributes meaning, and the structure is 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?
The schema fully documents the four parameters, and the description covers the core function and token support. However, there is no output schema, and the description does not mention the return value (e.g., transaction hash) or any prerequisites such as requiring a configured wallet or sufficient balance. For a simple payment tool, this is acceptable but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% description coverage for all parameters (to, chain, token, amount). The description adds token support details ('USDs, USDC, and native tokens'), but these are already enumerated in the schema's token enum. No additional meaning is provided for amounts, defaults, or formatting, so the value added over the schema is minimal.
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 sends a direct cryptocurrency payment and lists supported tokens (USDs, USDC, native). The parenthetical 'not HTTP 402' provides a distinguishing contrast from payment-request flows, but it does not explicitly differentiate from sibling tools like x402_send or x402_gasless_send, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The only hint is 'not HTTP 402,' which clarifies a concept but does not mention when to choose this over x402_batch_send, x402_gasless_send, or other x402 variants. No exclusions or alternative tool names are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_server_statusA
Check x402 server configuration and status. Shows wallet, facilitator connection, and endpoint configuration.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It communicates a read-only nature via 'Check' and 'Shows,' but lacks details on permissions, failure modes, response format, or dependencies (e.g., server availability). It is adequate but not rich.
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 concise sentences, front-loaded with the core action. Every word adds value, and it avoids unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only status tool, the description reasonably covers the key output areas (wallet, facilitator connection, endpoint configuration). However, there is no output schema, so it could be more explicit about return format or status indicators, but it is sufficiently complete for a simple status check.
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 0 parameters, so the 0-parameter baseline of 4 applies. The description does not need to explain parameters and adds no parameter-related information.
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 with a specific verb and resource: 'Check x402 server configuration and status.' It also specifies key components (wallet, facilitator connection, endpoint configuration), distinguishing it from generic health or info 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 context about what the tool shows, implying use when needing x402 server configuration and status. However, it does not explicitly state when to use it versus alternatives like x402_config or server_health, nor does it mention exclusions or specific scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_set_payment_limitB
Set payment limits for security. Configure maximum single payment and daily spending limits.
| Name | Required | Description | Default |
|---|---|---|---|
| maxDailyPayment | No | Maximum daily spending in USD (e.g. 50.00) | |
| maxSinglePayment | No | Maximum single payment in USD (e.g. 5.00) | |
| largePaymentWarning | No | Threshold for large payment warnings |
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 doesn't disclose whether limits apply immediately, require authorization, or affect existing limits. The largePaymentWarning parameter is not mentioned, and there is no information about side effects or response behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with a clear, front-loaded purpose. The second sentence is slightly redundant but still concise and free of fluff.
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 is simple with no output schema, but the description omits one of the three parameters (largePaymentWarning) and doesn't explain behavior when parameters are optional. It's adequate for basic understanding 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?
The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds minimal value by naming the two main limits but omits the largePaymentWarning parameter, which reduces its contribution.
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 sets payment limits for security, specifying maximum single payment and daily spending limits. This distinguishes it from sibling tools like x402_get_payment_limits and x402_set_pricing.
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 'for security' implies when to use it, but it doesn't explicitly contrast with alternatives or provide when-not-to-use guidance. There is no mention of related tools like x402_get_payment_limits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_set_pricingA
Configure pricing for an existing endpoint. Supports fixed, dynamic, tiered, and resource-based pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Endpoint path to configure | |
| perKB | No | Additional price per KB response (for dynamic pricing) | |
| tiers | No | Price tiers (for tiered pricing) | |
| maxPrice | No | Maximum price cap | |
| minPrice | No | Minimum price floor | |
| perToken | No | Additional price per AI token (for dynamic pricing) | |
| basePrice | Yes | Base price in USD | |
| pricingType | Yes | Type of pricing strategy |
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 of behavioral disclosure. It does not mention whether pricing is overwritten, idempotency, permission requirements, or the response format. For a mutation tool like this, more transparency is needed.
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 short sentences, front-loaded with the core purpose and free of fluff. Every word contributes 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?
The schema covers all parameter descriptions, but there is no output schema or annotations. The tool supports four pricing strategies that likely require different parameter combinations (e.g., tiers for tiered, perKB/perToken for dynamic), and the description does not explain these conditional dependencies. It is adequate but not complete for a config tool with this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all eight parameters, so the description does not need to add per-parameter detail. The description's mention of pricing types maps to the enum but adds little beyond schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool configures pricing for an existing endpoint, using a specific verb ('Configure') and resource ('existing endpoint'). It also enumerates supported pricing strategies (fixed, dynamic, tiered, resource-based), which distinguishes it from sibling x402 tools like endpoint creation or payment limits.
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 'existing endpoint' implies this tool is used after an endpoint has been created, but it does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions. It provides implied usage context rather than direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_tx_statusC
Check the status of a payment transaction.
| Name | Required | Description | Default |
|---|---|---|---|
| txHash | Yes | Transaction hash to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It states 'check' but does not specify whether this is read-only, what fields are returned, or how failures are signaled. It adds minimal context beyond the tool's name.
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 extremely concise at six words, with no filler or unnecessary detail. It is front-loaded and to the point, scoring high on efficiency, though it sacrifices informative 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 one-parameter tool, the schema covers the parameter. However, without an output schema or any description of what the status entails (e.g., possible values, confirmation count, failure reasons), the description is not complete enough for an agent to know what to expect. It also lacks context on how this tool fits into the broader x402 payment flow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with a description for txHash ('Transaction hash to check'). The tool description adds no additional semantic meaning beyond what the schema states, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb 'check' and identifies the resource as 'payment transaction status', making the core purpose obvious. However, it does not differentiate from sibling tools like x402_verify_payment or x402_get_payment_history, which could overlap in functionality.
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 guidance is provided on when to use this tool versus alternatives. The description is a single sentence with no context about typical use cases, exclusions, or when a different x402 tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_verify_paymentA
Verify an incoming payment transaction. Use this to confirm payment was received before granting access to a paid resource.
| Name | Required | Description | Default |
|---|---|---|---|
| txHash | Yes | Transaction hash from X-Payment-Proof header | |
| expectedFrom | No | Expected sender address (optional) | |
| expectedAmount | No | Expected payment amount (optional extra validation) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It conveys the core behavior (confirming payment received) and the context (incoming, before access), but does not disclose details like on-chain checking, confirmation requirements, or potential side effects. This is a reasonable but not deeply transparent 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 concise, two sentences, and front-loaded with the primary purpose. Every word adds value, and it efficiently communicates both the action and the usage context.
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 verify tool, the description provides clear purpose and usage, but it lacks any indication of return value or success/failure semantics. Given no output schema, the description should mention what the caller can expect (e.g., boolean confirmation, error on invalid hash). This gap prevents a higher 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?
The input schema already provides detailed descriptions for all three parameters (100% coverage), including the source of txHash from the X-Payment-Proof header. The tool description itself adds no additional parameter-level meaning, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool verifies an incoming payment transaction, with a specific verb and resource. It further distinguishes its purpose by tying it to granting access to a paid resource, which differentiates it from sibling tools like x402_tx_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 clearly indicates when to use the tool ('before granting access to a paid resource'), providing strong contextual guidance. However, it does not explicitly mention when not to use it or cite alternative tools, so it stops short of full exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_withdraw_earningsB
Withdraw accumulated earnings from the facilitator to your wallet.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | Token to withdraw | USDs |
| amount | Yes | Amount to withdraw ('all' for entire balance, or specific amount) | |
| toAddress | No | Destination address (defaults to configured wallet) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose that this is a state-changing, likely irreversible transaction. It adds only minimal context ('from the facilitator', 'to your wallet') and omits critical details like gas fees, the need for facilitator authorization, or what happens on success/error.
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 a single, concise sentence that front-loads the verb and clearly identifies the action and destination. There is no wasted verbiage; it is appropriately sized for a tool whose parameters are well-documented in 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?
The description lacks essential operational context for a financial withdrawal: no mention of irreversibility, return value or transaction hash expectations, gas costs, or facilitator authorization requirements. With no annotations and no output schema, the description alone is insufficient for safe and complete guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with meaningful descriptions for all three parameters (amount supports 'all', token enum, toAddress defaults to configured wallet). The description adds no parameter-level insight, but given the high schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action (Withdraw), the resource (accumulated earnings), and the destination (to your wallet). This distinguishes it from sibling tools like x402_list_earnings and x402_balance, which merely read or list earnings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description: you would use this when you have accumulated earnings to withdraw. However, it does not explicitly differentiate this from related x402 tools, mention prerequisites, or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_yieldB
Get yield information for your USDs holdings. USDs automatically earns ~5% APY.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It does not state whether the operation is read-only, what data is returned, or any side effects. The mention of '~5% APY' is informational but not a disclosure of tool 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 extremely concise, with only two sentences. The first sentence states the purpose and the second provides useful context about automatic APY earning. Every word earns its place with no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (no parameters, no output schema), the description adequately conveys the tool's core purpose. However, it lacks detail about the exact nature of the returned 'yield information' (e.g., current APY, projected earnings, or historical data), which would be valuable for an agent to set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline per the rubric is 4. The description adds no parameter information, but none is needed, making this score appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get yield information for your USDs holdings.' It uses a specific verb and resource, and the added detail about earning ~5% APY helps scope the purpose. However, it doesn't explicitly differentiate from closely related siblings like x402_yield_estimate or usds_yield_history, so it's not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as usds_yield_balance or x402_apy. It only states what the tool does, leaving the agent without explicit usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_yield_estimateC
Estimate how much yield you would earn over a period of time.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to estimate | |
| amount | Yes | Amount of USDs to calculate yield for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It merely paraphrases the tool name and gives no details about assumptions, data sources, or return behavior. The lack of behavioral context (e.g., whether this is for x402-specific yield, uses current APY, or requires a wallet) is a significant 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 description is a single, front-loaded sentence with no wasted words. It is appropriately concise, though it sacrifices useful detail. No structural issues.
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 lack of annotations and output schema, the description alone is insufficient. An agent cannot tell what 'yield' refers to, what units the amount is in, how the estimate is calculated, or what the response will look like. The tool is simple on the surface but needs more context to avoid misuse.
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 already describes both parameters clearly with 100% coverage, so the baseline of 3 applies. The description adds no additional semantic meaning beyond what the schema provides, but it also does not need to compensate for any gaps.
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 verb ('estimate') and resource ('yield') along with a time period, making its core function understandable. However, it does not distinguish this tool from closely related siblings like x402_yield, x402_apy, or yield_projection, so it misses the differentiation needed for 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?
No guidance is provided on when to use this tool versus alternatives. The description does not mention any context, exclusions, or relationships to other yield-related tools, leaving the agent without decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xrp_create_trustlineB
Create a trustline for a token on the XRP Ledger using private key from environment
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | Maximum amount of the token to trust | |
| issuer | Yes | Issuer's XRP address | |
| currency | Yes | Currency code (3-letter ISO code or hex string) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It mentions the private key source but does not state that this will submit a transaction, incur fees, require a minimum XRP balance, or that the operation is irreversible. Essential behavioral traits are omitted.
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 a single sentence that is front-loaded with the core action and resource. No wasted words or redundant details.
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?
This is a write operation with no output schema and no annotations. The description fails to mention what happens after creation (e.g., transaction submission, potential errors), return values, or side effects. For a mutation tool, this is insufficient.
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 descriptions cover all three parameters (currency, issuer, limit) at 100%. The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (create), the resource (trustline), the network (XRP Ledger), and adds context about using the private key from the environment. This distinguishes it from sibling tools like xrp_send_transaction, which is for general transactions.
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 guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, such as needing XRP for fees or a funded account, nor any comparison to xrp_send_transaction or other XRP tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xrp_get_balanceB
Get balance for an XRP address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | XRP address to check |
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 of behavioral disclosure. It does not state whether this is read-only, what units the balance is returned in (e.g., drops vs XRP), or how invalid addresses are handled. The description only repeats the basic function without adding behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It conveys the essential purpose clearly and efficiently, appropriate for a simple getter 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 simple one-parameter tool, the description is functional but incomplete. It does not clarify that this tool returns only the native XRP balance (as opposed to token balances, which have a separate sibling tool), nor does it mention the return format or error behavior. Given the lack of an output schema, additional context would be valuable.
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 covers 100% of the parameter with 'XRP address to check.' The description adds no additional meaning beyond the schema. Baseline 3 is appropriate since the schema fully documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific operation: 'Get balance for an XRP address.' It uses a specific verb (get) and resource (balance for an XRP address), distinguishing it from sibling tools such as xrp_get_token_balances and xrp_get_transaction_history.
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 guidance on when to use this tool versus alternatives. It does not mention that this tool is for native XRP balance only, nor does it reference sibling tools like xrp_get_token_balances for token balances. No context for appropriate usage is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xrp_get_ledger_infoC
Get current XRP Ledger information
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits, but it offers none. It does not state that this is a read-only operation, what data is returned, or any rate limits or other side effects, leaving the agent without essential 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 a single, front-loaded sentence with no redundancy. It communicates the core function efficiently, earning a high score for conciseness.
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 absence of an output schema, the description should clarify what 'ledger information' entails, but it does not. The agent is left uncertain about the return payload, making the description incomplete for a tool with no other structured documentation.
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 the baseline is 4. There is no schema description to compensate for since the schema is empty, and the description correctly implies no input is needed.
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 clear verb 'Get' and specifies the resource 'current XRP Ledger information', distinguishing it from other XRP tools like xrp_get_balance or xrp_get_transaction_history. While it does not detail what specific ledger data is included, the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, prerequisites, or exclusions. The description simply states the action without contextualizing when an agent should choose this tool over sibling ledger or chain-info tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xrp_get_token_balancesB
Get token balances for an XRP address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | XRP address to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description alone must disclose behavioral traits. It only states that the tool gets token balances, with no mention of read-only nature, return format, pagination, or failure behavior. The action verb 'get' implies reading, but important behavioral details are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear, front-loaded sentence. It contains no unnecessary words and is appropriately concise for a simple one-parameter read operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should indicate what is returned or at least clarify that it returns token balances for the given address. It lacks details about response structure, empty results, or comparison to native balance, leaving notable gaps for a tool with minimal structured metadata.
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 has 100% coverage: the single parameter 'address' is described as 'XRP address to check', and the description repeats this context. The description adds no additional semantic detail beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get token balances for an XRP address' clearly states the action (get) and resource (token balances for an XRP address). It distinguishes itself from the sibling tool xrp_get_balance by explicitly indicating token balances rather than a general/native balance.
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 alternatives like xrp_get_balance or xrp_get_transaction_history. The only usage context is implied through the phrase 'token balances', but no exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xrp_get_transaction_historyC
Get transaction history for an XRP address
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of transactions to return (default: 10) | |
| address | Yes | XRP address to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states the action without revealing any traits such as read-only nature, pagination behavior, ordering of transactions, time range, or potential performance implications. This is a significant gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff or redundancy. It is front-loaded and easy to parse. While it is minimal, it earns a high score for efficiency given the simplicity of 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?
The tool has no output schema and no annotations, yet the description does not explain what the transaction history contains, return format, ordering, or how the limit parameter affects results. For a tool with 2 parameters and no structured documentation, this is incomplete and leaves the agent guessing about the response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters (address and limit with default). The description adds no additional parameter meaning beyond what the schema provides. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get transaction history for an XRP address' clearly states the verb, resource, and scope. It unambiguously distinguishes this from sibling tools like xrp_get_balance or xrp_get_token_balances by focusing on transaction history. However, it doesn't add extra differentiation beyond what the name already conveys.
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 guidance on when to use this tool versus alternatives. It doesn't mention that it's for XRP only, does not differentiate from similar history tools on other chains, and gives no context on when transaction history is preferable to balance checks or ledger info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xrp_send_transactionA
Send XRP from your wallet to another address using private key from environment
| Name | Required | Description | Default |
|---|---|---|---|
| memo | No | Optional memo to include with the transaction | |
| amount | Yes | Amount of XRP to send | |
| toAddress | Yes | XRP address to send to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of disclosing behavioral context. It discloses that the private key comes from the environment, which hints at signing and security implications. However, it does not warn about irreversibility of transactions, network fees, or potential failure modes, which are important for a send operation.
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 a single concise sentence that is front-loaded with the core action ('Send XRP'). Every word earns its place, with no filler or repetition. It is appropriately sized for a simple 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 relatively simple tool with three parameters and no output schema, the description covers the essential context: the action, source, destination, and authentication mechanism. It lacks mention of broadcast/confirmation behavior, but these are largely implied. The tool's simplicity and clear chain-specific naming keep it complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add extra meaning to parameters beyond what the schema already provides (e.g., amount and toAddress are self-explanatory). The mention of 'private key from environment' clarifies the sender is not a parameter, which is a minor addition but not substantial enough to raise the score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Send XRP from your wallet to another address using private key from environment'. The verb 'send' is specific, the resource (XRP) is named, and the direction (from wallet to address) is explicit. It distinguishes itself well from sibling XRP tools (get_balance, get_transaction_history, etc.) and other chain send 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 clearly communicates when to use this tool: when sending XRP to another address. It also implies a prerequisite (private key from environment) which is a useful contextual cue. However, it does not explicitly mention alternatives or exclusions, though the chain-specific context is sufficient for most cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xrp_validate_addressB
Validate an XRP address format
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | XRP address to validate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits itself. It indicates a read-only format check but does not mention return values, error handling, or whether it operates offline. This is a significant gap for an agent deciding whether to use the tool and how to interpret 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?
The description is a single, clear sentence with no unnecessary words. It is front-loaded with the action and resource, making it maximally concise while still conveying the core function.
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 is simple (one parameter, no output schema), but the description lacks information about the return value or behavior for invalid addresses. While the purpose is clear and the schema fully documents the parameter, the missing output semantics could hinder an agent's ability 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?
The input schema provides 100% coverage for the single parameter, giving a clear description ('XRP address to validate'). The tool description adds no extra meaning beyond what the parameter description already implies, so the baseline of 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action (Validate) and resource (XRP address format), distinguishing it from sibling tools like bitcoin_validate_address or ton_validate_address. However, it does not elaborate on what validation entails (e.g., checksum, syntax, or network existence), leaving some ambiguity about the exact scope.
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 purpose is implied: use this tool when you need to verify an XRP address format. However, there is no explicit context, exclusions, or comparison to alternatives such as get_balance or chain-specific validators. The description provides no guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yield_projectionB
Project your future USDs yield earnings. See how your balance will grow over time with compound interest.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | Custom amount to project (defaults to current balance) | |
| targetBalance | No | Target balance to reach - shows time needed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It fails to mention that projections are estimates based on assumed rates, that results are not guaranteed, or that the tool is read-only. No details about limitations, data sources, or output behavior 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 extremely concise, with two short sentences that front-load the core purpose. No unnecessary words or fluff, earning high marks for efficiency.
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?
Despite a simple 2-parameter schema, the description lacks essential context: it doesn't explain what the output looks like, what assumptions are used (e.g., current APY), or how it differs from yield_report. Since there is no output schema and no annotations, the description should be more informative for an agent to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes both parameters (amount, targetBalance) with 100% coverage. The description adds no parameter information, so it does not enhance what the schema already provides. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool projects future USDs yield earnings with compound interest, using a specific verb ('Project') and resource. It distinguishes from related yield tools like usds_yield_balance (current balance) and usds_yield_history (past history) by focusing on 'future' growth, though it does not 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 intended usage is implied ('See how your balance will grow over time'), but there is no explicit guidance on when to use this tool versus sibling yield tools, nor any exclusions or alternative tool suggestions. An agent must 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.
yield_reportB
Generate a detailed monthly yield report showing daily earnings, totals, and projections.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Year (defaults to current year) | |
| month | Yes | Month (1-12) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as data source, computation method, or side effects. It only states the output content, which is insufficient for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose and output details. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the basic output (daily earnings, totals, projections), it lacks context about the yield source or any prerequisites. Given the many yield-related sibling tools, an agent might need more detail to choose 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?
The input schema fully describes both parameters (year and month) with 100% coverage. The description adds no additional parameter semantics beyond what the schema already provides, so a baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Generate' and resource 'monthly yield report', specifying daily earnings, totals, and projections. It is clear but does not explicitly distinguish from sibling tools like yield_projection.
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 guidance is provided on when to use this tool over alternatives such as yield_projection or other yield tools. The description lacks any context about prerequisites or intended scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With 720 tools covering overlapping domains, many tools have near-identical purposes (e.g., multiple balance, price, and gas-related functions). Agents will frequently misselect between chain-specific and generic tools, and separate sub-systems like market data from Coingecko, CoinStats, DexPaprika, and GeckoTerminal add redundant overlapping surfaces.
The naming is a patchwork of chain prefixes (aptos_, cosmos_), domain prefixes (market_, social_, defi_), and generic verbs (get_, calculate_, encode_). Even within the same action, patterns vary: transfer_native_token vs solana_transfer vs xrp_send_transaction, and gas functions include estimate_gas, get_gas_price, get_gas_oracle, and get_gas_prices_all_chains.
720 tools is an extreme and unmanageable number for a single MCP server. This suggests an uncurated aggregation of many APIs rather than a focused tool set, making it nearly impossible for an agent to discover and select tools efficiently.
Despite the enormous tool count, there are surprising gaps: no send transaction for Bitcoin, Litecoin, Dogecoin, Cosmos, Aptos, or Sui, while other chains have such tools. The set also duplicates similar data across multiple providers, leaving many operations half-covered and others redundant.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Non-custodial DeFi for AI agents: swaps, concentrated liquidity (V3/V4) zaps + ranges, 5 EVM chains
Non-custodial DeFi tools for AI agents on Solana: swaps, perps, lending, staking, equities.
Gasless, MEV-protected onchain token swaps for AI agents on 14 EVM chains, built on CoW Protocol.
Token swaps and honeypot/rug checks for AI agents on 8 chains, paid per-call in USDC via x402.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA comprehensive toolkit for building AI agents with blockchain capabilities, enabling interactions with multiple blockchain networks for tasks like wallet management, fund transfers, smart contract interactions, and cross-chain asset bridging.4GPL 3.0
- AlicenseCqualityDmaintenanceEnables AI agents to interact with cryptocurrency ecosystems through wallet management, trading operations (swaps, DCA, limit orders), staking, and multi-chain support starting with Solana.37GPL 3.0
- FlicenseAqualityFmaintenanceDeFi execution and agent-to-agent economy tools for AI agents โ swaps, yield, transfers, policy enforcement, trust scoring, A2A jobs, and P\&L across Ethereum, Base, Arbitrum, and Polygon.311

Bink MCP Serverofficial
FlicenseNot gradedqualityDmaintenanceEnables AI agents to perform blockchain operations like wallet management, token info, DeFi swaps, cross-chain bridging, and price checking across Ethereum, BNB Chain, and Solana.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nirholas/universal-crypto-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
social_get_categoriesB
Get list of coin categories with aggregate social metrics.
No parameters
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 disclosing behavioral traits. It only states the output nature (list with aggregate social metrics) but does not mention read-only behavior, pagination, data sources, or any limitations. This is a minimal disclosure for a potentially list-fetching 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 a single, front-loaded sentence: 'Get list of coin categories with aggregate social metrics.' It is concise, contains no redundant wording, and every word contributes to 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?
This is a simple tool with no parameters and no output schema. The description conveys the basic purpose but leaves ambiguity about what constitutes 'categories', which social metrics are included, and how the returned list is structured. It is adequate for a basic list but lacks depth that would be helpful for an agent to fully understand the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is complete (coverage 100%). The description adds no parameter details because none exist, and the baseline for zero-parameter tools is 4. No additional parameter semantics are needed.
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 ('Get list') and resource ('coin categories') with a specific modifier ('with aggregate social metrics'). It is specific enough to convey the tool's function, but it does not explicitly distinguish from similar sibling tools like 'social_get_coins_list' or 'market_coingecko_categories'.
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 one needs coin categories accompanied by social metrics, but it offers no explicit guidance on when to use this tool versus alternatives, nor does it mention any exclusions or complementary tools. The context among many social_* and market_* list-related tools highlights the lack of differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.