MCP server for cross-chain token swaps via Meson protocol
Three tools with complete input schemas and basic descriptions, but significant gaps in parameter documentation, output schema definition, and error handling guidance. Tool names lack clear action verbs (prepareSwap, executeSwap are acceptable but not ideal). Parameter descriptions are minimal (1-3 words each). No output schemas documented despite commented-out stubs in code. Error handling returns generic error objects without recovery guidance. Naming follows camelCase convention but lacks verb_noun clarity expected in production tools.
Check cross-chain transaction status
Sign and execute cross-chain transaction
Prepare cross-chain transaction and generate data for signing
Output schemas not documented. Code contains commented-out outputSchema definitions for executeSwap and checkSwapStatus, but they are disabled. LLMs cannot plan downstream operations without knowing return structure.
Parameter descriptions are minimal (1-3 words). 'Source chain ID', 'Destination chain ID', 'Swap amount' lack context on format, constraints, or valid values. LLMs cannot infer whether 'amount' is a decimal string, integer, or wei-denominated value.
No enum constraints on chain/token parameters. 'fromChain' and 'toChain' accept free-form strings with no validation. LLMs will hallucinate invalid chain IDs. Should declare supported chains as enum.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2025-06-18+ | v2 |
Error handling provides no recovery guidance. Errors return generic messages like 'Swap preparation failed: <error>' without actionable next steps. Pattern: recovery-guide requires 'Try X instead' or 'Check Y first'.
Private key exposed via environment variable without validation. executeSwap reads MESON_PRIVATE_KEY from Deno.env but does not validate it is a valid hex string or warn about secret injection risks in logs.