Skip to main content
Glama
pumpfun-wallets-mcp

pumpfun-wallets-mcp

by kukapay

Pumpfun Wallets MCP

An MCP server that analyzes wallets’ trading activity and profitability on Pump.fun and PumpSwap.

GitHub License Python Version Status

Features

  • Total Wallets: Retrieve the total number of wallets on Pumpfun and Pumpswap.

  • Top Profitable Wallets: Fetch the top wallets by realized profit over the last 30 days, with rank, wallet address, profit, and last transaction timestamp.

  • Top Trading Wallets: Get the top wallets by all-time trading volume, including trade count and total volume in USD.

  • Wallet Distribution: View the distribution of wallets by trading volume tiers, excluding bots, for insights into trading activity.

  • Tabulated Output: Returns data in a clean, tabulated string format for easy readability.

Related MCP server: whale-insights

Prerequisites

Installation

  1. Clone the Repository:

    git clone https://github.com/kukapay/pumpfun-wallets-mcp.git
    cd pumpfun-wallets-mcp
  2. Install Dependencies:

    uv sync
  3. Installing to Claude Desktop:

    Install the server as a Claude Desktop application:

    uv run mcp install main.py --name "pumpfun-wallets-mcp"

    Configuration file as a reference:

    {
       "mcpServers": {
           "Pumpfun Wallets": {
               "command": "uv",
               "args": [ "--directory", "/path/to/pumpfun-wallets-mcp", "run", "main.py" ],
               "env": { "DUNE_API_KEY": "dune_api_key"}               
           }
       }
    }

    Replace /path/to/pumpfun-wallets-mcp with your actual installation path, and dune_api_key with your API key from Dune Analytics.

Tools

The server provides the following tools, accessible via the MCP interface or API:

get_total_wallets()

  • Description: Retrieves the total number of wallets on Pumpfun and Pumpswap.

  • Returns: Integer (total wallet count, or 0 on error).

  • Example:

How many wallets are there on Pumpfun and Pumpswap?

get_alpha_wallets(limit: int = 100)

  • Description: Fetches the top profitable wallets for the last 30 days, including rank, wallet address, realized profit (USD), and last transaction timestamp.

  • Parameters: limit (optional, default: 100) - Maximum number of wallets to return.

  • Returns: Tabulated string with wallet data, or empty string on error.

  • Example:

Show me the top 5 most profitable wallets on Pumpfun and Pumpswap for the last 30 days.

Output:

Rank  Wallet                                      Realized Profit  Last Tx
----  ------------------------------------------  ---------------  --------------------
1     0x123...abc                                $50000           2025-06-10 12:34:56
2     0x456...def                                $45000           2025-06-09 09:12:34
...

get_trading_wallets(limit: int = 10)

  • Description: Retrieves the top wallets by all-time trading volume, including rank, wallet address, trade count, and total volume (USD).

  • Parameters: limit (optional, default: 10) - Maximum number of wallets to return.

  • Returns: Tabulated string with wallet data, or empty string on error.

  • Example:

Who are the top 3 wallets with the highest trading volume on Pumpfun and Pumpswap?

Output:

Rank  Wallet                                      Trade Count  Total Volume
----  ------------------------------------------  -----------  ------------
1     0x789...ghi                                1500         $1000000
2     0xabc...jkl                                1200         $950000
3     0xdef...mno                                1000         $800000

get_trading_wallet_distribution()

  • Description: Fetches the distribution of wallets by trading volume tiers (excluding bots).

  • Returns: Tabulated string with volume tiers and wallet counts, or empty string on error.

  • Example:

What is the distribution of wallets by trading volume on Pumpfun and Pumpswap, excluding bots?

Output:

Volume Tier      Number of Wallets
---------------  -----------------
$0 - $1000       5000
$1000 - $10000   2000
$10000+          500

License

This project is licensed under the MIT License. See the LICENSE file for details.

Available Tools

4 tools
get_alpha_walletsA
Retrieve the top profitable wallets on Pumpfun and Pumpswap for the last 30 days.

This function queries Dune Analytics (query ID: 4032586) to fetch a ranked list of wallets
based on their realized profit over the past 30 days, formatted as a tabulated string.

Args:
    limit (int, optional): Maximum number of wallets to return. Defaults to 100.

Returns:
    str: A tabulated string containing the rank, wallet address, realized profit (in USD),
         and last transaction timestamp for each wallet, or an empty string if the query fails.

Raises:
    Exception: If the API request or data retrieval encounters an error.

Inputs: limit.

get_total_walletsA
Retrieve the total number of wallets on Pumpfun and Pumpswap platforms.

This function queries Dune Analytics (query ID: 5239155) to fetch the total wallet count.

Returns:
    int: The total number of wallets, or 0 if the query fails.

Raises:
    Exception: If the API request or data retrieval encounters an error.

Inputs: no named parameters.

get_trading_wallet_distributionA
Retrieve the distribution of wallets by trading volume on Pumpfun and Pumpswap, excluding bots.

This function queries Dune Analytics (query ID: 5239138) to fetch the number of wallets
grouped by trading volume tiers, formatted as a tabulated string.

Returns:
    str: A tabulated string containing the volume tier and number of wallets in each tier,
         or an empty string if the query fails.

Raises:
    Exception: If the API request or data retrieval encounters an error.

Inputs: no named parameters.

get_trading_walletsA
Retrieve the top wallets by all-time trading volume on Pumpfun and Pumpswap.

This function queries Dune Analytics (query ID: 5232018) to fetch a ranked list of wallets
based on their total trading volume, formatted as a tabulated string.

Args:
    limit (int, optional): Maximum number of wallets to return. Defaults to 10.

Returns:
    str: A tabulated string containing the rank, wallet address, trade count, and total
         trading volume (in USD) for each wallet, or an empty string if the query fails.

Raises:
    Exception: If the API request or data retrieval encounters an error.

Inputs: limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 4 tools

    Disambiguation4/5

    The tools have mostly distinct purposes: get_alpha_wallets focuses on profitability, get_trading_wallets on trading volume, get_trading_wallet_distribution on volume tiers, and get_total_wallets on overall count. However, get_alpha_wallets and get_trading_wallets could be slightly confused as both retrieve ranked wallet lists, though they differ in ranking criteria (profit vs. volume).

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case: get_alpha_wallets, get_total_wallets, get_trading_wallet_distribution, and get_trading_wallets. The naming is predictable and clear, using 'get' as the verb throughout.

    Tool Count4/5

    With 4 tools, the count is reasonable for a server focused on wallet analytics for Pumpfun and Pumpswap. It covers key aspects like top wallets, totals, and distributions, though it might benefit from additional tools for more granular data or filtering options.

    Completeness3/5

    The tool set covers retrieval of wallet data (top profitable, top trading, distribution, total count) but lacks operations for deeper analysis, updates, or management. For a wallet analytics domain, it provides read-only access without tools for filtering, sorting beyond limits, or interacting with specific wallets, which could limit agent workflows.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers