pumpfun-wallets-mcp
# Pumpfun Wallets MCP
An MCP server that analyzes wallets’ trading activity and profitability on Pump.fun and PumpSwap.



## 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.
## Prerequisites
- Python 3.10+
- A valid [Dune Analytics API key](https://dune.com/docs/api/#authentication)
## Installation
1. **Clone the Repository**:
```bash
git clone https://github.com/kukapay/pumpfun-wallets-mcp.git
cd pumpfun-wallets-mcp
```
2. **Install Dependencies**:
```bash
uv sync
```
3. **Installing to Claude Desktop**:
Install the server as a Claude Desktop application:
```bash
uv run mcp install main.py --name "pumpfun-wallets-mcp"
```
Configuration file as a reference:
```json
{
"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](LICENSE) file for details.
TDQS
Scored across 4 tools
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).
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.
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.
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.