MCP server for analyzing Solana wallet transactions, PnL data, token information, and leaderboards
Server has 6 tools with basic schemas and descriptions, but significant quality gaps. All tools have descriptions (10-100 chars, mostly adequate), and input schemas are present with Zod validation. However, parameter descriptions are sparse or missing entirely. Most tools lack output schema documentation. Error handling is minimal, generic catch blocks return only error messages without recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being READ_ONLY. Parameter constraints are underspecified (e.g., queryPnls accepts arbitrary sort/projection objects without validation). No pagination guidance for list-like tools (queryPnls, getTopTokens, getLeaderboard). Tool composition is reasonable but lacks chaining metadata (e.g., getTokenDetailsFromMints should return mint alongside name/symbol for downstream use).
Get leaderboard of wallets by realised profit
Get token details from mint(s) like name/symbol to be use alongside the mint when mentionning the token
Get token mint from name or symbol, if result is unique then get the mint otherwise return the list of tokens (mint, name, symbol) for the user to choose from
Get top token by their pnls over all the wallets
Parse transactions to human readable format from the transaction signature
Query Pnls of wallet(s) on token(s)
Output schemas not documented. Tools return JSON.stringify(data) without specifying what fields/structure the LLM should expect. LLMs cannot plan downstream calls or extract relevant data reliably.
Parameter descriptions missing or incomplete. queryPnls accepts 'filter', 'projection', 'sort' as arbitrary objects with no guidance on valid keys, structure, or constraints. LLMs will guess or pass invalid payloads.
No tool annotations despite all tools being READ_ONLY. Annotations (readOnlyHint, destructiveHint, idempotentHint) help LLMs reason about safety and retry logic. All 6 tools should declare readOnlyHint: true.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Error handling is generic. All tools catch errors and return only error.message. No recovery guidance (e.g., 'Try with a different wallet address' or 'Check if the mint is valid'). LLMs cannot self-correct.
Pagination not addressed. queryPnls, getTopTokens, getLeaderboard return lists but lack limit enforcement or next_cursor guidance. Large result sets will blow context windows.