A production-ready MCP server for Solana blockchain trading operations using PumpPortal Lightning API
Project description
Pump Portal MCP Server 🚀
A production-ready Model Context Protocol (MCP) server that provides Solana blockchain trading operations through PumpPortal Lightning API. Create wallets, launch tokens, and execute trades with reliable transaction handling.
✨ Features
- 🏦 Wallet Management: Create secure trading wallets with API keys
- 🪙 Token Creation: Launch new SPL tokens with metadata and social links
- 💰 Trading Operations: Buy and sell tokens across multiple DEXs
- 💸 Fee Collection: Claim creator fees from token trading activity
- 🔄 Lightning API: Reliable transaction execution via PumpPortal infrastructure
- 🛡️ Production Ready: Comprehensive error handling, logging, and validation
- 📊 Trading Resources: Access wallet info and trading status via MCP resources
🚀 Quick Start
Prerequisites
- PumpPortal API Key - Create a wallet using the
create_wallettool - Python 3.11+ (for development only)
Installation
Option 1: Using uvx (Recommended)
uvx pump-portal-mcp-server@latest
Option 2: From Source (for development)
git clone https://github.com/pump-portal/pump-portal-mcp-server.git
cd pump-portal-mcp-server
uv sync
🔧 Configuration
Claude Code (VS Code Extension)
Install and configure in VS Code:
- Install the Claude Code extension
- Open Command Palette (
Cmd/Ctrl + Shift + P) - Run "Claude Code: Add MCP Server"
- Configure with this simple setup:
{
"name": "pump-portal",
"config": {
"command": "uvx",
"args": [
"pump-portal-mcp-server@latest"
],
"env": {
"API_KEY": "your-pumpportal-api-key-here"
}
}
}
Getting your API key:
You have three options to get your API key:
Option 1: Use the create_wallet tool (Recommended)
- Start the server temporarily without an API key
- Use the
create_wallettool to generate a new wallet - Copy the
apiKeyfrom the response - Update your configuration with the API key
- Restart the server
Option 2: Use PumpPortal web interface
- Visit https://pumpportal.fun/trading-api/setup
- Click 'Create Wallet'
- Copy the
apiKeyfrom the response - Update your configuration with the API key
Option 3: Use curl command
curl 'https://pumpportal.fun/api/create-wallet'
Copy the apiKey from the response and update your configuration.
🛠️ Available Tools
Wallet Operations
create_wallet
Create a new trading wallet and API key.
Returns:
apiKey: For Lightning API operationswalletPublicKey: Public key for receiving fundsprivateKey: Keep secure for wallet access
Token Operations
create_token
Launch a new SPL token on PumpPortal.
Parameters:
name: Token namesymbol: Token ticker (1-10 chars)description: Token descriptiondev_buy_amount: SOL amount for initial buy (min 0.01)image_base64: Token icon (base64 encoded, optional)twitter: Twitter URL (optional)telegram: Telegram URL (optional)website: Website URL (optional)slippage: Slippage percentage (default: 10)priority_fee: Priority fee in SOL (default: 0.0005)
Example:
create_token(
name="My Token",
symbol="MTK",
description="A revolutionary token",
dev_buy_amount=0.1,
twitter="https://twitter.com/mytoken",
website="https://mytoken.com"
)
Trading Operations
buy_token
Buy tokens using Lightning API.
Parameters:
mint: Token contract addressamount: Amount to tradedenominated_in_sol: "true" for SOL amount, "false" for token countslippage: Slippage percentage (default: 10)priority_fee: Priority fee in SOL (default: 0.0005)pool: Exchange pool (pump, raydium, pump-amm, launchlab, raydium-cpmm, bonk, auto)
sell_token
Sell tokens using Lightning API.
Parameters:
mint: Token contract addressamount: Amount to trade (can be "100%" to sell all)denominated_in_sol: "true" for SOL amount, "false" for token countslippage: Slippage percentage (default: 10)priority_fee: Priority fee in SOL (default: 0.0005)pool: Exchange pool (pump, raydium, pump-amm, launchlab, raydium-cpmm, bonk, auto)
claim_fees
Claim creator fees from trading activity.
Parameters:
pool: Pool type ("pump" or "meteora-dbc")mint: Token address (required for meteora-dbc)priority_fee: Priority fee in SOL (default: 0.000001)
📊 Available Resources
Wallet Information
pumpportal://wallet/current- Current wallet configuration and statuspumpportal://status/trading- Trading service capabilities and settings
💡 Available Prompts
Trading Guidance
token_launch_checklist- Comprehensive token launch checklisttrading_strategy_guide- Trading strategies and risk managementportfolio_management- Portfolio diversification and management
⚙️ Environment Variables
# Required
API_KEY=your-pumpportal-api-key-here
# Optional
DEFAULT_SLIPPAGE=10 # Default slippage percentage
DEFAULT_PRIORITY_FEE=0.0005 # Default priority fee in SOL
DEFAULT_POOL=pump # Default exchange pool
API_TIMEOUT=30 # API request timeout (seconds)
LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR
LOG_FORMAT=standard # standard, json, detailed
🔄 Pool Types
- pump: Pump.fun tokens (high volatility, new launches)
- raydium: Established tokens with better liquidity
- pump-amm: Automated market maker for pump tokens
- launchlab: LaunchLab platform tokens
- raydium-cpmm: Raydium constant product market maker
- bonk: Bonk ecosystem tokens
- auto: Automatic pool selection based on best conditions
🐛 Troubleshooting
Common Issues
"API_KEY not set"
- Use one of these methods to get your API key:
- Use the
create_wallettool to generate a new wallet - Visit https://pumpportal.fun/trading-api/setup and click 'Create Wallet'
- Run
curl 'https://pumpportal.fun/api/create-wallet'
- Use the
- Add the returned
apiKeyto your configuration - Restart the MCP server
"Trading failed" errors
- Check your wallet has sufficient SOL balance
- Verify the token mint address is correct
- Adjust slippage settings for volatile markets
- Ensure priority fee is adequate for network conditions
"Token creation failed"
- Verify dev buy amount is at least 0.01 SOL
- Check token name and symbol are valid
- Ensure image is properly base64 encoded if provided
- Verify all URLs are valid and accessible
Development Setup
For local development:
# Clone repository
git clone https://github.com/pump-portal/pump-portal-mcp-server.git
cd pump-portal-mcp-server
# Install with uv
uv sync
# Set environment (create wallet first to get API key)
export API_KEY=your-api-key-here
# Run locally
uv run python -m pump_portal_mcp_server.server
⚠️ Risk Disclaimer
Trading cryptocurrencies involves substantial risk of loss and is not suitable for all investors. The Pump Portal MCP Server is a tool for executing trades and does not provide financial advice. Always:
- Do your own research before trading
- Never invest more than you can afford to lose
- Understand the risks of cryptocurrency trading
- Consider consulting with a financial advisor
📄 License
MIT License - see LICENSE for details.
🆘 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- PumpPortal: PumpPortal.fun
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pump_portal_mcp_server-0.1.2.tar.gz.
File metadata
- Download URL: pump_portal_mcp_server-0.1.2.tar.gz
- Upload date:
- Size: 198.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6e2addf2d4e019fe728dcb58b65189e8729e3f598980cfdb756f8ee5918a873
|
|
| MD5 |
9293f3e71b4fd0900035522f0cb90f26
|
|
| BLAKE2b-256 |
01e94803b0b63ee5ea0572d13bd5c4e017414023f73803018655afe7e4643903
|
File details
Details for the file pump_portal_mcp_server-0.1.2-py3-none-any.whl.
File metadata
- Download URL: pump_portal_mcp_server-0.1.2-py3-none-any.whl
- Upload date:
- Size: 82.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b3e8e3be090d2d59b8d9d6693ce89530f5f036d85e2f1f816651de2af1b7fda
|
|
| MD5 |
78ea221f66200934929f1a1e845d3478
|
|
| BLAKE2b-256 |
852253864f2e7264162722e166cc01826ad38361c5bb408c038c0ddeba4ae06f
|