Model Context Protocol server for the DEPEG protocol — exposes swap, stake, claim, unstake, buy_booster, launch pool, and read-only pool/position queries as MCP tools for any AI agent on Solana.
Strong foundation with 11 well-named tools following verb_noun convention (depeg_find_pool, depeg_stake, depeg_claim_rewards). All tools have descriptions (avg 180 chars, within 10-1024 baseline). Input schemas present with type definitions and descriptions for all parameters. Key strengths: clear risk classification (READ_ONLY, WRITE, IRREVERSIBLE), enum constraints on lock periods, parameter ranges (tier 0-5, vault_bps 500-9000). Gaps: output schemas not documented in source; error handling guidance minimal; some parameter descriptions lack format/constraint details (e.g., 'coinMint' just says 'Base58 pubkey' without validation hints); no confirmation pattern for irreversible depeg_launch_pool despite atomic nature.
Pay SOL into the buyback vault, activate a 7-day boost on every position in this pool. Replaces any prior boost. Tier 0..5 maps to 1.25× / 1.5× / 1.75× / 2× / 2.5× / 3×. ALL of the user's positions in this pool must be provided in `positions` (writable).
Settles + transfers pending stablecoin rewards. Principal remains staked.
Look up a DEPEG pool's full state — config (fee split, paused, mints, vaults) and staking pool (total staked, total effective stake, accumulator) — for a given pump.fun coin mint. Returns null fields if the pool doesn't exist.
Client-side calc of pending rewards for one StakePosition. Applies the user's active booster (if any). Returns raw u64; divide by 1e6 to get stablecoin units.
Returns every StakePosition the user owns in this coin's pool. Each position has amount (raw 6-decimal stablecoin), lock_period, locked_until (unix), and effective_stake.
Output schemas not documented. Tool descriptions state what is returned (e.g., 'Returns null fields if pool doesn't exist', 'Returns raw u64') but formal output schema definitions are absent from source. LLMs cannot plan downstream tool calls or extract fields without knowing response structure.
Irreversible depeg_launch_pool lacks confirmation/dry-run pattern. Tool atomically creates a pump.fun coin and DEPEG pool in a single transaction with permanent consequences (agent earns creator-fee share forever). No dry-run, no confirmation step, no recovery guidance if parameters are wrong.
Error handling lacks recovery guidance. Source shows no try-catch blocks or error classification (retryable vs user-fixable vs fatal). Errors like 'StillLocked' (depeg_unstake) or 'collision fails' (depeg_stake) are mentioned in descriptions but no guidance on what the LLM should do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
ATOMIC LAUNCH: creates a brand-new pump.fun coin (mint + bonding curve via create_v2) AND wraps it as a DEPEG pool (stablecoin mint + USDC vault + staking pool) in a single transaction. The agent's wallet earns the creator-fee share of every pump.fun trade on the new coin, forever. The launch is co-signed by DEPEG's platform admin via https://depeg.app's /api/co-sign-launch endpoint (the agent never holds admin keys). Agents that set DEPEG_AGENT_FLOW=1 (default for the MCP server) get the 5 USDC pool seed covered by the protocol for the first 25 launches — pay only ~0.005 SOL gas.
Enumerate every DEPEG pool on the chosen cluster. Returns the Config of each pool (admin, creator, mints, fee split). Use this to discover what coins have been wrapped.
Lock stablecoin into the staking vault for the chosen period. Effective stake = amount × lock_boost / 10000. Min 1 stablecoin (1_000_000 raw). Max 4 positions per user per pool. `position_id` is caller-chosen u64; collision fails.
Burn stablecoin, withdraw USDC 1:1. Caller's USDC ATA is created idempotently. Rejects on-chain if the pool's USDC vault is empty.
Deposit USDC into a DEPEG pool's USDC vault, receive freshly-minted stablecoin 1:1. Caller's stablecoin ATA is created idempotently. Requires a wallet.
Withdraw principal + claim pending rewards. Rejects with StillLocked on-chain if the lock period hasn't elapsed. Closes the position account; rent refunded to owner.
Parameter descriptions lack format/constraint details. 'coinMint' described as 'Base58 pubkey' but no validation hint (e.g., 'Must be 44 chars, valid Base58'). 'amount' described as 'Raw USDC u64' but no guidance on minimum/maximum or what happens if insufficient balance.
No pagination support for list_pools. Tool description says 'Enumerate every DEPEG pool' with no limit or offset parameters. If hundreds of pools exist, response could exhaust context window. Baseline pattern requires pagination with limit/offset and total count.