Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

three.ws pump.fun MCP

REMOTE · THREE.WS · SCANNED SEP 20

Free pump.fun and Solana token discovery and on-chain analysis tools, by three.ws.

Available components

0 this week 86 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security83
Transport & Reachability100
Schema Quality & AI Usability74
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 2351 tokens (~111/item across 21 items; 21 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage87
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 56% of tool parameters carry a description.Partial
  • Structured output schemas are declared (48% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 21 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 22 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Install

How do I install the three.ws pump.fun MCP server?

three.ws pump.fun MCP is a hosted endpoint at https://three.ws/api/pump-fun-mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · three.ws

# add to Claude Code
claude mcp add --transport http nirholas-threews-pumpfun 'https://three.ws/api/pump-fun-mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "nirholas-threews-pumpfun": {
      "url": "https://three.ws/api/pump-fun-mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "nirholas-threews-pumpfun": {
      "type": "http",
      "url": "https://three.ws/api/pump-fun-mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.nirholas-threews-pumpfun]
url = "https://three.ws/api/pump-fun-mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "nirholas-threews-pumpfun": {
      "type": "remote",
      "url": "https://three.ws/api/pump-fun-mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add nirholas-threews-pumpfun --url 'https://three.ws/api/pump-fun-mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  nirholas-threews-pumpfun:
    url: "https://three.ws/api/pump-fun-mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "nirholas-threews-pumpfun": {
      "Transport": "http",
      "Url": "https://three.ws/api/pump-fun-mcp"
    }
  }
}
# add to Vellum
assistant mcp add nirholas-threews-pumpfun -t streamable-http -u 'https://three.ws/api/pump-fun-mcp'
// mcp.json
{
  "mcpServers": {
    "nirholas-threews-pumpfun": {
      "type": "http",
      "url": "https://three.ws/api/pump-fun-mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Sept 26 0
    • Tool coverage: 53% → 48% functional
    • New tool “get_new_tokens” functional
    • New tool “get_trending_tokens” functional
  • 26 Aug 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 +1
    • Stability: 0.97 → pass security
  • 23 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://three.ws/api/pump-fun-mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=three.ws CN=WR3,O=Google Trust Services,C=US 30 Aug 2026 28 Nov 2026 RSA 2048 SHA256-RSA 8a354b2948e4d8790a0c10ab9fd90c08
SANs: three.ws, www.three.ws
CN=WR3,O=Google Trust Services,C=US (CA) CN=GTS Root R1,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 RSA 2048 SHA256-RSA 7ff005a91568d63abc22861684aa4b5a
CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 19 Jun 2020 28 Jan 2028 RSA 4096 SHA256-RSA 77bd0d6cdb36f91aea210fc4f058d30d

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of three.ws. Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ws. present 36454 8 Verified
three.ws. present 62777 13 Verified
three.ws. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
content-security-policy base-uri 'self'; object-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-eval' blob: https://cdn.jsdelivr.net https://cdnjs.cloudflare.com https://unpkg.com https://esm.sh https://ajax.googleapis.com https://s3.tradingview.com https://platform.twitter.com https://3d-agent.vercel.app https://three.ws; worker-src 'self' blob:; frame-ancestors 'self' https://ibm.com https://*.ibm.com https://*.seismic.com; report-uri /api/client-errors
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy accelerometer=(), autoplay=(self), camera=(), display-capture=(), encrypted-media=(self), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(self), serial=(), usb=(), xr-spatial-tracking=(self)

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://three.ws/api/pump-fun-mcp Verified 200
http (plaintext) http://three.ws/api/pump-fun-mcp HTTPS enforced 301 https://three.ws:443/api/pump-fun-mcp
MCP tools · 21 exposed · ~1,921 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
get_bonding_curve ~167

Bonding curve analysis: real reserves, virtual reserves, and graduation progress (on-chain). Pre-graduation only: these reserves come from the pump program bonding-curve account, not from a PumpSwap pool. Pump renamed the quote-side fields on-chain (real_sol_reserves -> real_quote_reserves, virtual_sol_reserves -> virtual_quote_reserves) once a non-SOL quote asset became possible; the response keys below keep their original names and are still denominated in SOL, because the curve quote_mint is the SOL default on every coin created to date. Once complete=true the curve is retired and pricing moves to the PumpSwap pool, so use pumpfun_quote_swap from that point on.

NameTypeReqDescription
mintstringyes
networkstring
NameTypeReqDescription
completebooleanyestrue once the curve has graduated
graduationPercentnumberyes0–100 graduation progress
mintstringyes
networkstringyes
solReservesstringyesReal quote reserves in SOL (4-decimal string). On-chain field: real_quote_reserves.
tokenReservesstringyesReal token reserves (raw base units)
virtualSolReservesstringyesVirtual quote reserves (lamports). On-chain field: virtual_quote_reserves (u64). Spot price = virtual_quote_reserves / virtual_token_reserves. Distinct from the identically-named PumpSwap Pool.virtua…
virtualTokenReservesstringyesVirtual token reserves (raw base units)

No examples provided.

get_coin_intel ~147

Full Coin Intelligence snapshot for a pump.fun mint. Returns every signal the engine recorded during the observation window: bundle vs organic verdict, bubblemaps-style cluster connectivity, smart-money presence (with wallet labels and win-rates), dev behaviour, category/classification, news-meme detection with the matching headline, risk flags, and a 0–100 quality score. Also returns the outcome if the coin is old enough to be labeled (graduated/rugged/ATH multiple). This is the single highest-signal read for a trade decision — call this before entering any position.

NameTypeReqDescription
mintstringyesSolana mint address (base58).
networkstring
NameTypeReqDescription
bubblemap_connectivitynumber0–1 wallet-cluster share. null = enrichment not yet run.
bundle_scorenumber0–1, coordinated-launch likelihood.
categorystring
dev_buy_solnumber
dev_soldboolean
foundbooleanyes
is_news_memeboolean
mintstring
namestring
news_headlinestring
oracleobjectFused Oracle conviction score (null if the Oracle engine has not yet scored this coin). Call get_oracle_conviction for the full read including who's-in roster and narrative.
oracle_urlstringOracle deep-link for the coin — opens the Oracle war-room drawer directly.
organic_scorenumber0–1, organic-demand likelihood.
outcomeobjectLabeled outcome if available (graduated, ath_multiple, etc).
quality_scorenumber0–100 composite quality.
risk_flagsarray
smart_money_countintegerProven wallets (score≥65) in this coin.
smart_money_notablearray
smart_money_scorenumber
symbolstring
unique_buyersinteger
verdictobject

No examples provided.

get_new_tokens ~23

Most recently launched pump.fun tokens.

NameTypeReqDescription
limitinteger

No output schema declared.

No examples provided.

get_oracle_conviction ~199

Oracle conviction score for a pump.fun mint: the fused 0-100 score the Oracle engine produces by combining four intelligence pillars: pedigree (who bought it), structure (organic vs bundle, holder concentration, bubblemaps connectivity), narrative (category, meme virality, news hook), and momentum (timing, velocity). Returns the tier (prime ≥86 / strong ≥72 / lean ≥54 / watch ≥36 / avoid), the per-pillar breakdown, the natural-language reasons that drove the score, the full "who's in" trader roster with reputation labels and win-rates, and the narrative read (category, virality, tags). Call this when you need the highest-confidence trade signal; it synthesises everything get_coin_intel exposes into one actionable score. Pairs with get_coin_intel for raw signals.

NameTypeReqDescription
mintstringyesSolana mint address (base58).
networkstring
NameTypeReqDescription
convictionobjectFused conviction verdict. null if the Oracle has not yet scored this coin.
foundbooleanyes
mintstring
namestring
narrativeobjectNarrative classification for the coin.
outcomeobjectLabeled outcome if available.
symbolstring
urlstringOracle deep-link URL for this coin.
whos_inarrayClassified trader roster — every wallet that touched this coin, annotated with their reputation.

No examples provided.

get_token_details ~28

Full details for a specific pump.fun token by mint address.

NameTypeReqDescription
mintstringyes

No output schema declared.

No examples provided.

get_token_holders ~43

Top holders of a token with concentration analysis (on-chain).

NameTypeReqDescription
limitinteger
mintstringyes
networkstring

No output schema declared.

No examples provided.

get_token_trades ~33

Recent buy/sell history for a token.

NameTypeReqDescription
limitinteger
mintstringyes

No output schema declared.

No examples provided.

get_trending_tokens ~25

Top pump.fun tokens by market cap.

NameTypeReqDescription
limitinteger

No output schema declared.

No examples provided.

kol_leaderboard ~52

Top KOL traders ranked by P&L for a given time window. Returns wallet, pnlUsd, winRate, trades, rank.

NameTypeReqDescription
limitinteger
windowstring

No output schema declared.

No examples provided.

pumpfun_bot_status ~38

Returns the configuration and health status of the pump.fun indexer backend. Always available — does not require PUMPFUN_BOT_URL.

Input schema present but exposes no named parameters.

NameTypeReqDescription
configuredbooleanyestrue when PUMPFUN_BOT_URL is set on the server
errorstringFailure reason when healthy is false
healthybooleanyestrue when the indexer answered the health ping
latencyMsnumberRound-trip ms of the health ping (configured backends only)
messagestringHuman-readable note when the indexer is unconfigured

No examples provided.

pumpfun_first_claims ~74

First-ever pump.fun creator fee claims in a time window: a cash-out signal. Returns creators who have never claimed before, with creator wallet, mint, lamports, and timestamp.

NameTypeReqDescription
limitinteger
sinceMinutesintegerHow far back to look for new claimers (minutes)

No output schema declared.

No examples provided.

pumpfun_list_claims ~74

List recent pump.fun fee-claim events for a creator wallet (on-chain, no indexer needed). Returns signature, mint, lamports, and Unix timestamp for each claim.

NameTypeReqDescription
creatorstringyesCreator wallet address (base58)
limitinteger
networkstring

No output schema declared.

No examples provided.

pumpfun_quote_swap ~224

Read-only price quote for a pump.fun AMM (PumpSwap) swap. No signing or tx sending. One of inputMint/outputMint must be wSOL (So11111111111111111111111111111111111111112). Only GRADUATED coins have an AMM pool; for a coin still on its bonding curve use get_bonding_curve instead. Pricing runs on the pool effective quote reserves (quote vault balance + pool.virtual_quote_reserves); the base side is the raw base vault balance. Returns amountOut, priceImpactBps, route, expiresAtMs, plus the reserves the quote was computed from so the number can be reproduced.

NameTypeReqDescription
amountInnumberyesInput amount in raw base units (lamports for SOL).
inputMintstringyesInput token mint (base58).
networkstring
outputMintstringyesOutput token mint (base58).
slippageBpsnumberSlippage tolerance in basis points (default 100 = 1%).
NameTypeReqDescription
amountOutstringyesExpected output amount in raw base units
base_reservestringRaw base vault balance. Unchanged by the virtual-reserve rollout.
effective_quote_reservestringquote_reserve + virtual_quote_reserves. This is what the quote is priced against.
expiresAtMsnumberyesEpoch ms after which the quote is stale
priceImpactBpsnumberyesPrice impact in basis points
quote_reservestringRaw quote vault balance, before virtual reserves are added.
routestringyesAMM pool address the quote routes through (base58)
virtual_quote_reservesstringPool.virtual_quote_reserves. Quote-side liquidity the pool carries outside its vault. 0 on non-launchpad pools.

No examples provided.

pumpfun_upload_metadata ~234

Upload coin metadata (name, symbol, description, image) to IPFS and get back a pump.fun-ready metadata URI. Call this before launching a coin — pass the returned uri to the launch-agent endpoint or the studio launch flow. Requires a valid bearer token (API key). Image may be a public HTTPS URL or a base64 data URI (max 10 MB). The returned uri is a permanent ipfs:// link; the call is idempotent for the same content.

NameTypeReqDescription
descriptionstringyesCoin description (max 500 chars).
image_urlstringyesImage for the coin icon. Public HTTPS URL or base64 data URI (data:image/png;base64,…). Square image, at least 400×400 px, under 5 MB.
namestringyesCoin name (1–32 chars).
symbolstringyesTicker symbol (1–10 chars, no $).
telegramstringTelegram URL (optional).
twitterstringTwitter/X handle or URL (optional).
websitestringWebsite URL (optional).
NameTypeReqDescription
cidstringyesIPFS CID of the metadata JSON.
image_cidstringIPFS CID of the uploaded image.
providerstringIPFS provider used.
uristringyesipfs:// URI ready for the pump.fun launch-agent `uri` field.

No examples provided.

pumpfun_vanity_mint ~106

Generate a Solana keypair whose address ends/starts with a vanity pattern. Returns publicKey + secretKey (base58). Caller must save the secret key immediately — it is never stored. Hard timeout: 60 s.

NameTypeReqDescription
caseSensitiveboolean
maxAttemptsinteger
prefixstringDesired address prefix (case-insensitive by default)
suffixstringDesired address suffix (case-insensitive by default)
NameTypeReqDescription
attemptsintegeryesKeypairs ground before the match
msnumberyesWall-clock grind time in milliseconds
publicKeystringyesMatched Solana address (base58)
secretKeystringyesSecret key (base58) — caller is sole custodian

No examples provided.

pumpfun_watch_claims ~88

Return all pump.fun fee-claim events for a creator wallet within a look-back window (durationMs). Useful for batch collection after a delay.

NameTypeReqDescription
creatorstringyesCreator wallet address (base58)
durationMsnumberLook-back window in ms (default 300000 = 5 min, max 1800000)
networkstring

No output schema declared.

No examples provided.

pumpfun_watch_whales ~93

Collect whale trades on a pump.fun token for a short window (max 10 s). Returns all trades whose USD value meets minUsd.

NameTypeReqDescription
durationMsnumberCollection window in ms (default 5000, max 10000)
minUsdnumberMinimum trade value in USD (default 5000)
mintstringyesSPL mint pubkey (base58)

No output schema declared.

No examples provided.

sns_resolve ~44

Resolve a .sol Solana Name Service domain to its owner wallet address.

NameTypeReqDescription
namestringyes.sol domain name, e.g. "bonfida.sol"
NameTypeReqDescription
addressstringyesOwner wallet address (base58)
namestringyesThe .sol domain that was resolved

No examples provided.

sns_reverseLookup ~38

Reverse-lookup a Solana wallet address to its primary .sol domain name.

NameTypeReqDescription
addressstringyesBase58 Solana wallet address
NameTypeReqDescription
addressstringyesThe wallet address that was looked up
namestringyesPrimary .sol domain for the address

No examples provided.

social_cashtag_sentiment ~71

Score social-post sentiment for a cashtag using a deterministic lexicon. Returns score (-1..1), positive/negative/neutral percentages, and example posts.

NameTypeReqDescription
postsarrayyesArray of post objects. Each must have a text field; id, ts, and author are optional.
NameTypeReqDescription
countintegeryesNumber of posts scored
examplesobjectyes
negPctnumberyesPercentage of negative posts (0–100)
neuPctnumberyesPercentage of neutral posts (0–100)
posPctnumberyesPercentage of positive posts (0–100)
scorenumberyesNet sentiment, -1 (bearish) to 1 (bullish)

No examples provided.

social_x_post_impact ~120

Correlate an X (Twitter) post to a memecoin price impact. Fetches post metadata via oEmbed (no API key) and computes price delta from the pump.fun bonding curve in a ±windowMin window around the post.

NameTypeReqDescription
mintstringyesSolana token mint address (base58)
networkstring
postUrlstringyesX post URL (e.g. https://x.com/user/status/123)
windowMininteger±window in minutes around the post time

No output schema declared.

No examples provided.

Common questions

What is the three.ws pump.fun MCP server?

three.ws pump.fun MCP is listed in the public MCP registry as io.github.nirholas/threews-pumpfun. Free pump.fun and Solana token discovery and on-chain analysis tools, by three.ws. This page covers its hosted endpoint (https://three.ws/api/pump-fun-mcp).

Is the three.ws pump.fun MCP server safe to use?

three.ws pump.fun MCP scores 86 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the three.ws pump.fun MCP server expose?

three.ws pump.fun MCP exposes 21 tools: get_token_details, get_bonding_curve, get_token_trades, get_trending_tokens, get_new_tokens, and 16 more. Their descriptions and schemas cost roughly 1,921 tokens of context every time the server is loaded.

Does the three.ws pump.fun MCP server require authentication?

No. We connected to three.ws pump.fun MCP without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the three.ws pump.fun MCP server still maintained?

three.ws pump.fun MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.