An MCP server that provides tools for interacting with the Osmosis blockchain, including account management and swap operations
This MCP server exhibits severe definition quality gaps across all five tools. While the server successfully registers tools with the MCP SDK, the parameter schemas are completely empty (`{"type":"object","properties":{}}` for all swap tools, and schema not visible for account tool), making it impossible for LLMs to understand what inputs these tools accept. Descriptions are present but generic and lack the depth needed for proper tool selection and execution. No visible parameter annotations, no output schema documentation, and no error handling guidance. The swap tools in particular are dangerously underspecified, an agent cannot know what currency pairs to query, what amounts to swap, or what slippage tolerance to use. This violates multiple critical patterns: constrained-input (no enums for token pairs), tool-description (missing parameter context), and response-shaper (no output schema visible).
Tool for retrieving account information
Send a swap transaction with input computed from a given output quote
Send a swap transaction with output computed from a given input quote
Get a swap quote for a given output amount (input is computed from output)
Get a swap quote for a given input amount (output is computed from input)
All parameter schemas are empty or completely absent. Tools declare `{"type":"object","properties":{}}` with no actual parameters defined. This violates the critical rule: 'If a tool has NO input schema at all: its schema score MUST be 0.' LLMs cannot determine what inputs to pass.
Swap tools lack parameter descriptions entirely. No documentation of required token pairs, amounts, decimals, slippage tolerance, or account context. The description 'Get a swap quote for a given output amount (input is computed from output)' tells an LLM what the tool conceptually does but not how to invoke it. This is below the 10 - 1024 character baseline for tool descriptions and below the 100% baseline for A+ tools to have parameter annotations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | F | 32 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 11 | - | v1 |
No output schema documentation visible in the tool definitions. LLMs cannot plan downstream operations or extract return values (e.g., quote amount, swap rate, transaction hash) without knowing the response structure. This violates the critical check: 'Document the output schema. LLMs need to know what fields to expect.'
No error handling guidance in tool descriptions. When a swap fails (insufficient liquidity, slippage exceeded, wallet insufficient funds), the LLM has no recovery hints. Descriptions do not state what errors are retryable, what requires user intervention, or how to troubleshoot. This violates the critical pattern: 'Error responses must tell the LLM what to do next.'
Swap tool names are ambiguous and compound. 'swapQuoteInGivenOut' and 'swapQuoteOutGivenIn' are lengthy and internally complex. A clearer pair would be 'get_swap_quote_fixed_output' and 'get_swap_quote_fixed_input'. Tool names containing compound concepts like 'InGivenOut' signal multiple concerns and are harder for LLMs to reason about. Additionally, no distinction is made between these two quote tools, an agent may pick the wrong one.
No permission/scope declarations for destructive operations. The two transaction-sending tools (sendSwapInGivenOutQuoteTx, sendSwapOutGivenInQuoteTx) modify wallet state and move funds, but their descriptions do not mention required permissions, necessary approvals, or confirmation flows. There is no indication whether these tools support dry-run or confirmation-before-execute patterns to prevent accidental fund transfers.
Account tool description is minimal (27 characters: 'Tool for retrieving account information'). No guidance on what account data is returned (balance, nonce, permissions?), how it relates to the swap tools, or when to call it. Below the p10=34 baseline for production tool descriptions.