Model Context Protocol (MCP) server for interacting with EVM-compatible networks
Server has 8 well-named tools with consistent verb_noun patterns (get_*, read_*). All tools include descriptions (avg ~100 chars) and Zod schemas with typed parameters. However, descriptions are generic and lack LLM-optimization guidance (e.g., 'when to use this vs similar tools'). Parameter descriptions are present but minimal (avg ~60 chars). Output schemas are not documented, responses are JSON strings without field-level documentation. Error handling returns plain text error messages without recovery guidance or categorization. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being read-only. Missing pagination guidance for tools that could return large results.
Get the native token balance (ETH, MATIC, etc.) for an address
Get a block by its block number
Get information about an EVM network
Get the ERC20 token balance of an Ethereum address
Get the latest block from the EVM
Get a list of supported EVM networks
Get the balance of an ERC20 token for an address
Output schemas not documented. Tools return JSON strings without field-level type information. LLMs cannot infer response structure for downstream chaining.
Error responses lack recovery guidance. Errors return plain text (e.g., 'Error fetching chain info: ...') without actionable next steps or error categorization (retryable vs user-fixable).
No tool annotations. All 8 tools are read-only but lack readOnlyHint annotation. Agents cannot distinguish safe tools from destructive ones without explicit hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Read data from a smart contract by calling a view/pure function. This doesn't modify blockchain state and doesn't require gas or signing.
Descriptions lack LLM-optimization guidance. No 'when to use this vs similar tools' hints. E.g., get_balance vs get_erc20_balance vs get_token_balance distinction is unclear from descriptions alone.
No pagination or result-limit guidance. Tools like get_supported_networks and read_contract could return large results but lack limit/offset parameters or documentation of max result size.