# 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
1. **PumpPortal API Key** - Create a wallet using the `create_wallet` tool
2. **Python 3.11+** (for development only)
### Installation/Configuration
### Add This To Your MCP Configuration
```json
"pump-portal":{
"command": "uvx",
"args": [
"pump-portal-mcp-server@latest"
],
"env": {
"API_KEY": "your-pumpportal-api-key-here"
}
}
```
Optionally, you can add these other env variables if you wish:
```bash
# 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
```
**Getting your API key:**
You have three options to get your API key:
**Option 1: Use the create_wallet tool (Recommended)**
1. Start the server temporarily without an API key
2. Use the `create_wallet` tool to generate a new wallet
3. Copy the `apiKey` from the response
4. Update your configuration with the API key
5. Restart the server
**Option 2: Use PumpPortal web interface**
1. Visit https://pumpportal.fun/trading-api/setup
2. Click 'Create Wallet'
3. Copy the `apiKey` from the response
4. Update your configuration with the API key
**Option 3: Use curl command**
```bash
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 operations
- `walletPublicKey`: Public key for receiving funds
- `privateKey`: Keep secure for wallet access
### Token Operations
#### `create_token`
Launch a new SPL token on PumpPortal.
**Parameters:**
- `name`: Token name
- `symbol`: Token ticker (1-10 chars)
- `description`: Token description
- `dev_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:**
```python
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 address
- `amount`: Amount to trade
- `denominated_in_sol`: "true" for SOL amount, "false" for token count
- `slippage`: 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 address
- `amount`: Amount to trade (can be "100%" to sell all)
- `denominated_in_sol`: "true" for SOL amount, "false" for token count
- `slippage`: 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 status
- `pumpportal://status/trading` - Trading service capabilities and settings
## 💡 Available Prompts
### Trading Guidance
- `token_launch_checklist` - Comprehensive token launch checklist
- `trading_strategy_guide` - Trading strategies and risk management
- `portfolio_management` - Portfolio diversification and management
## ⚙️ Environment Variables
```bash
# 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_wallet` tool to generate a new wallet
- Visit https://pumpportal.fun/trading-api/setup and click 'Create Wallet'
- Run `curl 'https://pumpportal.fun/api/create-wallet'`
- Add the returned `apiKey` to 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:
```bash
# 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](LICENSE) for details.
## 🆘 Support
- **Issues**: [GitHub Issues](https://github.com/pump-portal/pump-portal-mcp-server/issues)
- **Discussions**: [GitHub Discussions](https://github.com/pump-portal/pump-portal-mcp-server/discussions)
- **PumpPortal**: [PumpPortal.fun](https://pumpportal.fun)
Raw data
{
"_id": null,
"home_page": null,
"name": "pump-portal-mcp-server",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "blockchain, fastmcp, mcp, pumpportal, solana, trading",
"author": null,
"author_email": "Pump Portal Team <team@pumpportal.dev>",
"download_url": "https://files.pythonhosted.org/packages/d2/91/ac3d20a6f3652302d896e4bad0594f60dfe0bbba948abf5526b663909f5a/pump_portal_mcp_server-0.2.3.tar.gz",
"platform": null,
"description": "# Pump Portal MCP Server \ud83d\ude80\n\nA 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.\n\n## \u2728 Features\n\n- \ud83c\udfe6 **Wallet Management**: Create secure trading wallets with API keys\n- \ud83e\ude99 **Token Creation**: Launch new SPL tokens with metadata and social links\n- \ud83d\udcb0 **Trading Operations**: Buy and sell tokens across multiple DEXs\n- \ud83d\udcb8 **Fee Collection**: Claim creator fees from token trading activity\n- \ud83d\udd04 **Lightning API**: Reliable transaction execution via PumpPortal infrastructure\n- \ud83d\udee1\ufe0f **Production Ready**: Comprehensive error handling, logging, and validation\n- \ud83d\udcca **Trading Resources**: Access wallet info and trading status via MCP resources\n\n## \ud83d\ude80 Quick Start\n\n### Prerequisites\n\n1. **PumpPortal API Key** - Create a wallet using the `create_wallet` tool\n2. **Python 3.11+** (for development only)\n\n### Installation/Configuration\n\n### Add This To Your MCP Configuration\n\n```json\n\n \"pump-portal\":{\n \"command\": \"uvx\",\n \"args\": [\n \"pump-portal-mcp-server@latest\"\n ],\n \"env\": {\n \"API_KEY\": \"your-pumpportal-api-key-here\"\n }\n }\n```\n\nOptionally, you can add these other env variables if you wish:\n\n```bash\n# Optional\nDEFAULT_SLIPPAGE=10 # Default slippage percentage\nDEFAULT_PRIORITY_FEE=0.0005 # Default priority fee in SOL\nDEFAULT_POOL=pump # Default exchange pool\nAPI_TIMEOUT=30 # API request timeout (seconds)\nLOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR\nLOG_FORMAT=standard # standard, json, detailed\n```\n\n**Getting your API key:**\n\nYou have three options to get your API key:\n\n**Option 1: Use the create_wallet tool (Recommended)**\n1. Start the server temporarily without an API key\n2. Use the `create_wallet` tool to generate a new wallet\n3. Copy the `apiKey` from the response\n4. Update your configuration with the API key\n5. Restart the server\n\n**Option 2: Use PumpPortal web interface**\n1. Visit https://pumpportal.fun/trading-api/setup\n2. Click 'Create Wallet'\n3. Copy the `apiKey` from the response\n4. Update your configuration with the API key\n\n**Option 3: Use curl command**\n```bash\ncurl 'https://pumpportal.fun/api/create-wallet'\n```\nCopy the `apiKey` from the response and update your configuration.\n\n## \ud83d\udee0\ufe0f Available Tools\n\n### Wallet Operations\n\n#### `create_wallet`\nCreate a new trading wallet and API key.\n\n**Returns:**\n- `apiKey`: For Lightning API operations\n- `walletPublicKey`: Public key for receiving funds\n- `privateKey`: Keep secure for wallet access\n\n### Token Operations\n\n#### `create_token`\nLaunch a new SPL token on PumpPortal.\n\n**Parameters:**\n- `name`: Token name\n- `symbol`: Token ticker (1-10 chars)\n- `description`: Token description\n- `dev_buy_amount`: SOL amount for initial buy (min 0.01)\n- `image_base64`: Token icon (base64 encoded, optional)\n- `twitter`: Twitter URL (optional)\n- `telegram`: Telegram URL (optional)\n- `website`: Website URL (optional)\n- `slippage`: Slippage percentage (default: 10)\n- `priority_fee`: Priority fee in SOL (default: 0.0005)\n\n**Example:**\n```python\ncreate_token(\n name=\"My Token\",\n symbol=\"MTK\",\n description=\"A revolutionary token\",\n dev_buy_amount=0.1,\n twitter=\"https://twitter.com/mytoken\",\n website=\"https://mytoken.com\"\n)\n```\n\n### Trading Operations\n\n#### `buy_token`\nBuy tokens using Lightning API.\n\n**Parameters:**\n- `mint`: Token contract address\n- `amount`: Amount to trade\n- `denominated_in_sol`: \"true\" for SOL amount, \"false\" for token count\n- `slippage`: Slippage percentage (default: 10)\n- `priority_fee`: Priority fee in SOL (default: 0.0005)\n- `pool`: Exchange pool (pump, raydium, pump-amm, launchlab, raydium-cpmm, bonk, auto)\n\n#### `sell_token`\nSell tokens using Lightning API.\n\n**Parameters:**\n- `mint`: Token contract address\n- `amount`: Amount to trade (can be \"100%\" to sell all)\n- `denominated_in_sol`: \"true\" for SOL amount, \"false\" for token count\n- `slippage`: Slippage percentage (default: 10)\n- `priority_fee`: Priority fee in SOL (default: 0.0005)\n- `pool`: Exchange pool (pump, raydium, pump-amm, launchlab, raydium-cpmm, bonk, auto)\n\n#### `claim_fees`\nClaim creator fees from trading activity.\n\n**Parameters:**\n- `pool`: Pool type (\"pump\" or \"meteora-dbc\")\n- `mint`: Token address (required for meteora-dbc)\n- `priority_fee`: Priority fee in SOL (default: 0.000001)\n\n## \ud83d\udcca Available Resources\n\n### Wallet Information\n- `pumpportal://wallet/current` - Current wallet configuration and status\n- `pumpportal://status/trading` - Trading service capabilities and settings\n\n## \ud83d\udca1 Available Prompts\n\n### Trading Guidance\n- `token_launch_checklist` - Comprehensive token launch checklist\n- `trading_strategy_guide` - Trading strategies and risk management\n- `portfolio_management` - Portfolio diversification and management\n\n## \u2699\ufe0f Environment Variables\n\n```bash\n# Required\nAPI_KEY=your-pumpportal-api-key-here\n\n# Optional\nDEFAULT_SLIPPAGE=10 # Default slippage percentage\nDEFAULT_PRIORITY_FEE=0.0005 # Default priority fee in SOL\nDEFAULT_POOL=pump # Default exchange pool\nAPI_TIMEOUT=30 # API request timeout (seconds)\nLOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR\nLOG_FORMAT=standard # standard, json, detailed\n```\n\n## \ud83d\udd04 Pool Types\n\n- **pump**: Pump.fun tokens (high volatility, new launches)\n- **raydium**: Established tokens with better liquidity\n- **pump-amm**: Automated market maker for pump tokens\n- **launchlab**: LaunchLab platform tokens\n- **raydium-cpmm**: Raydium constant product market maker\n- **bonk**: Bonk ecosystem tokens\n- **auto**: Automatic pool selection based on best conditions\n\n## \ud83d\udc1b Troubleshooting\n\n### Common Issues\n\n**\"API_KEY not set\"**\n- Use one of these methods to get your API key:\n - Use the `create_wallet` tool to generate a new wallet\n - Visit https://pumpportal.fun/trading-api/setup and click 'Create Wallet'\n - Run `curl 'https://pumpportal.fun/api/create-wallet'`\n- Add the returned `apiKey` to your configuration\n- Restart the MCP server\n\n**\"Trading failed\" errors**\n- Check your wallet has sufficient SOL balance\n- Verify the token mint address is correct\n- Adjust slippage settings for volatile markets\n- Ensure priority fee is adequate for network conditions\n\n**\"Token creation failed\"**\n- Verify dev buy amount is at least 0.01 SOL\n- Check token name and symbol are valid\n- Ensure image is properly base64 encoded if provided\n- Verify all URLs are valid and accessible\n\n### Development Setup\n\nFor local development:\n\n```bash\n# Clone repository\ngit clone https://github.com/pump-portal/pump-portal-mcp-server.git\ncd pump-portal-mcp-server\n\n# Install with uv\nuv sync\n\n# Set environment (create wallet first to get API key)\nexport API_KEY=your-api-key-here\n\n# Run locally\nuv run python -m pump_portal_mcp_server.server\n```\n\n## \u26a0\ufe0f Risk Disclaimer\n\nTrading 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:\n\n- Do your own research before trading\n- Never invest more than you can afford to lose\n- Understand the risks of cryptocurrency trading\n- Consider consulting with a financial advisor\n\n## \ud83d\udcc4 License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n## \ud83c\udd98 Support\n\n- **Issues**: [GitHub Issues](https://github.com/pump-portal/pump-portal-mcp-server/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/pump-portal/pump-portal-mcp-server/discussions)\n- **PumpPortal**: [PumpPortal.fun](https://pumpportal.fun)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A production-ready MCP server for Solana blockchain trading operations using PumpPortal Lightning API",
"version": "0.2.3",
"project_urls": {
"Bug Tracker": "https://github.com/pump-portal/mcp-server/issues",
"Documentation": "https://docs.pumpportal.dev",
"Homepage": "https://github.com/pump-portal/mcp-server",
"Repository": "https://github.com/pump-portal/mcp-server.git"
},
"split_keywords": [
"blockchain",
" fastmcp",
" mcp",
" pumpportal",
" solana",
" trading"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a174aa84608282ae28bd1265c9008a125b2548a1718d13e8da8db29795ea84be",
"md5": "b27ba8c24997d6cfee0a1403fa737d59",
"sha256": "4ca6e8447b6ab92e7e0804ecbbbc544e7cecbf88be62dca2572b257e96ae2453"
},
"downloads": -1,
"filename": "pump_portal_mcp_server-0.2.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b27ba8c24997d6cfee0a1403fa737d59",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 30596,
"upload_time": "2025-10-10T23:24:19",
"upload_time_iso_8601": "2025-10-10T23:24:19.372432Z",
"url": "https://files.pythonhosted.org/packages/a1/74/aa84608282ae28bd1265c9008a125b2548a1718d13e8da8db29795ea84be/pump_portal_mcp_server-0.2.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d291ac3d20a6f3652302d896e4bad0594f60dfe0bbba948abf5526b663909f5a",
"md5": "7c4922c77427d833cb3ea4930df369d7",
"sha256": "a2a0ab8a9ec93b661ce547eb71b31ea2ab35caff93a156aabb66b0289674a3a9"
},
"downloads": -1,
"filename": "pump_portal_mcp_server-0.2.3.tar.gz",
"has_sig": false,
"md5_digest": "7c4922c77427d833cb3ea4930df369d7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 159668,
"upload_time": "2025-10-10T23:24:20",
"upload_time_iso_8601": "2025-10-10T23:24:20.508591Z",
"url": "https://files.pythonhosted.org/packages/d2/91/ac3d20a6f3652302d896e4bad0594f60dfe0bbba948abf5526b663909f5a/pump_portal_mcp_server-0.2.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-10 23:24:20",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pump-portal",
"github_project": "mcp-server",
"github_not_found": true,
"lcname": "pump-portal-mcp-server"
}