MCP server for interacting with Monad testnet LST (Liquid Staking Token) protocols, providing tools for staking operations and resources for querying network and protocol data
Single tool 'stake' has a complete input schema with three parameters (protocol, private_key, amount), each with type and description. However, critical security and design issues severely limit quality. The tool exposes private_key as a parameter, a hard violation of pattern:secret-injection. No output schema is documented. Description is minimal (18 chars) and lacks context on when/why to use it, prerequisites, or what it returns. No error handling guidance. Tool performs a write operation (staking) but lacks idempotency guarantees, confirmation patterns, or recovery guidance. Parameter descriptions are present but lack format constraints (e.g., amount format, protocol enum values). No pagination, no structured output documented.
Stake MON tokens on a specified LST protocol
Private key exposed as tool parameter. Credentials must never appear in parameters, use server-side secret injection via environment variables or vault. Agent traces log all parameters, leaking secrets into logs and prompt history.
Tool description is 18 characters ('Stake MON tokens on a specified LST protocol'). Minimum 20 chars required; should be 50-200 chars. Missing: when to use it, what it returns, prerequisites, side effects, and error recovery guidance.
No output schema documented. LLMs cannot plan downstream calls or extract transaction hash, status, or confirmation details. Tool returns are invisible to the agent.
Destructive write operation (stake) lacks confirmation pattern, dry-run option, or idempotency guarantee. Agents may retry on ambiguous failures, causing duplicate stakes. No error classification (retryable vs fatal).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | <=2025-11-25 | v2 |
'protocol' parameter accepts free-form string. Should be an enum (shMON, aprMON, gMON) to prevent hallucinated protocol names. 'amount' lacks format constraints (decimal places, min/max, units).