FastMCP server wrapping Ankr Advanced API for multi-chain Web3 data access
Server defines 9 tools with consistent naming (verb_noun pattern: get_*) and basic schemas. All tools have descriptions (avg ~40 chars, below 194-char baseline). Input schemas present but sparse: parameters lack detailed descriptions, no enums for constrained values (e.g., blockchain, page_size bounds), no output schemas documented. Error handling and recovery guidance absent. Composition is sound (single responsibility per tool), but parameter documentation is minimal, LLMs cannot infer constraints like valid blockchain names or page_size limits from names alone.
Get token balances for a wallet address
Get blockchain statistics
Get blocks information
Get blockchain logs
Get holders of a specific NFT collection
Get metadata for a specific NFT
Get NFTs owned by a wallet address
Parameter descriptions missing or minimal. 'blockchain' appears in 7 tools with only 'The blockchain identifier', no enum of valid values, no guidance on format. LLMs cannot infer valid inputs.
No output schemas documented. Tools return data but LLMs cannot plan downstream calls or extract fields. E.g., get_nfts_by_owner returns NFT list but structure unknown.
Pagination parameters (page_size, page_token) lack constraints. No min/max bounds, no guidance on default behavior, no total_count or next_cursor documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Get a list of supported blockchain networks
Get token price information
No error handling or recovery guidance. Tools lack descriptions of failure modes, retryability, or actionable error messages.
Tool descriptions too brief (avg ~40 chars vs 194-char baseline). 'Get NFTs owned by a wallet address' lacks context on when to use vs similar tools, what data is returned, or prerequisites.