Model Context Protocol server for the DEPEG protocol on Solana. Exposes 11 tools that let any MCP-compatible AI agent (Claude Desktop, Cursor, Cline, Continue, Solana Agent Kit-based agents, custom autonomous agents, …) interact with DEPEG: discover pools, query positions, compute pending rewards, swap USDC ↔ stablecoin, stake, claim, unstake, buy boosters, and launch new pools.
DEPEG wraps pump.fun memecoins with a 1:1 USDC-backed stablecoin per coin. Pump.fun trade fees flow into the USDC vault as yield. Holders stake stablecoins for lock-boosted rewards; boosters amplify the multiplier for 7 days.
npm install -g @depegprotocol/mcp-serverOr run on-demand via npx:
npx -y @depegprotocol/mcp-server| Tool | Purpose | Wallet required? |
|---|---|---|
depeg_find_pool |
Look up a pool by coinMint — returns Config + StakingPool + every derived PDA. |
No |
depeg_list_pools |
Enumerate every DEPEG pool on the chosen cluster. | No |
depeg_get_user_positions |
All StakePositions + UserPoolState for (coinMint, owner). |
No |
depeg_get_pending_rewards |
Client-side pending-reward calc for a specific position. Applies active booster. | No |
depeg_swap_usdc_to_stablecoin |
Deposit USDC, receive stablecoin 1:1. | Yes |
depeg_swap_stablecoin_to_usdc |
Burn stablecoin, withdraw USDC 1:1. | Yes |
depeg_stake |
Stake stablecoin for a LockPeriod (1d, 3d, 7d, 14d, 30d, 90d, 180d, 365d). |
Yes |
depeg_claim_rewards |
Settle + transfer pending rewards on a position. | Yes |
depeg_unstake |
Withdraw principal + claim, after locked_until. |
Yes |
depeg_buy_booster |
Pay SOL for a 7-day reward multiplier (tier 0..5 → 1.25× / 1.5× / 1.75× / 2× / 2.5× / 3×). | Yes |
depeg_launch_pool |
Wrap a pump.fun coin as a DEPEG pool (atomic; co-signed by platform admin). | Yes |
Read-only tools work without a wallet — you can run the server with just an RPC URL to expose query-only tools to your agent.
All via environment variables:
| Env var | Default | Purpose |
|---|---|---|
DEPEG_RPC_URL |
public mainnet/devnet | Solana RPC endpoint |
DEPEG_CLUSTER |
mainnet |
mainnet or devnet |
DEPEG_USDC_MINT |
— | Override the USDC mint pubkey |
DEPEG_WALLET_SECRET |
— | Base58 secret key (write tools require this) |
DEPEG_WALLET_PATH |
— | Path to a Solana keypair JSON file (alternative) |
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"depeg": {
"command": "npx",
"args": ["-y", "@depegprotocol/mcp-server"],
"env": {
"DEPEG_CLUSTER": "mainnet",
"DEPEG_RPC_URL": "https://your-rpc-endpoint",
"DEPEG_WALLET_SECRET": "<base58 secret key>"
}
}
}
}Same shape, in each host's MCP server config. The server speaks JSON-RPC over stdio.
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
const client = new Client({ name: "my-agent", version: "0.1.0" }, { capabilities: {} });
await client.connect(new StdioClientTransport({
command: "npx",
args: ["-y", "@depegprotocol/mcp-server"],
env: { DEPEG_RPC_URL: process.env.RPC_URL!, DEPEG_WALLET_SECRET: process.env.WALLET_SECRET! },
}));
const pools = await client.callTool({ name: "depeg_list_pools", arguments: {} });Once connected, an agent can drive the protocol with natural-language instructions:
"Find me the DEPEG pool with the highest stake count, then stake 10 stablecoin for 30 days in it."
→ agent calls
depeg_list_pools→ ranks bytotalStakedAmount→ callsdepeg_stakewithlockPeriod: "oneMonth"against the winner.
"Check if my position #1738 has any pending rewards, and if it's more than 0.1 stablecoin, claim it."
→
depeg_get_pending_rewards→ conditionaldepeg_claim_rewards.
"For coin {mint}, deploy a DEPEG pool with vault_bps=4000, staking_bps=4000, and a 5 USDC seed."
→
depeg_launch_pool. (The tx will need PLATFORM_ADMIN co-signature — in production agents should route throughdepeg.app's co-sign endpoint; on devnet the agent can hold the admin key directly for testing.)
The full TypeScript SDK is available at @depegprotocol/sdk if you want to call instructions directly without the MCP transport.
For the on-chain log format (DEPEG_PROTOCOL [depeg::...]) and account layouts, see the DEPEG protocol skill.
MIT