18 tools with consistent verb-noun naming (get_, view_, call_, send_, deploy_, transfer_, add_, delete_, stake_, unstake_). All tools have descriptions (avg ~80 chars, baseline 194). Input schemas present for all tools with type declarations. However, descriptions are terse and lack context on WHEN to use each tool, prerequisites, or recovery guidance. Parameter descriptions are minimal (avg ~50 chars, baseline 72). No output schemas documented. Error handling is absent, no guidance on retryability, user-fixable vs fatal errors, or recovery paths. Missing tool annotations (readOnlyHint, destructiveHint). Composition is reasonable (single responsibility per tool), but no pagination support for list-like operations (get_validators, get_access_keys). Risk classification present (READ_ONLY vs WRITE) but not surfaced to LLM.
Add a new access key to a NEAR account.
Call a view function on a NEAR smart contract.
Call a contract method that modifies state on NEAR.
Delete an access key from a NEAR account.
Deploy a smart contract to NEAR.
Get all access keys for a NEAR account.
Get the balance of a specific NEAR account.
No output schemas documented. LLMs cannot infer what fields are returned or plan downstream tool calls. E.g., get_account_balance returns balance but no schema specifies format (yocto vs formatted NEAR, field names).
Descriptions lack context on WHEN to use each tool and prerequisites. E.g., 'View the state of a smart contract on NEAR' does not explain when to call this vs call_contract_function, or that it requires a valid contractId. Descriptions average 50 chars vs baseline 194.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Get details about a specific block on NEAR.
Get details about a specific chunk on NEAR.
Get the protocol configuration for NEAR.
Get the status of a transaction on NEAR.
Get the list of current validators on NEAR.
Send a transaction on NEAR (e.g., transfer tokens, call contract methods).
Stake NEAR tokens to a validator.
Transfer NEAR tokens from the configured account to another account.
Unstake NEAR tokens from a validator.
View the state of a NEAR account including storage usage and code hash.
View the state of a smart contract on NEAR.
No error handling guidance. Tools do not document retryability, user-fixable errors, or recovery paths. E.g., send_transaction and deploy_contract (WRITE operations) lack confirmation/dry-run patterns and error recovery hints.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk classification exists in metadata (READ_ONLY vs WRITE) but is not exposed via MCP tool annotations, limiting LLM awareness of side effects.
No pagination support for list-like operations. get_validators and get_access_keys return unbounded lists with no limit, offset, or cursor parameters. Large result sets risk context window exhaustion.