pumpfun-mcp

by noahgsolomon

21 stars
230 downloads
Not rated
GitHub

Description

# pumpfun-mcp A Model Context Protocol (MCP) server for interacting with the [Pump.fun](https://pump.fun) platform on Solana. This server enables AI assistants to create, buy, and sell tokens on the Pump.fun platform. <img src="https://pump.fun/logo.png" width="250" height="250"…

About

# pumpfun-mcp A Model Context Protocol (MCP) server for interacting with the [Pump.fun](https://pump.fun) platform on Solana. This server enables AI assistants to create, buy, and sell tokens on the Pump.fun platform. <img src="https://pump.fun/logo.png" width="250" height="250" alt="Pump.fun MCP Demo"> ## Usage…

Details

Author
noahgsolomon
GitHub stars
21
Downloads
230
Categories
Other

- Get token information from Pump.fun
- Create new Pump.fun tokens with metadata and initial buy
- Buy tokens on Pump.fun with configurable slippage
- Sell tokens (all or specific amount) with slippage tolerance
- List all managed Solana accounts in the .keys folder
- Check SOL and token balances for any account
- Support multiple wallets via keypair JSON files

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name pumpfun-mcp
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Clone the repository, run npm install, create a .env file with a Helius RPC URL (and optionally a base58 private key), run npm run build, then start the server with node build/index.js. Configure your MCP client (e.g., Claude Desktop) with the command node and the absolute path to build/index.js, and set the HELIUS_RPC_URL environment variable. Use the exposed tools (e.g., create-token, buy-token, sell-token) to interact with Pump.fun.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "pumpfun-mcp": {
            "pumpfun": {
                "command": "node",
                "args": [
                    "/Users/noahsolomon/Desktop/pumpfun-mcp/build/index.js"
                ],
                "env": {
                    "HELIUS_RPC_URL": "https://your-helius-rpc-url.com"
                }
            }
        }
    }
}

McpServers

{
    "pumpfun": {
        "command": "node",
        "args": [
            "/Users/noahsolomon/Desktop/pumpfun-mcp/build/index.js"
        ],
        "env": {
            "HELIUS_RPC_URL": "https://your-helius-rpc-url.com"
        }
    }
}

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.

Pump.fun MCP Demo

Usage

https://github.com/user-attachments/assets/0b0f1f6f-6ea6-4ca8-92a8-b4cc895814e4

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"], // note this should be YOUR absolute path to index.js, not mine.
      "env": {
        "HELIUS_RPC_URL": "https://your-helius-rpc-url.com"
      }
    }
  }
}

Replace https://your-helius-rpc-url.com with your Helius RPC URL.

Installation

1. Clone this repository:

   git clone https://github.com/noahgsolomon/pumpfun-mcp.git
   cd pumpfun-mcp
   

2. Install dependencies:

   npm install
   

3. 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 Helius.

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.

4. Build the project:

   npm run build
   

5. 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 name
- symbol (string, required): Token symbol
- description (string, required): Token description
- imageUrl (string, optional): Path to local image file
- initialBuyAmount (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 address
- buyAmount (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 address
- sellAmount (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, you need to:

1. Add your private key to the .env file and run node convert-key.js
2. 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. Make sure to secure this folder appropriately.
- Fees: All transactions on Solana require SOL for transaction fees. Make sure your accounts have enough SOL.
- Slippage: The default slippage tolerance is 1% (100 basis points). You can adjust this for each transaction.
- Images: When creating tokens with images, you must provide a local file path to the image. Remote URLs are not supported.

Development

Project Structure

- src/index.ts: Main MCP server entry point
- src/get-token-info.ts: Token information retrieval
- src/create-token.ts: Token creation functionality
- src/buy-token.ts: Token buying functionality
- src/sell-token.ts: Token selling functionality
- src/list-accounts.ts: Account listing functionality
- src/get-token-balance.ts: Account balance checking
- src/utils.ts: Shared utility functions
- convert-key.js: Utility to convert a base58 private key to a keypair JSON file

Building

npm run build
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.