pump.fun Solana Data

io.github.nirholasPublished by GitHub account nirholasv0.2.7Updated Oct 24, 2026

Free, read-only pump.fun + Solana MCP: token discovery, on-chain analysis, SNS, 3D snapshots.

Overview

AI-generated overview

Read-only pump.fun and Solana MCP server for token discovery, on-chain bonding-curve and holder analysis, SNS lookups and 3D token snapshots.

What you can do
  • Search and list pump.fun tokens, trending, new, graduated and king-of-the-hill coins
  • Read token metadata, bonding-curve reserves, graduation progress, recent trades and top-holder concentration
  • Track creator fee claims, first claims and large whale trades
  • Resolve .sol names to wallets and wallets back to .sol names
  • Quote PumpSwap swaps read-only, rank KOL traders and score social sentiment
  • Build a shareable live 3D token snapshot with deep-link and embeddable iframe
When to use it
Useful when you want an assistant to answer questions about pump.fun tokens and Solana on-chain data without setting up RPC access, keys or a wallet. Suits research, token due diligence and quick market checks from a desktop MCP client.
Requirements
Node.js 20 or newer, run via npx as a local stdio process. No API keys, RPC URL or wallet. Outbound HTTPS to the three.ws backend, overridable with the PUMPFUN_MCP_URL environment variable. Six indexer-gated tools only appear if a backend with an indexer is configured.
Before you install
The package is a bridge: tool calls are forwarded to the three.ws backend, so queries and arguments leave your machine. pumpfun_vanity_mint returns a Solana keypair secret to the caller, which is sensitive material. Swap tools only quote and nothing signs transactions, but treat quoted prices as informational. The hosted endpoint also serves tools not listed in the README.

Installation

In SourceWeft

  1. Open pump.fun Solana Data in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[three.ws]

@three-ws/pumpfun-mcp

Free, read-only pump.fun + Solana MCP server — token discovery, on-chain analysis, and live 3D snapshots. No API keys.

[npm] [downloads] [license] [MCP Registry] [node] [three.ws]

Install · Quick start · Tools · Configuration · three.ws


A free, read-only Model Context Protocol server for pump.fun and Solana. It gives Claude — or any MCP client — live token discovery, on-chain bonding-curve and holder analysis, creator fee-claim tracking, Solana Name Service resolution, KOL signals, read-only swap quotes, and shareable live 3D token snapshots. Every Solana RPC and pump.fun API call runs server-side on the canonical three.ws backend, so the data is live and on-chain while the client stays zero-config: no API keys, no RPC URL, no wallet.

Install

Claude Code (one-liner)

bash
claude mcp add pumpfun -- npx -y @three-ws/pumpfun-mcp

Claude Desktop / Cursor / any MCP client

Add to your MCP config (claude_desktop_config.json, .cursor/mcp.json, .mcp.json, etc.):

json
{	"mcpServers": {		"pumpfun": {			"command": "npx",			"args": ["-y", "@three-ws/pumpfun-mcp"]		}	}}

Restart the client and the pump.fun tools appear. No install step required.

Run directly

bash
npx -y @three-ws/pumpfun-mcp# or install globally and run the binnpm i -g @three-ws/pumpfun-mcp && pumpfun-mcp

Quick start

The server speaks stdio JSON-RPC — your MCP client spawns it via the npx command above. Once configured, ask your client natural-language questions and it picks the right tool:

text
"What's trending on pump.fun right now?"        → get_trending_tokens"Show the bonding curve for <mint>"             → get_bonding_curve"Who are the top holders of <mint>?"            → get_token_holders"Resolve bonfida.sol"                           → sns_resolve"Build a 3D snapshot for <mint>"                → pumpfun_token_3d

Tools

All tools are read-only — nothing signs or sends a transaction. pumpfun_quote_swap only quotes; pumpfun_vanity_mint returns a keypair for you to use yourself.

Six tools are indexer-gated. search_tokens, get_trending_tokens, get_new_tokens, get_graduated_tokens, get_king_of_the_hill, and get_creator_profile need a pump.fun indexer (PUMPFUN_BOT_URL). The hosted endpoint at three.ws/api/pump-fun-mcp has none configured, so it filters those six out of tools/list and they will not appear when you connect to it; set the env var on your own deployment and they return with no code change. Everything else, including get_token_trades, works off on-chain data with no indexer. Call pumpfun_bot_status to see which side you are on. Note that without the indexer get_token_details returns SPL account facts only (name, symbol, and uri come back null).

