@openpump/mcp
v1.2.2
Published
OpenPump MCP server for Solana token operations on pump.fun - works with Claude Desktop, Cursor, and any MCP client
Maintainers
Readme
@openpump/mcp
MCP (Model Context Protocol) server for Solana token operations on pump.fun via OpenPump. Works with Claude Desktop, Claude Code, Cursor, and any MCP-compatible client.
Features
- 57 tools for token creation, trading, transfers, wallet management, and market data
- Dual transport: stdio (for
npx/ Claude Desktop) and HTTP (for remote deployment) - API key authentication via the OpenPump REST API -- no database required
- Zero workspace dependencies -- installable from npm without access to the monorepo
Quick Start
1. Get an API Key
Sign up at openpump.io and generate an API key from Settings. Keys start with op_sk_live_.
2. Auto-configure (recommended)
The CLI installer detects installed AI clients, prompts for your API key, and writes the correct config files automatically:
npx @openpump/mcp initOr pass the key directly:
npx @openpump/mcp init --api-key op_sk_live_abc123Supported clients: Claude Desktop (macOS, Windows, Linux), Cursor, Claude Code.
The installer:
- Detects which clients are installed on your system
- Lets you choose which ones to configure
- Merges the OpenPump entry into existing config without overwriting other MCP servers
- Creates config directories and files if they don't exist
- Warns before overwriting an existing OpenPump entry
Run npx @openpump/mcp init --help for all options.
3. Run via npx (manual)
If you prefer to set up manually, run the MCP server directly:
OPENPUMP_API_KEY=op_sk_live_abc123 npx @openpump/mcpClient Setup (Manual)
If you prefer manual configuration over npx @openpump/mcp init, add the following to each client's config file.
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"openpump": {
"command": "npx",
"args": ["-y", "@openpump/mcp@latest"],
"env": {
"OPENPUMP_API_KEY": "op_sk_live_..."
}
}
}
}Claude Code
Use the CLI or add to .claude/settings.json:
claude mcp add openpump --transport stdio -- npx -y @openpump/mcp@latestOr manually add to .claude/settings.json in your project or ~/.claude/settings.json globally:
{
"mcpServers": {
"openpump": {
"command": "npx",
"args": ["-y", "@openpump/mcp@latest"],
"env": {
"OPENPUMP_API_KEY": "op_sk_live_..."
}
}
}
}Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"openpump": {
"command": "npx",
"args": ["-y", "@openpump/mcp@latest"],
"env": {
"OPENPUMP_API_KEY": "op_sk_live_..."
}
}
}
}HTTP Transport
For remote deployments or multi-tenant setups, use the HTTP transport:
OPENPUMP_API_URL=https://openpump.io PORT=3001 node -e "import('@openpump/mcp/http')"Or when installed locally:
npm start:httpThe HTTP transport exposes POST /mcp, GET /mcp, and DELETE /mcp endpoints with per-request API key authentication via Authorization: Bearer or x-api-key headers.
Environment Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| OPENPUMP_API_KEY | Yes (stdio) | -- | Your OpenPump API key (op_sk_live_...) |
| OPENPUMP_API_URL | No | https://openpump.io | OpenPump API base URL |
| PORT | No | 3001 | HTTP transport port |
| MCP_SESSION_TTL_HOURS | No | 4 | HTTP session idle timeout (hours) |
Available Tools (57)
Token Creation & Trading (8)
| Tool | Description |
|------|-------------|
| create-token | Create a new token on pump.fun |
| bundle-launch | Create token + coordinated multi-wallet buy via Jito bundles |
| bundle-buy | Coordinated multi-wallet buy via Jito bundles |
| bundle-sell | Coordinated multi-wallet sell via Jito bundles |
| buy-token | Buy a token with SOL (single wallet) |
| sell-token | Sell a token back to SOL |
| estimate-bundle-cost | Preview bundle costs without executing |
| claim-creator-fees | Claim accumulated PumpFun creator fees |
Transfers (2)
| Tool | Description |
|------|-------------|
| transfer-sol | Send SOL to any Solana address (10 SOL cap per call) |
| transfer-token | Send SPL tokens to any Solana address |
Wallet Management (7)
| Tool | Description |
|------|-------------|
| create-wallet | Create a new HD-derived custodial wallet |
| batch-create-wallets | Create 2-50 wallets in one action with auto-numbered labels |
| list-wallets | List all wallets with public keys, labels, and derivation index |
| get-wallet-balance | Get SOL + token balances for a wallet |
| get-aggregate-balance | Get total SOL across all wallets |
| get-wallet-deposit-address | Get deposit address and funding instructions |
| get-wallet-transactions | Paginated transfer history for a wallet |
Market Data & Info (7)
| Tool | Description |
|------|-------------|
| get-token-info | Token metadata: price, market cap, bonding curve progress, graduation status |
| get-token-market-info | Rich analytics: volume, buy/sell counts, price changes, risk metrics |
| get-token-holdings | Which wallets hold a specific token (or all holdings across all wallets) |
| get-token-quote | Price quote for buy or sell without executing |
| list-my-tokens | All tokens launched by the authenticated user |
| get-creator-fees | Check accumulated PumpFun creator fees |
| get-jito-tip-levels | Current Jito MEV tip amounts per priority level |
Vanity Addresses (4)
| Tool | Description |
|------|-------------|
| estimate-vanity-cost | Estimate credit cost for a vanity address pattern |
| order-vanity-address | Order a custom vanity Solana wallet or mint address |
| list-vanity-jobs | List all vanity address generation jobs |
| get-vanity-job | Get status of a specific vanity job |
Market Making (13)
| Tool | Description |
|------|-------------|
| mm-create-pool | Create a wallet pool for market making (2-50 wallets) |
| mm-fund-pool | Distribute SOL to pool wallets (optional multi-hop obfuscation) |
| mm-pool-status | Aggregate pool view: per-wallet SOL + token balances |
| mm-consolidate-pool | Sweep all funds from pool wallets to a single target |
| mm-list-pools | List all wallet pools |
| mm-start-session | Start autonomous market making on a token |
| mm-stop-session | Stop a running session |
| mm-pause-session | Pause a session (retains position and config) |
| mm-resume-session | Resume a paused session |
| mm-session-status | Session stats: trades, P&L, position |
| mm-list-sessions | List all sessions (filter by status) |
| mm-update-strategy | Hot-update strategy params on a running session |
| mm-get-pnl | Detailed P&L: cost basis, realized/unrealized, ROI |
Sniping (7)
| Tool | Description |
|------|-------------|
| snipe-start | Start a snipe monitor that auto-buys new tokens matching criteria |
| snipe-stop | Stop a snipe monitor permanently |
| snipe-pause | Pause a snipe monitor |
| snipe-resume | Resume a paused snipe monitor |
| snipe-update | Update criteria on an active or paused monitor |
| snipe-status | Get monitor status and criteria |
| snipe-list | List all snipe monitors |
Stop-Loss (4)
| Tool | Description |
|------|-------------|
| stop-loss-set | Set a stop-loss that 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 | Get status of a specific stop-loss |
Spam Launch (3)
| Tool | Description |
|------|-------------|
| spam-launch | Launch multiple tokens in rapid succession from a single wallet |
| estimate-spam-cost | Estimate SOL + credit cost for a spam campaign |
| cancel-spam-launch | Cancel a running spam launch |
Jobs (2)
| Tool | Description |
|------|-------------|
| poll-job | Check status of an async job (token creation, trades, bundles) |
| cancel-job | Cancel a running async orchestration job |
Devnet
To test against Solana devnet (no real funds), point the MCP server at the devnet instance:
OPENPUMP_API_KEY=op_sk_live_... OPENPUMP_API_URL=https://devnet.openpump.io npx @openpump/mcpOr configure your client to use the devnet HTTP endpoint directly:
Claude Desktop / Cursor:
{
"mcpServers": {
"openpump-devnet": {
"url": "https://devnet.openpump.io/api/mcp",
"headers": { "Authorization": "Bearer op_sk_live_..." }
}
}
}Claude Code:
claude mcp add --transport http openpump-devnet https://devnet.openpump.io/api/mcp \
--header "Authorization: Bearer op_sk_live_..."Devnet API keys are created at devnet.openpump.io and are separate from mainnet keys.
Development
# Install dependencies
pnpm install
# Run in dev mode (auto-reload)
pnpm run dev
# Build
pnpm run build
# Run tests
pnpm run test
# Type check
pnpm run typecheck
# Lint
pnpm run lintLicense
MIT
