Convert smart contract ABIs to AI-ready MCP servers. Generates complete, production-ready MCP servers from Ethereum/EVM smart contract ABIs with support for read/write operations, events as resources, and transaction simulation.
UCAI is a code generator that produces MCP servers from smart contract ABIs. The evaluation focuses on the single generated tool example (balance_of) visible in the codebase. The tool has a name, basic description, and typed input schema, but falls short on critical definition quality standards. The description is minimal (24 chars), lacks context about what happens when called, does not explain prerequisites or error conditions, and provides no guidance on when to use this tool vs alternatives. The input schema is present but sparse, the 'account' parameter description ('Account address to query balance for') is adequate but does not specify format constraints (e.g., is it a hex address? ERC55 checksum required?). No output schema is documented in the visible code, critical for chained tool calls. The generator itself (tool_generator.py) is not fully visible, so we cannot assess whether the generation logic produces tool definitions that meet production quality standards. The READ_ONLY risk classification is good, but the lack of error handling guidance, output documentation, and parameter format constraints places this well below production baseline.
Read-only function to query account balance
Tool description is too brief (24 characters). Does not explain WHEN to use this tool, WHAT it returns, or any prerequisites (e.g., requires valid Ethereum address format). Descriptions under 50 characters lack context for LLM tool selection.
No output schema documented. The tool likely returns a balance, but there is no visible specification of return type, field names, or format (e.g., is it a string, number, or decimal? Wei or Ether? Signed or unsigned?). Without documented output, agents cannot chain tools or extract the correct fields for downstream calls.
Parameter 'account' lacks format specification. Description does not state whether the input is a hex address, ERC55 checksum format, or accepts aliases. No regex pattern, length constraint, or example format is provided. LLMs will hallucinate invalid addresses.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 46 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 31 | - | v1 |
No error handling guidance. If the account is invalid, does not exist, or the RPC call fails, what does the tool return? The description does not explain recovery paths (e.g., 'If address is invalid, try address normalization' or 'If RPC fails, retry with a backup provider'). Agents receive no guidance on error classification.
Tool generator code is not fully visible for review. The file src/abi_to_mcp/generator/tool_generator.py is referenced but its implementation is not provided. Cannot assess whether the generator produces schemas, descriptions, and error handling templates that meet production quality. This limits confidence in the entire system.