pumpfun-mcp-server
by: noahgsolomon
pumpfun mcp server
📌Overview
Purpose: The pumpfun-mcp framework serves as a Model Context Protocol server, enabling AI assistants to interact with the Pump.fun platform on Solana for creating, buying, and selling tokens.
Overview: This server facilitates seamless integration with Pump.fun, allowing users to manage token transactions efficiently. By leveraging Solana's blockchain, it provides a secure and straightforward interface for executing token operations.
Key Features:
-
Token Management: The framework offers tools to create new tokens, retrieve token information, buy or sell tokens, and manage account balances, simplifying the overall user experience.
-
Account Management: It automatically manages Solana keypairs and provides functionalities for listing accounts and checking balances, ensuring users can easily oversee their assets.
-
Standalone Scripts: A set of executable scripts allows users to perform specific actions like creating or managing tokens directly from the command line without additional coding.
pumpfun-mcp
A Model Context Protocol (MCP) server for interacting with the Pump.fun platform on Solana. This server enables AI assistants to create, buy, and sell tokens on the Pump.fun platform.
Usage
To use this server with Claude or other MCP-compatible AI assistants, add the following configuration to your MCP client:
If you're on MacOS and want to run this in Claude Desktop, in your ~/Library/Application Support/Claude/claude_desktop_config.json
file, write the following:
{
"mcpServers": {
"pumpfun": {
"command": "node",
"args": ["/Users/noahsolomon/Desktop/pumpfun-mcp/build/index.js"],
"env": {
"HELIUS_RPC_URL": "https://your-helius-rpc-url.com"
}
}
}
}
Replace https://your-helius-rpc-url.com
with your Helius RPC URL: https://dev.helius.xyz/.
Installation
-
Clone this repository:
git clone https://github.com/noahgsolomon/pumpfun-mcp.git cd pumpfun-mcp
-
Install dependencies:
npm install
-
Create a
.env
file with your Solana RPC URL:HELIUS_RPC_URL=https://your-helius-rpc-url.com
You can get a free RPC URL from https://dev.helius.xyz/.
To use an existing Solana wallet, add your private key to the
.env
file:PRIVATE_KEY=your-base58-encoded-private-key
Then run the conversion script to create a keypair file:
node convert-key.js
This will create a
default.json
file in the.keys
folder with your keypair. -
Build the project:
npm run build
-
Run the MCP server:
node build/index.js
Components
Tools
-
get-token-info
- Get information about a Pump.fun token
- Input parameters:
tokenAddress
(string, required): The token's mint address
-
create-token
- Create a new Pump.fun token
- Input parameters:
name
(string, required): Token namesymbol
(string, required): Token symboldescription
(string, required): Token descriptionimageUrl
(string, optional): Path to local image fileinitialBuyAmount
(number, required): Initial buy amount in SOL (min 0.0001)accountName
(string, optional): Name of the account to use (defaults to "default")
-
buy-token
- Buy a Pump.fun token
- Input parameters:
tokenAddress
(string, required): The token's mint addressbuyAmount
(number, required): Amount to buy in SOL (min 0.0001)accountName
(string, optional): Name of the account to use (defaults to "default")slippageBasisPoints
(number, optional): Slippage tolerance in basis points (defaults to 100)
-
sell-token
- Sell a Pump.fun token
- Input parameters:
tokenAddress
(string, required): The token's mint addresssellAmount
(number, required): Amount of tokens to sell (use 0 to sell all)accountName
(string, optional): Name of the account to use (defaults to "default")slippageBasisPoints
(number, optional): Slippage tolerance in basis points (defaults to 100)
-
list-accounts
- List all accounts in the keys folder
- No input parameters required
-
get-account-balance
- Get the SOL and token balances for an account
- Input parameters:
accountName
(string, optional): Name of the account to check (defaults to "default")tokenAddress
(string, optional): Token address to check balance for
Account Management
The MCP automatically creates and manages Solana keypairs in the .keys
folder. Each keypair is stored as a JSON file with the account name as the filename.
When creating a token, the mint keypair is also saved in the .keys
folder with the prefix mint-
.
To use the MCP with your own account:
- Add your private key to the
.env
file and runnode convert-key.js
- Ensure you have sufficient SOL in that wallet
Standalone Scripts
The project includes several standalone scripts that can be run directly:
- Get Token Info:
node build/get-token-info.js <token_address>
- Create Token:
node build/create-token.js <name> <symbol> <description> <initial_buy_amount> [account_name] [image_url]
- Buy Token:
node build/buy-token.js <token_address> <buy_amount_sol> [account_name] [slippage_basis_points]
- Sell Token:
node build/sell-token.js <token_address> <sell_amount> [account_name] [slippage_basis_points]
- List Accounts:
node build/list-accounts.js
- Get Account Balance:
node build/get-token-balance.js <account_name> [token_address]
Important Notes
- Security: The keypairs are stored unencrypted in the
.keys
folder. Secure this folder appropriately. - Fees: All transactions on Solana require SOL for transaction fees. Ensure your accounts have enough SOL.
- Slippage: The default slippage tolerance is 1% (100 basis points). You can adjust this per transaction.
- Images: When creating tokens with images, provide a local file path. Remote URLs are not supported.
Development
Project Structure
src/index.ts
: Main MCP server entry pointsrc/get-token-info.ts
: Token information retrievalsrc/create-token.ts
: Token creation functionalitysrc/buy-token.ts
: Token buying functionalitysrc/sell-token.ts
: Token selling functionalitysrc/list-accounts.ts
: Account listing functionalitysrc/get-token-balance.ts
: Account balance checkingsrc/utils.ts
: Shared utility functionsconvert-key.js
: Utility to convert a base58 private key to a keypair JSON file
Building
npm run build