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
- 1. Sign up at openpump.io
- Go to Dashboard > API Keys
- Create a new key (starts with
op_sk_live_)
2. Set the Environment Variable
CODEBLOCK0
3. Add MCP Server
Claude Code (HTTP transport -- no local process):
CODEBLOCK1
Claude Desktop / any MCP client (stdio via npx):
CODEBLOCK2
HTTP transport (remote, no local process):
CODEBLOCK3
Available Tools (57)
Token Creation (2)
| Tool | Description |
|---|
| INLINECODE1 | Launch a new token on pump.fun with name, symbol, description, and image |
| INLINECODE2 |
Atomically create a token AND coordinate multi-wallet buys via Jito bundles |
Trading (7)
| Tool | Description |
|---|
| INLINECODE3 | Buy a pump.fun token with SOL (single wallet). amountSol is a decimal SOL string (e.g. "0.1") |
| INLINECODE6 |
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 |
|---|
| INLINECODE14 | Send SOL to any Solana address. amountSol is decimal SOL string. 10 SOL cap per call. Supports INLINECODE16 |
| INLINECODE17 |
Send SPL tokens to any Solana address.
tokenAmount in raw base units or
"all" |
Wallet Management (5)
| Tool | Description |
|---|
| INLINECODE20 | Create a new HD-derived custodial wallet with optional label |
| INLINECODE21 |
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 |
|---|
| INLINECODE25 | Create a wallet pool with N wallets grouped under a label (2-50 wallets) |
| INLINECODE26 |
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 |
|---|
| INLINECODE38 | Create a monitor that auto-buys new tokens matching criteria (ticker pattern, market cap, risk filters) |
| INLINECODE39 |
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 |
|---|
| INLINECODE45 | Create a stop-loss monitor. Auto-sells when market cap drops below trigger |
| INLINECODE46 |
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 |
|---|
| INLINECODE49 | Estimate credits for a vanity pattern before ordering |
| INLINECODE50 |
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 |
|---|
| INLINECODE53 | Create multiple tokens in rapid succession from one wallet (1-100) |
| INLINECODE54 |
Estimate total SOL and credits for a spam launch |
|
cancel-spam-launch | Cancel a running spam launch job |
Information (9)
| Tool | Description |
|---|
| INLINECODE56 | Bonding curve state: price, market cap, graduation status |
| INLINECODE57 |
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 |
|---|
| INLINECODE64 | Check status of async operations. Poll every 2s until "completed" or "failed" |
| INLINECODE65 |
Cancel a running async job |
Workflows
1. Launch a Token
CODEBLOCK4
2. Bundle Launch (Create + Multi-Wallet Buy)
CODEBLOCK5
3. Buy and Sell Flow
CODEBLOCK6
4. Market Making
CODEBLOCK7
5. Sniping New Tokens
CODEBLOCK8
6. Stop Loss Protection
CODEBLOCK9
7. Check Portfolio
CODEBLOCK10
8. Claim Creator Fees
CODEBLOCK11
9. Transfer SOL Out
CODEBLOCK12
10. Vanity Address
CODEBLOCK13
Safety Guardrails
All trading actions require explicit user confirmation before execution.
- 1. Always check balances first. Run
get-wallet-balance or get-aggregate-balance before any trade or transfer.
- 2. Use quotes before trading. Call
get-token-quote to preview expected output and price impact.
- 3. Confirm large trades explicitly. Bundle operations, MM sessions, and snipe monitors all require
confirm: true. Review parameters first.
- 4. Verify addresses on transfers. Double-check destination addresses. Transfers are irreversible on Solana.
- 5. Use dryRun for transfers. Both
transfer-sol and transfer-token support dryRun: true.
- 6. Check risk metrics. Use
get-token-market-info to check sniper count, bundler activity, and insider percentage before buying.
- 7. Set stop-losses. Use
stop-loss-set to protect positions from sudden drops.
- 8. Bundle slippage.
bundle-launch packs multiple wallets per TX. Use 2500+ bps slippage (25%) for bundles, not the default 500 bps.
- 9. MM drawdown. Market making sessions have a
maxDrawdownPercent circuit breaker (default 15%). Session auto-stops if losses exceed this.
- 10. Transfer cap.
transfer-sol has a 10 SOL cap per call. Split larger amounts into multiple calls.
- 11. Monitor async ops. After
create-token, bundle-launch, or spam-launch, poll every 2 seconds. Jobs expire after 10 minutes.
Key Concepts
- - SOL amounts:
amountSol params accept decimal SOL strings ("0.1" = 0.1 SOL). NOT lamports. - Lamports: Some params (
get-token-quote solAmount, mm-start-session amountRange) 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 from get-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-sell only 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
OpenPump MCP 服务器
通过 MCP 交易 pump.fun 代币、管理 Solana 钱包、运行做市机器人、狙击新代币以及监控持仓。
设置
1. 获取 API 密钥
- 1. 在 openpump.io 注册
- 进入 控制台 > API 密钥
- 创建新密钥(以 opsklive 开头)
2. 设置环境变量
bash
export OPENPUMPAPIKEY=opskliveYOURKEY_HERE
3. 添加 MCP 服务器
Claude Code(HTTP 传输——无本地进程):
bash
claude mcp add --transport http openpump https://openpump.io/api/mcp \
--header Authorization: Bearer opskliveYOURKEY_HERE
Claude Desktop / 任何 MCP 客户端(通过 npx 的 stdio):
json
{
mcpServers: {
openpump: {
command: npx,
args: [-y, @openpump/mcp@latest],
env: {
OPENPUMPAPIKEY: opskliveYOURKEY_HERE
}
}
}
}
HTTP 传输(远程,无本地进程):
json
{
mcpServers: {
openpump: {
url: https://mcp.openpump.io/mcp,
headers: {
Authorization: Bearer ${OPENPUMPAPIKEY}
}
}
}
}
可用工具(57 个)
代币创建(2 个)
| 工具 | 描述 |
|---|
| create-token | 在 pump.fun 上使用名称、符号、描述和图片启动新代币 |
| bundle-launch |
原子化创建代币并通过 Jito 捆绑包协调多钱包买入 |
交易(7 个)
| 工具 | 描述 |
|---|
| buy-token | 使用 SOL 购买 pump.fun 代币(单钱包)。amountSol 是十进制 SOL 字符串(例如 0.1) |
| sell-token |
将代币持仓卖回为 SOL。使用 tokenAmount: all 卖出全部余额 |
| bundle-buy | 通过 Jito 捆绑包多钱包买入现有代币 |
| bundle-sell | 打包成 Jito 捆绑包的多钱包卖出(仅限联合曲线代币) |
| get-token-quote | 不执行交易的买入或卖出价格报价。买入时 solAmount 为 lamports 字符串 |
| estimate-bundle-cost | 在执行前预览捆绑启动所需的 SOL 总量 |
| claim-creator-fees | 领取钱包地址累积的 pump.fun 创建者费用 |
转账(2 个)
| 工具 | 描述 |
|---|
| transfer-sol | 向任何 Solana 地址发送 SOL。amountSol 是十进制 SOL 字符串。每次调用上限 10 SOL。支持 dryRun |
| transfer-token |
向任何 Solana 地址发送 SPL 代币。tokenAmount 为原始基础单位或 all |
钱包管理(5 个)
| 工具 | 描述 |
|---|
| create-wallet | 创建新的 HD 派生托管钱包,可添加可选标签 |
| batch-create-wallets |
一次性创建 2-50 个钱包,带自动编号标签 |
| get-aggregate-balance | 汇总所有用户钱包中的 SOL |
| get-wallet-deposit-address | 获取钱包的充值地址和充值说明 |
| get-wallet-transactions | 钱包的分页转账历史记录(买入/卖出/转账) |
做市(13 个)
| 工具 | 描述 |
|---|
| mm-create-pool | 创建包含 N 个钱包的钱包池,分组在一个标签下(2-50 个钱包) |
| mm-list-pools |
列出用户的所有钱包池 |
| mm-pool-status | 聚合状态:每个钱包的 SOL 和代币余额、总计 |
| mm-fund-pool | 从源钱包向所有池钱包分配 SOL。支持多跳混淆(跳数 0-3) |
| mm-consolidate-pool | 将所有资金从池钱包归集回单个目标钱包 |
| mm-start-session | 使用可配置策略在代币上启动自动做市 |
| mm-stop-session | 停止正在运行的会话。持仓不会自动清算 |
| mm-pause-session | 暂停会话(保留持仓和配置) |
| mm-resume-session | 从暂停处恢复会话 |
| mm-session-status | 详细的会话统计:配置、实时数据、近期交易 |
| mm-list-sessions | 列出所有会话,可选择按状态筛选 |
| mm-update-strategy | 在运行/暂停的会话上热更新策略参数 |
| mm-get-pnl | 盈亏报告:WAC 成本基础、已实现/未实现盈亏、滑点调整卖出模拟、ROI% |
狙击(7 个)
| 工具 | 描述 |
|---|
| snipe-start | 创建监控器,自动买入符合条件的新代币(代码模式、市值、风险过滤器) |
| snipe-stop |
永久停止狙击监控器 |
| snipe-pause | 暂停狙击监控器(稍后恢复) |
| snipe-resume | 恢复暂停的狙击监控器 |
| snipe-update | 更新活动或暂停监控器的条件 |
| snipe-status | 详细状态,包括条件、买入次数、状态 |
| snipe-list | 列出所有狙击监控器,可选择按状态筛选 |
止损(4 个)
| 工具 | 描述 |
|---|
| stop-loss-set | 创建止损监控器。当市值跌破触发值时自动卖出 |
| stop-loss-remove |
移除止损监控器 |
| stop-loss-list | 列出所有止损监控器 |
| stop-loss-status | 特定止损的详细状态 |
靓号地址(4 个)
| 工具 | 描述 |
|---|
| estimate-vanity-cost | 在下单前估算靓号模式的积分成本 |
| order-vanity-address |
订购靓号钱包或铸币地址(前缀、后缀或包含) |
| list-vanity-jobs | 列出靓号挖掘任务(最新优先) |
| get-vanity-job | 检查特定靓号任务的状态。完成后钱包自动添加 |
批量发射(3 个)
| 工具 | 描述 |
|---|
| spam-launch | 从一个钱包快速连续创建多个代币(1-100 个) |
| estimate-spam-cost |
估算批量发射所需的 SOL 和积分总量 |
| cancel-spam-launch | 取消正在运行的批量发射任务 |
信息(9 个)
| 工具 | 描述 |
|---|
| get-token-info | 联合曲线状态:价格、市值、毕业状态 |
| get-token-market-info |
丰富分析:成交量、买入/卖出次数、风险指标(狙击者、捆绑者、内幕者) |
| list-my-tokens | 认证用户启动的所有代币 |
| get-token-holdings | 哪些钱包持有特定代币。省略铸币地址可查看所有持仓 |
| get-wallet-balance | 单个钱包的实时 SOL + 代币余额 |
| list-wallets | 所有钱包及其公钥、标签、派生索引 |
| get-creator-fees | 检查累积的 pump.fun 创建者费用。省略地址可检查所有钱包 |
| get-jito-tip-levels | 每个优先级级别的当前 Jito MEV 小费金额(每 20 秒刷新) |
任务管理(2 个)
| 工具 | 描述 |
|---|
| poll-job | 检查异步操作的状态。每 2 秒轮询一次,直到已完成或失败 |
| cancel-job |
取消正在运行的异步任务 |
工作流程
1. 启动代币
- 1. create-wallet(标签:launch-wallet)
- 用 SOL 充值钱包(使用 get-wallet-deposit-address 获取地址)
- create-token(名称、符号、描述