The hosted endpoint also serves three tools the table below does not list: get_coin_intel, get_oracle_conviction, and pumpfun_upload_metadata.

ToolWhat it does
search_tokensSearch pump.fun tokens by name, symbol, or mint.
get_token_detailsFull metadata for a mint.
get_bonding_curveReal/virtual quote reserves + graduation progress for a coin still on the curve (on-chain). A v3 buy that empties the curve finishes through a synthetic migration.
get_token_tradesRecent buy/sell history for a token.
get_trending_tokensTop tokens by market cap.
get_new_tokensMost recently launched tokens.
get_graduated_tokensTokens that graduated to their PumpSwap pool.
get_king_of_the_hillHighest-cap token still on the bonding curve.
get_token_holdersTop holders with concentration analysis (on-chain).
get_creator_profileA creator's tokens with rug-pull risk flags.
kol_leaderboardTop KOL traders ranked by P&L for a 24h/7d/30d window.
pumpfun_list_claimsRecent creator fee-claim events (on-chain). Fees from v3 curve / v2 pool trades appear once swept.
pumpfun_watch_claimsFee claims for a creator within a look-back window.
pumpfun_first_claimsFirst-ever creator claims — a cash-out signal.
pumpfun_quote_swapRead-only PumpSwap AMM swap quote for a graduated coin (no signing). Prices on vault + signed, often negative, virtual_quote_reserves.
pumpfun_watch_whalesCollect large trades on a token over a short window.
pumpfun_vanity_mintGrind a vanity Solana keypair (secret returned to caller, never stored).
sns_resolveResolve a .sol domain to its owner wallet.
sns_reverseLookupReverse-lookup a wallet to its primary .sol domain.
social_cashtag_sentimentDeterministic lexicon sentiment over supplied posts.
social_x_post_impactCorrelate an X post to bonding-curve price impact.
pumpfun_bot_statusConfiguration + health of the pump.fun indexer backend — configured, healthy, and ping latency. Always available.
pumpfun_token_3dLive 3D snapshot of a token — composes metadata, holders, and graduation into a shareable three.ws/coin3d viewer (spinning coin medallion + holder galaxy + graduation ring) and returns the deep-link, an embeddable iframe, and the underlying data.

The live tool list is fetched from the backend at startup; a bundled copy ships as an offline fallback so a fresh install always advertises a correct surface.

How prices are derived

A pump.fun coin has two lifetimes, priced by two different on-chain accounts. Every tool here belongs to exactly one of them, and reading a number from the wrong one is the classic way to get a confidently wrong answer.

Before graduation: the pump program BondingCurve account. Spot price is virtual_quote_reserves / virtual_token_reserves. Those quote-side fields were renamed upstream (virtual_sol_reserves → virtual_quote_reserves, real_sol_reserves → real_quote_reserves) when a non-SOL quote asset became possible, and the curve gained a quote_mint, which is the SOL default on every coin created to date. The rename is the same u64 at the same offset, so the response fields virtualSolReserves / solReserves keep their names and stay SOL-denominated. Served by get_bonding_curve and social_x_post_impact.

After graduation: the PumpSwap (pump_amm) Pool account. Quotes price against the effective quote reserve:

effective_quote_reserves = pool_quote_token_account.amount + pool.virtual_quote_reserves

pool.virtual_quote_reserves is an appended Pool field, a signed i128. A positive value adds depth held outside the vault. Since 2026-09-30 it is commonly negative: the PumpSwap v2 trades (buy_v2, sell_v2, buy_exact_quote_in_v2) and multi_hop_swap keep the protocol and creator fee inside the quote vault until a sweep pays them out, and subtract that amount here so waiting fees never count as liquidity. So quote_reserve alone overstates depth, effective_quote_reserve can sit below it, and the program guarantees the sum is never negative. Read the field as a signed integer: never unsigned, never clamped to 0, never absolute-valued. Pools created before the field existed read it as 0. Buys and sells both price on the effective figure, and priceImpactBps measures execution against the spot price it implies, so virtual liquidity reads as depth rather than as impact. The base side is unchanged: still the raw pool_base_token_account.amount. Served by pumpfun_quote_swap.

