AI-powered development tools for Monad blockchain developers. Provides real-time documentation, account queries, transaction analysis, and smart contract interactions on Monad testnet.
This server provides 6 blockchain query tools with consistent naming (all verb_noun format: get-*) and complete input schemas. However, descriptions are minimal (14-82 chars, below the 50-200 char optimal range), parameter descriptions are generic or missing, and output schemas are not documented. All tools are read-only, which limits complexity, but the implementation lacks LLM-optimization guidance for parameter selection and result interpretation.
Get information about a specific block on Monad testnet (latest or by block number)
Get the source code for a contract on Monad testnet
Get ERC20 token balance for an address on Monad testnet
Get MON balance for an address on Monad testnet
Get information about a transaction on Monad testnet
Get detailed transaction receipt from Monad testnet
Tool descriptions are minimal (14-82 chars) and lack context for LLM selection. 'Get MON balance for an address on Monad testnet' does not explain when to use this vs get-erc20-balance, what the return value represents (wei/MON units?), or format expectations.
Parameter descriptions are trivial or absent. 'address' is described only as 'Monad testnet address to check balance for', does not specify format (0x..., length), case sensitivity, or error handling for invalid inputs. 'blockNumber' accepts 'latest' or a number but does not document the string vs integer distinction or expected format.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 63 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 30 | - | v1 |
Output schemas are not documented. What fields does get-mon-balance return? Is it {balance: string, unit: 'wei'} or {balance_wei: string, balance_mon: string} or {data: {balance: ...}}? Without output schema documentation, LLMs cannot plan chained calls or extract the correct field for downstream tools.
No error handling guidance. If get-mon-balance receives an invalid address, does it return a validation error, a 'not found' response, or a 500? What should the LLM do next, retry, ask the user, or try a different tool?
Parameter type definitions are present in schema but not consistently constrained. get-block accepts blockNumber as a string and documents 'Block number or latest' but does not enforce the enum or regex pattern in the schema itself.