Free, read-only pump.fun + Solana MCP server — token discovery, on-chain bonding-curve & holder analysis, creator fee-claim tracking, SNS resolution, KOL signals, and swap quotes. No API keys.
Strong foundation with 23 well-named tools, comprehensive schemas, and excellent tool annotations. All tools have descriptions (avg 180 chars, within 10-1024 baseline). Input schemas are complete with types and constraints. However, output schemas are not documented, LLMs cannot predict response structure for chaining. Parameter descriptions are present but sometimes terse (e.g., 'Creator wallet address (base58)' lacks guidance on format validation). Error handling is minimal, no recovery guidance or actionable error messages visible in tool definitions. Tool annotations (readOnlyHint/destructiveHint/idempotentHint/openWorldHint) are exemplary and properly categorized (LIVE_READ, DETERMINISTIC_READ, LOCAL_DETERMINISTIC, LOCAL_GENERATIVE). Naming is consistently verb-first (search_, get_, list_) and unambiguous. No security issues detected, all tools are read-only, no credentials exposed.
Bonding curve analysis: real reserves, virtual reserves, and graduation progress (on-chain). Pre-graduation only: the reserves come from the pump program bonding-curve account, not from a PumpSwap pool. Pump renamed the quote-side fields (real_sol_reserves → real_quote_reserves, virtual_sol_reserves → virtual_quote_reserves) when a non-SOL quote asset became possible; the response keys below keep their original names and are still denominated in SOL, because the curve quote_mint is the SOL default on every coin created to date. Once complete=true the curve is retired and pricing moves to the PumpSwap pool, so use pumpfun_quote_swap from that point on.
Creator profile: all tokens created, total volume, fee claims.
Recently graduated tokens (moved to Raydium).
Current King of the Hill token (highest 5m volume).
Newest tokens on pump.fun.
Full details for a specific pump.fun token by mint address.
Output schemas not documented. LLMs cannot predict response structure (field names, types, nesting) for downstream tool chaining. E.g., search_tokens returns results but response format is opaque.
No error handling guidance. Tools lack recovery hints (e.g., 'If token not found, try search_tokens first'). Error responses will not guide LLM recovery.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Top token holders and concentration metrics.
Recent buy/sell history for a token.
Trending tokens on pump.fun (by 5m volume).
KOL (Key Opinion Leader) leaderboard: top influencers by signal strength.
Check the status of the pump.fun indexer / backend.
First creator fee claims across all tokens.
List all unclaimed creator fee claims for a token.
Get a read-only swap quote for a token (post-graduation, PumpSwap pool pricing).
Live 3D snapshot of a pump.fun / Solana token. Composes on-chain token metadata, bonding-curve graduation progress, and top-holder distribution, and returns a shareable three.ws /coin3d viewer deep-link (a spinning coin medallion textured with the token logo, a holder galaxy, and a graduation ring) plus an embeddable iframe and the underlying data. Read-only, free.
Generate a vanity keypair with a custom prefix.
Watch for new creator fee claims on a token.
Stream whale trades (large buys/sells) for a token.
Search pump.fun tokens by name, symbol, or mint address.
Resolve a .sol domain name to a Solana address.
Reverse lookup: find the .sol domain for a Solana address.
Sentiment analysis for a token cashtag ($SYMBOL) from social media.
Estimate price impact of an X (Twitter) post mentioning a token.
Parameter descriptions are minimal. E.g., 'Creator wallet address (base58)' lacks validation rules, format examples, or error guidance. Descriptions should state constraints explicitly (e.g., '44-character base58 string').
Pagination not visible in tool definitions. Tools like get_trending_tokens, get_new_tokens accept 'limit' but no 'offset', 'page', or 'cursor' parameter. Large result sets may exceed context window.
Tool annotations are excellent (readOnlyHint/destructiveHint/idempotentHint/openWorldHint properly set), but descriptions do not explain the distinction between LIVE_READ (non-idempotent, external state) and DETERMINISTIC_READ (stable for same args). LLMs may misuse tools expecting deterministic behavior.