Openpump Solana Mcp
Solana token launch and trading tools via the OpenPump MCP server. Creates tokens on pump.fun, buys and sells tokens, runs market-making bots, snipes new tok...
Description
name: openpump-solana-mcp description: > Solana token launch and trading tools via the OpenPump MCP server. Creates tokens on pump.fun, buys and sells tokens, runs market-making bots, snipes new token launches, sets stop-loss orders, generates vanity addresses, manages custodial wallets, transfers SOL and SPL tokens, checks balances, gets price quotes, monitors portfolio positions and creator fees. Use when the user asks to launch a token, trade a memecoin, buy or sell on pump.fun, check wallet balance, transfer SOL, set up a sniper, run a market maker, create wallets, get a price quote, claim creator fees, or do anything with pump.fun tokens. Also use for bundle launches, Jito bundles, bonding curve queries, and spam launches. Do not use for general Solana RPC queries, non-pump.fun DeFi (Raydium, Jupiter, Orca), NFT operations, or importing external private keys. version: "2.0.0" author: openpump license: MIT homepage: https://openpump.io user-invocable: true
metadata: openclaw: emoji: "\U0001F680" requires: bins: ["node", "npx"] env: ["OPENPUMP_API_KEY"] primaryEnv: "OPENPUMP_API_KEY" install: - id: openpump-mcp kind: node package: "@openpump/mcp" bins: ["openpump-mcp"] label: "Install OpenPump MCP Server (npm)" os: ["linux", "darwin", "win32"] network: ["api.openpump.io", "mcp.openpump.io"] homepage: "https://openpump.io"
tags:
- solana
- crypto
- trading
- pump-fun
- defi
- mcp
- token-launch
- memecoin
- jito
- bonding-curve
- market-making
- sniper
- stop-loss
OpenPump MCP Server
Trade pump.fun tokens, manage Solana wallets, run market making bots, snipe new tokens, and monitor positions via MCP.
Setup
1. Get Your API Key
- Sign up at openpump.io
- Go to Dashboard > API Keys
- Create a new key (starts with
op_sk_live_)
2. Set the Environment Variable
export OPENPUMP_API_KEY="op_sk_live_YOUR_KEY_HERE"
3. Add MCP Server
Claude Code (HTTP transport -- no local process):
claude mcp add --transport http openpump https://openpump.io/api/mcp \
--header "Authorization: Bearer op_sk_live_YOUR_KEY_HERE"
Claude Desktop / any MCP client (stdio via npx):
{
"mcpServers": {
"openpump": {
"command": "npx",
"args": ["-y", "@openpump/mcp@latest"],
"env": {
"OPENPUMP_API_KEY": "op_sk_live_YOUR_KEY_HERE"
}
}
}
}
HTTP transport (remote, no local process):
{
"mcpServers": {
"openpump": {
"url": "https://mcp.openpump.io/mcp",
"headers": {
"Authorization": "Bearer ${OPENPUMP_API_KEY}"
}
}
}
}
Available Tools (57)
Token Creation (2)
| Tool | Description |
|---|---|
create-token |
Launch a new token on pump.fun with name, symbol, description, and image |
bundle-launch |
Atomically create a token AND coordinate multi-wallet buys via Jito bundles |
Trading (7)
| Tool | Description |
|---|---|
buy-token |
Buy a pump.fun token with SOL (single wallet). amountSol is a decimal SOL string (e.g. "0.1") |
sell-token |
Sell a token position back to SOL. Use tokenAmount: "all" for entire balance |
bundle-buy |
Multi-wallet buy of an existing token via Jito bundles |
bundle-sell |
Multi-wallet sell packed into Jito bundles (bonding curve tokens only) |
get-token-quote |
Price quote for buy or sell without executing. solAmount in lamports string for buys |
estimate-bundle-cost |
Preview total SOL required for a bundle launch before executing |
claim-creator-fees |
Claim accumulated pump.fun creator fees for a wallet address |
Transfers (2)
| Tool | Description |
|---|---|
transfer-sol |
Send SOL to any Solana address. amountSol is decimal SOL string. 10 SOL cap per call. Supports dryRun |
transfer-token |
Send SPL tokens to any Solana address. tokenAmount in raw base units or "all" |
Wallet Management (5)
| Tool | Description |
|---|---|
create-wallet |
Create a new HD-derived custodial wallet with optional label |
batch-create-wallets |
Create 2-50 wallets in one action with auto-numbered labels |
get-aggregate-balance |
Sum SOL across all user wallets |
get-wallet-deposit-address |
Get deposit address and funding instructions for a wallet |
get-wallet-transactions |
Paginated transfer history (buy/sell/transfer) for a wallet |
Market Making (13)
| Tool | Description |
|---|---|
mm-create-pool |
Create a wallet pool with N wallets grouped under a label (2-50 wallets) |
mm-list-pools |
List all wallet pools for the user |
mm-pool-status |
Aggregate status: per-wallet SOL and token balances, totals |
mm-fund-pool |
Distribute SOL from source wallet to all pool wallets. Supports multi-hop obfuscation (hops 0-3) |
mm-consolidate-pool |
Sweep all funds from pool wallets back to a single target wallet |
mm-start-session |
Start autonomous market making on a token with configurable strategy |
mm-stop-session |
Stop a running session. Positions are NOT auto-liquidated |
mm-pause-session |
Pause a session (retains position and config) |
mm-resume-session |
Resume a paused session from where it left off |
mm-session-status |
Detailed session stats: config, live data, recent trades |
mm-list-sessions |
List all sessions, optionally filter by status |
mm-update-strategy |
Hot-update strategy params on a running/paused session |
mm-get-pnl |
P&L report: WAC cost basis, realized/unrealized P&L, slippage-adjusted sell simulation, ROI% |
Sniping (7)
| Tool | Description |
|---|---|
snipe-start |
Create a monitor that auto-buys new tokens matching criteria (ticker pattern, market cap, risk filters) |
snipe-stop |
Stop a snipe monitor permanently |
snipe-pause |
Pause a snipe monitor (resume later) |
snipe-resume |
Resume a paused snipe monitor |
snipe-update |
Update criteria on an active or paused monitor |
snipe-status |
Detailed status including criteria, buy count, state |
snipe-list |
List all snipe monitors, optionally filter by status |
Stop Loss (4)
| Tool | Description |
|---|---|
stop-loss-set |
Create a stop-loss monitor. Auto-sells when market cap drops below trigger |
stop-loss-remove |
Remove a stop-loss monitor |
stop-loss-list |
List all stop-loss monitors |
stop-loss-status |
Detailed status of a specific stop-loss |
Vanity Addresses (4)
| Tool | Description |
|---|---|
estimate-vanity-cost |
Estimate credits for a vanity pattern before ordering |
order-vanity-address |
Order a vanity wallet or mint address (prefix, suffix, or contains) |
list-vanity-jobs |
List vanity mining jobs (newest first) |
get-vanity-job |
Check status of a specific vanity job. Wallet auto-added on completion |
Spam Launch (3)
| Tool | Description |
|---|---|
spam-launch |
Create multiple tokens in rapid succession from one wallet (1-100) |
estimate-spam-cost |
Estimate total SOL and credits for a spam launch |
cancel-spam-launch |
Cancel a running spam launch job |
Information (9)
| Tool | Description |
|---|---|
get-token-info |
Bonding curve state: price, market cap, graduation status |
get-token-market-info |
Rich analytics: volume, buy/sell counts, risk metrics (snipers, bundlers, insiders) |
list-my-tokens |
All tokens launched by the authenticated user |
get-token-holdings |
Which wallets hold a specific token. Omit mint to see ALL holdings |
get-wallet-balance |
Live SOL + token balances for a single wallet |
list-wallets |
All wallets with public keys, labels, derivation index |
get-creator-fees |
Check accumulated pump.fun creator fees. Omit address to check all wallets |
get-jito-tip-levels |
Current Jito MEV tip amounts per priority level (refreshed every 20s) |
Job Management (2)
| Tool | Description |
|---|---|
poll-job |
Check status of async operations. Poll every 2s until "completed" or "failed" |
cancel-job |
Cancel a running async job |
Workflows
1. Launch a Token
1. create-wallet (label: "launch-wallet")
2. Fund the wallet with SOL (use get-wallet-deposit-address for the address)
3. create-token (name, symbol, description, imageUrl)
4. poll-job (wait for "completed")
5. get-token-info (verify token is live)
2. Bundle Launch (Create + Multi-Wallet Buy)
1. create-wallet (dev wallet)
2. batch-create-wallets (count: 5, labelPrefix: "buyer")
3. Fund all wallets with SOL
4. estimate-bundle-cost (buyWalletCount: 5, devBuyAmountSol: "0.1", walletBuyAmounts)
5. bundle-launch (devWalletId, buyWalletIds, tokenParams, amounts, confirm: true)
6. poll-job (wait for "completed")
7. get-token-holdings (mint) -- verify all wallets hold the token
3. Buy and Sell Flow
1. list-wallets (find walletId with SOL balance)
2. get-token-quote (action: "buy", solAmount: "100000000") -- 0.1 SOL in lamports
3. buy-token (mint, walletId, amountSol: "0.1") -- decimal SOL string
4. get-token-holdings (mint) -- verify purchase
5. get-token-quote (action: "sell", tokenAmount from holdings)
6. sell-token (mint, walletId, tokenAmount or "all")
4. Market Making
1. mm-create-pool (label: "mm-pool", walletCount: 10)
2. mm-fund-pool (poolId, sourceWalletId, totalAmountSol: 2.5, hops: 2)
3. mm-pool-status (poolId) -- verify funding
4. mm-start-session (mint, walletPoolId, config: {
amountRange: ["5000000", "50000000"], -- 0.005 to 0.05 SOL in lamports
maxPositionSol: "1000000000", -- 1 SOL max
netBias: 0.5, -- balanced buys/sells
intervalRange: [10, 45], -- 10-45s between trades
confirm: true
})
5. mm-session-status (sessionId) -- monitor
6. mm-get-pnl (sessionId) -- check profitability
7. mm-stop-session (sessionId) -- when done
8. mm-consolidate-pool (poolId, targetWalletId) -- recover funds
5. Sniping New Tokens
1. list-wallets -- pick a funded wallet
2. snipe-start (walletId, tickerPattern: "PEPE*", buyAmountSol: 0.05, {
maxDevPercent: 10, -- filter rugs
maxSniperCount: 5, -- avoid crowded launches
maxBuys: 3, -- stop after 3 buys
confirm: true
})
3. snipe-status (monitorId) -- check matches
4. snipe-update (monitorId, ...) -- adjust criteria live
5. snipe-stop (monitorId) -- when done
6. Stop Loss Protection
1. get-token-holdings (mint) -- confirm position
2. get-token-market-info (mint) -- check current market cap
3. stop-loss-set (walletId, mint, triggerMarketCapSol: 5.0, confirm: true)
4. stop-loss-status (stopLossId) -- verify active
5. stop-loss-remove (stopLossId) -- cancel if no longer needed
7. Check Portfolio
1. list-wallets -- see all wallets
2. get-aggregate-balance -- total SOL across wallets
3. get-token-holdings -- all token positions (omit mint for everything)
4. get-token-market-info (per mint) -- current prices and risk metrics
8. Claim Creator Fees
1. get-creator-fees -- check all wallets for accumulated fees
2. claim-creator-fees (creatorAddress)
3. get-wallet-balance (walletId) -- verify SOL increased
9. Transfer SOL Out
1. get-wallet-balance (walletId) -- check available SOL
2. transfer-sol (walletId, toAddress, amountSol: "1.0", dryRun: true) -- preview
3. transfer-sol (walletId, toAddress, amountSol: "1.0", confirm: true) -- execute
10. Vanity Address
1. estimate-vanity-cost (pattern: "PUMP", patternType: "prefix")
2. order-vanity-address (pattern: "PUMP", patternType: "prefix")
3. get-vanity-job (jobId) -- poll until "completed"
4. list-wallets -- new vanity wallet appears automatically
Safety Guardrails
All trading actions require explicit user confirmation before execution.
-
Always check balances first. Run
get-wallet-balanceorget-aggregate-balancebefore any trade or transfer. -
Use quotes before trading. Call
get-token-quoteto preview expected output and price impact. -
Confirm large trades explicitly. Bundle operations, MM sessions, and snipe monitors all require
confirm: true. Review parameters first. -
Verify addresses on transfers. Double-check destination addresses. Transfers are irreversible on Solana.
-
Use dryRun for transfers. Both
transfer-solandtransfer-tokensupportdryRun: true. -
Check risk metrics. Use
get-token-market-infoto check sniper count, bundler activity, and insider percentage before buying. -
Set stop-losses. Use
stop-loss-setto protect positions from sudden drops. -
Bundle slippage.
bundle-launchpacks multiple wallets per TX. Use 2500+ bps slippage (25%) for bundles, not the default 500 bps. -
MM drawdown. Market making sessions have a
maxDrawdownPercentcircuit breaker (default 15%). Session auto-stops if losses exceed this. -
Transfer cap.
transfer-solhas a 10 SOL cap per call. Split larger amounts into multiple calls. -
Monitor async ops. After
create-token,bundle-launch, orspam-launch, poll every 2 seconds. Jobs expire after 10 minutes.
Key Concepts
- SOL amounts:
amountSolparams accept decimal SOL strings ("0.1"= 0.1 SOL). NOT lamports. - Lamports: Some params (
get-token-quotesolAmount,mm-start-sessionamountRange) use lamports as integer strings (1 SOL = 1,000,000,000). - Token base units: Token amounts use raw base units. Use the exact
"amount"string fromget-token-holdings. - Custodial wallets: HD-derived, managed by the platform. Cannot import external keys.
- Bonding curve: pump.fun tokens trade on a bonding curve until graduation to PumpSwap.
bundle-sellonly works on bonding curve tokens. - Jito bundles: Atomic, same-block execution. First bundle is guaranteed atomic; overflow wallets go into subsequent bundles.
- Wallet pools: Groups of wallets for market making. Multi-hop funding breaks on-chain clustering.
Links
- Website: openpump.io
- npm: @openpump/mcp
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!