MCP server for interacting with Pump.fun token operations on Solana blockchain
The Pump.fun MCP server provides 6 tools with explicit Zod schema definitions and basic descriptions. All tools are properly registered with the McpServer SDK. However, there are significant gaps in definition quality: (1) Parameter descriptions are minimal and lack detail about formats, ranges, and constraints. For example, 'tokenAddress' is described only as 'The token's mint address' without specifying the format (base58, length) or how to obtain one. (2) Output schemas are not documented, the code returns text responses via createMcpResponse() but no structured schema is declared for what fields clients should expect. (3) Error handling is generic catch-all blocks that return text error messages rather than actionable recovery guidance. (4) No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present to help agents understand side effects. (5) Tools combining related operations (e.g., buy-token with slippage configuration) lack guidance on parameter relationships and defaults. The average parameter description length is ~40 characters, well below the 72-character baseline for production tools. Overall the server is functional but mediocre, appropriate for early prototyping but not ready for production agent deployments.
Buy a Pump.fun token
Create a new Pump.fun token
Get the SOL and token balances for an account
Get information about a Pump.fun token
List all accounts in the keys folder
Sell a Pump.fun token
Output schemas not documented. Tools return text responses via createMcpResponse() but no structured schema (fields, types) is declared. LLMs cannot plan downstream operations or extract specific fields when the response structure is opaque.
Parameter descriptions are too brief and lack constraint details. E.g., 'tokenAddress' described as 'The token's mint address' without specifying base58 encoding, length, or validation rules. 'slippageBasisPoints' lacks explanation of basis point semantics (100 = 1%).
Missing tool annotations. No readOnlyHint, destructiveHint, or idempotentHint tags present. Agents cannot distinguish read-safe tools from destructive ones (buy/sell/create) without parsing the description text.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Generic error handling with no recovery guidance. All catch blocks return 'Error <tool>: <message>' text. No actionable next steps, categorization (retryable vs user-fixable), or suggestions to guide the agent.
Undocumented parameter relationships and constraints. The create-token tool accepts 'imageUrl' as optional but no guidance on image format, size, or URL validity. buy-token and sell-token accept slippageBasisPoints with no minimum/maximum bounds specified in the description.
No pagination or result limits documented for list-accounts. If account count is large, response may explode. No indication of whether list-accounts returns all accounts or a subset.
Parameter naming ambiguity. 'accountName' is a display name, but tools also accept 'tokenAddress' (ID-style). Consistency could be improved, should string parameters accepting names be suffixed with _name or _id?