The two virtual_quote_reserves are different fields on different accounts that happen to share a name. A coin has one or the other, never both. If get_bonding_curve returns complete: true, stop reading the curve and quote the pool.

The handoff: synthetic migration. A v3 bonding-curve buy (buy_v3, buy_exact_quote_in_v3) that empties the curve has no max size. It takes what the curve has left at the curve price, completes the curve, and buys the rest at the price the PumpSwap pool will open with, so a large final buy is not capped at realTokenReserves. Mayhem coins are excluded. After that buy every curve trade fails until the migration lands. Off-chain quoting uses getBuyV3QuoteAmountFromTokenAmount / getBuyV3TokenAmountFromQuoteAmount from @pump-fun/pump-sdk 4.0.0 with curveBaseTokenBalance from fetchBuyState.

Creator fees wait until swept. The v3 curve trades and v2 pool trades do not pay the creator fee out per trade; it waits on the curve (BondingCurve.creator_fee) and pool (Pool.creator_fees) until a sweep_creator_fee moves it to the creator vault, normally right before the claim in the same transaction. The claim tools report claimed amounts, so fees still waiting on the curve or pool appear in no claim until they are swept.

Upstream reference: pump-public-docs, in particular NEGATIVE_VIRTUAL_QUOTE_RESERVES.md, SYNTHETIC_MIGRATION.md and instructions/SWEEP_FEES.md.

Inspect the tools

bash
npx -y @modelcontextprotocol/inspector npx @three-ws/pumpfun-mcp

Examples

Runnable examples live in examples/:

bash
node examples/list-tools.mjs     # every tool the backend currently serves, with schemasnode examples/token-report.mjs   # live on-chain report for one mint

Both spawn this server over stdio and read live Solana mainnet data. Every tool here is free and read-only. See examples/README.md for expected output, including why the advertised tool count depends on whether the backend has an indexer configured.

Configuration

No configuration is required. One optional override exists:

Env varDefaultPurpose
PUMPFUN_MCP_URLhttps://three.ws/api/pump-fun-mcpBackend endpoint. Override only to self-host the handler.

How it works

This package is a small stdio ↔ HTTP bridge. It forwards MCP tools/call requests to the canonical three.ws pump.fun JSON-RPC backend, which performs the actual Solana RPC reads and pump.fun API queries. That keeps one authoritative implementation, ships no secrets to clients, and means the tool surface stays current automatically.

pumpfun_token_3d is a native tool: it runs in-process, orchestrating several backend reads (metadata + bonding curve + holders) and resolving the token logo from its on-chain metadata URI, then returns a deep-link into the three.ws 3D viewer. It needs no extra keys and adds no new backend dependency.

Errors

Failures surface as MCP tool errors (isError: true) with the real cause — never a silent empty result:

Error textMeaningRecovery
Backend request failed: …The bridge could not reach the backend (network, non-2xx, bad JSON).Check connectivity / PUMPFUN_MCP_URL; safe to retry.
[-32602] …Invalid argument (e.g. pumpfun_token_3d without a mint).Fix the argument named in the message.
[-32004] no on-chain data for <mint>: …pumpfun_token_3d found no metadata, curve, or holder data for the mint.Verify the mint address and network (mainnet/devnet).
[<code>] <message>Any other backend JSON-RPC error (unknown tool, indexer unavailable, on-chain read failure), passed through verbatim.The message states the upstream cause; transient indexer errors are safe to retry.

pumpfun_token_3d degrades gracefully: if only some of its three source reads succeed it still returns a snapshot, marking the missing parts (no holder data available, no bonding-curve data available) — it errors only when all three fail.

Requirements

  • Node.js >= 20 (from engines).
  • No API keys, RPC URL, or wallet. Outbound HTTPS to the three.ws backend (or your PUMPFUN_MCP_URL).

Related

  • @three-ws/mcp-server — the paid, x402-settled three.ws MCP (text→3D mesh, avatars, pose seeds, ERC-8004 reputation, and a paid pump_snapshot).

Links


Part of the three.ws SDK suite — 3D AI agents, on-chain identity, and agent payments.
Website · Changelog · GitHub

Source: packages/pumpfun-mcp/README.md at commit 0e68f46

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v0.2.7LatestOct 10, 2026
  2. v0.2.5Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts