Two tools with complete schemas and reasonable descriptions, but significant gaps in parameter documentation and error handling guidance. Both tools have clear verb-noun naming (getAccountBalance, getTokenPrice) and enum-constrained blockchain parameters. Descriptions are adequate (150-200 chars) but lack actionable guidance on when to use each tool or how to handle failures. Parameter descriptions exist but are minimal. No output schema documentation visible. No error recovery guidance. Schemas are well-formed with proper types and enums, but lack examples of expected output structure.
Get the balance of an account on multiple blockchains by providing an wallet address or ENS name. For example: - get balance for 0x1234567890123456789012345678901234567890 - get balance for vitalik.eth Blockchains supported: - arbitrum - avalanche - base - bsc - eth - fantom - flare - gnosis - linea - optimism - polygon - polygon_zkevm - rollux - scroll - syscoin - telos - xai - xlayer - avalanche_fuji - base_sepolia - eth_holesky - eth_sepolia - optimism_testnet - polygon_amoy
Get the price of a token on a specific blockchain. Provide contract address for ERC20 tokens or leave empty for native coin. For example: - get price for 0x1234567890123456789012345678901234567890 on eth - blockchain: eth - contract address: 0x1234567890123456789012345678901234567890 - get price for eth - blockchain: eth - contract address: (empty) Blockchains supported: - arbitrum - avalanche - base - bsc - eth - fantom - flare - gnosis - linea - optimism - polygon - polygon_zkevm - rollux - scroll - syscoin - telos - xai - xlayer - avalanche_fuji - base_sepolia - eth_holesky - eth_sepolia - optimism_testnet - polygon_amoy
No output schema documentation. LLMs cannot plan downstream operations without knowing what fields are returned (e.g., does getAccountBalance return per-blockchain breakdown or aggregated total?). Visible in src/tools/getAccountBalance.ts where formatBalanceReply() is defined but output structure is not documented in tool registration.
Parameter descriptions are minimal. 'Must be a valid Ethereum address (0x...) or ENS name' is present but lacks guidance on what happens if invalid input is provided or how the tool handles resolution failures. No error recovery hints.
No error handling guidance. Tool descriptions do not explain what errors are possible (e.g., invalid ENS name, network timeout, unsupported blockchain) or how LLMs should respond. No recovery hints like 'If ENS resolution fails, try the raw address instead.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Missing dependency hints. getTokenPrice description does not explain when to call it vs getAccountBalance, or whether contract addresses must be pre-validated. No guidance on multi-step workflows.
No pagination or result-limiting guidance. If getAccountBalance returns many assets across 22 blockchains, the response could be very large. No mention of limits, pagination, or how to handle large result sets.