Read-only Model Context Protocol server for querying the live NOVAI chain over its public JSON-RPC endpoint.
Strong naming conventions (all tools start with 'novai_get_' verb), clear and specific descriptions (average ~180 chars, well within 10-1024 range). All parameters have type definitions via Zod schemas and clear descriptions. Input validation is robust with custom error formatting. However, output schemas are not formally documented in the code, responses are JSON-stringified verbatim from the RPC endpoint without a declared return type structure. Error handling maps RPC errors to clean messages but lacks recovery guidance (pattern:recovery-guide). No tool annotations (readOnlyHint, etc.) present. All 13 tools are read-only, which is a design strength but not annotated. Schema documentation would improve LLM chaining.
Fetch an on-chain AI entity (agent) by its entity id. Returns the entity record including code hash, creator, autonomy mode, capability bits, economic and stake balances, reputation score, transaction count, and activity timestamps, or null if no entity exists for that id.
Fetch the balance and nonce for an account or entity address. The balance is returned as a decimal string to preserve full precision.
Fetch a single committed block by height or by hash. Provide exactly one of height or hash. Returns the block height, block hash, parent hash, round, state root, and transaction count, or null if no such block is known. Note: the endpoint retains a bounded recent window of blocks by height, so very old heights can return null even though they were valid blocks. Lookups by hash work for any block the node still indexes.
Return the latest committed block of the live NOVAI chain: its height, block hash, round, transaction count, state root, and parent hash. Use this to verify the chain is live and advancing, and to learn the current tip height before requesting a specific block. Takes no parameters.
Fetch a single memory object by its hash. Returns the object hash, object type, height, and owner, or null if the object is not found.
Output schemas not formally documented. Tools return JSON-stringified RPC responses without explicit return type schemas. LLMs cannot plan downstream tool calls or extract specific fields without reverse-engineering the response structure.
No tool annotations present. All 13 tools are read-only (safe to retry), but lack readOnlyHint annotations. This forces LLMs to infer safety from context rather than from explicit metadata.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
List the memory objects recorded at a specific block height. Each entry has an object hash, object type, height, and owner. Use this to see which memory objects were committed in a given block.
List the memory objects owned by a given entity within a block height range. Returns object hash, object type, height, and owner for each.
List the memory objects of a given type within a block height range. The endpoint currently accepts these object type codes: 0 ChainSummary, 1 LabelIndex, 2 EmbeddingCommitment, 3 AnomalyLog, 4 StatisticsSnapshot, 5 ReputationEvent, 6 Rating, 7 SignalCatalog, 8 CompositionGraph, 9 VerificationRecord, 10 DelegationGrant, 11 Subscription, 12 ServiceDescriptor, 13 VkRegistration, 14 SlaAgreement, 15 PaymentChannel. Returns object hash, object type, height, and owner for each.
Fetch a single signal by its commitment hash. Returns the commitment hash, signal type, height, and issuer, or null if the signal is not found.
List the signal commitments recorded at a specific block height. Each entry has a commitment hash, a numeric signal type, the height, and the issuer. Use this to see which signals were committed in a given block.
List the signal commitments issued by a given entity within a block height range. Returns commitment hash, signal type, height, and issuer for each.
List the signal commitments of a given type within a block height range. The endpoint currently accepts these signal type codes: 0 Anomaly, 1 Optimization, 2 Prediction, 3 RiskScore, 4 AuditReport, 5 SpamRisk, 6 CongestionForecast. Returns commitment hash, signal type, height, and issuer for each.
Fetch a confirmed transaction by its transaction id. Returns the block height, transaction index, sender address, nonce, fee, and payload length, or null if the transaction is not found.
Error responses lack recovery guidance. RPC errors are mapped to clean messages (e.g., 'the NOVAI RPC endpoint rejected the request'), but do not suggest next steps or alternative tools. Pattern:recovery-guide missing.
Tools returning multiple items (signals, memory objects) lack pagination parameters. No limit, offset, page, or cursor parameters. Unbounded result sets risk context window exhaustion and degrade LLM reasoning.
Description for novai_get_block mentions endpoint behavior ('retains a bounded recent window') but does not state what data is returned or the structure of the response. LLMs need explicit output documentation.