Write-capable Solana MCP server — swap, send, and manage SOL through Claude, Cursor, or any MCP agent.
Server has 6 tools with complete input schemas and descriptions. Naming follows verb_noun pattern (sol_balance, sol_transfer, sol_swap). Descriptions are present (avg ~80 chars) but lack depth on when/why to use each tool and error recovery guidance. Parameters are typed and described, but lack constraints (enums, ranges, patterns). No output schemas documented. Error handling is minimal, no recovery guidance or categorization. Security: private key injection via env var is correct, but no audit logging visible. Composition is reasonable (separate read/write tools), but no pagination support for list-like operations.
Get SOL and token balances for any Solana wallet address
Get a complete portfolio overview with estimated USD value for any wallet
Get a swap quote between two tokens on Solana via Jupiter
Search for a Solana token by symbol or name (e.g., 'SOL', 'USDC', 'BONK', 'JUP')
Execute a token swap on Solana via Jupiter. Requires SOLANA_PRIVATE_KEY to be set.
Send SOL from your wallet to another address. Requires SOLANA_PRIVATE_KEY to be set.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., transaction hash, balance amounts, token details). Responses are unstructured text.
Parameter constraints missing. 'slippage' accepts any number (default 0.5) with no min/max bounds, LLM could pass 1000% or negative values. 'amount' is unbounded. No enum for 'query' in sol_search.
Error handling lacks recovery guidance. No visible error categorization (retryable vs fatal). Descriptions do not explain failure modes (e.g., 'insufficient balance', 'invalid mint address', 'slippage exceeded').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Irreversible operations (sol_transfer, sol_swap) lack confirmation/dry-run pattern. No mechanism to preview transaction before execution or request user approval.
Tool descriptions are brief (50 - 80 chars) and lack context on when to use each tool vs alternatives. E.g., sol_quote vs sol_swap distinction unclear; sol_balance vs sol_portfolio use cases not explained.