The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the PumpPill — token safety and measured outcomes listing page.
Read-only token intelligence for Robinhood Chain (chainId 4663) and Solana, served as a hosted Model Context Protocol server.
Streamable HTTP. No key, no account, nothing to install. Registry name:
org.pumppill/token-safety (v1.2.0). How-to page: https://www.pumppill.org/for-agents
This repository holds the connection instructions, example client configs and the registry manifest. The server itself is hosted by PumpPill; its source is not published here.
The questions that cost people money: can this contract be sold, which contract is the real one behind a ticker, what has this deployer launched before, which wallets hold enough to move a pool, and what happened to the tokens PumpPill logged, with the losers counted.
Every result carries a cite string and a timestamp for when the read was taken. A token
PumpPill has not read comes back as found: false, which means "not in the index", never "safe".
Nothing here predicts a price or recommends a trade.
| Tool | What it returns |
|---|---|
rh_token_safety | The stored safety read for one Robinhood Chain token: sellability, launch flags with evidence, where the launch money went, and the move since PumpPill first logged it. Never triggers a scan. |
rh_ticker_resolve | The one Robinhood Chain contract worth naming for a ticker: alive, $10K+ in its pool, not flagged HIGH or CRITICAL. Other contracts using the name come back as a count. |
rh_deployer_record | What one Robinhood Chain wallet has launched and how those went: tokens, liveness, liquidity, which crossed $100K. |
rh_flagged_recent | Tokens whose latest scan in the last 30 days found HIGH or CRITICAL structural risk, with the findings named. |
rh_stock_pairs | Memecoins quoted in tokenized stocks (NVDA, SPY, TSLA) on Robinhood Chain, with liquidity and latest scan risk. |
rh_chain_stats | How Robinhood Chain measures from PumpPill's index, recomputed hourly with the method in the payload. |
rh_whale_wallets | Wallets holding 10+ ETH or $50K+ in tokens, read as on-chain balances, tiered by dollars held. Measures who can move a pool, not who is right. |
rh_wallet_record | One Robinhood Chain wallet's holdings and trades off the chain's own feed. Sell sizes are floors, never profit. |
rh_early_wallets | Robinhood Chain wallets whose first buy landed early on tokens that later crossed $100K, with the base rate beside every rate. |
sol_early_wallets | Solana wallets recorded among a token's first buyers on tokens that later reached 5x, with the base rate beside every rate. |
sol_token_detail | Any Solana token by mint: holders, bundled-launch read, what the deployer still holds, socials, and a one-sentence verdict. |
outcomes_measured | Forward-measured outcomes across both chains: the share of logged tokens that doubled, reached 5x, 10x, or never moved. Losers are in the denominator. |
exit_check | Can this token be sold, and what can the deployer still do to it: mint and freeze authority, dev share of supply, the liquidity position. Both chains. |
search | Find PumpPill's read for a Robinhood Chain address, a Solana mint, or a ticker. Returns ids for fetch. Built for ChatGPT connectors and deep research. |
fetch | Fetch one result by the id search returned. Returns the stored read as text with its citation and as-of time. |
These answer a PumpPill member. They are listed for everyone; called without a membership they answer with what sits behind them and a link, never an error.
| Tool | What it returns |
|---|---|
rh_scan_now | Reads one Robinhood Chain contract fresh, when the stored read is missing or stale. Spends: capped per member and per day (resets 00:00 UTC). Annotated not read-only and not idempotent, so a well-behaved client asks before calling it. |
premium_calls_recent | The premium call table: Solana tokens PumpPill logged for members, newest first, with the market cap at logging and the move since. |
my_watched_wallets | The Robinhood Chain wallets this member follows: what each holds, its record beside the chain's base rate, recent activity. |
x_chatter | What X has been saying about one contract: posts naming it, distinct accounts, combined reach, and each poster's record on earlier calls. Spends: may use an hourly live-read budget. Annotated not read-only and not idempotent. |
membership_status | Whether this connection carries an active PumpPill membership, its tier, and when it renews. |
pumppill://facts — the quotable fact sheet: what the index covers, headline figures, how to
cite them and what they do not mean.check_before_buying(address) — the full read on one contract, with the limits stated.real_contract_for_ticker(symbol) — which of the contracts using a name is the one that matters.Settings → Connectors → Add custom connector. Name it PumpPill, paste
https://api.pumppill.org/mcp, and leave the OAuth fields empty. The public tools then work in
any chat. The member tools need a header that claude.ai cannot send, so use an editor client for
those.
A Claude Desktop build without custom connectors can bridge over stdio instead; see
examples/claude_desktop_config.json.
One click: Add to Cursor
(GitHub may not open cursor:// links; the same link is on
/for-agents). Or by hand, in ~/.cursor/mcp.json:
The same block works in Windsurf, Cline and other clients that take a remote MCP server.
One click: Add to VS Code
· VS Code Insiders.
Or by hand, in .vscode/mcp.json (VS Code names the transport):
Add it as a connector with the same URL. search and fetch are the tools ChatGPT calls.
A member sends their sign-in token as a header:
The whole connect line can be copied from the member's page at
https://www.pumppill.org/premium. In Cursor that is a "headers" object beside the URL; see
examples/cursor-mcp-member.json. Treat the claim like a
password: keep it in a header, never in a URL, and never commit it.
rh_scan_now and x_chatter. Both are annotated
as not read-only and not idempotent so a client asks before calling them.cite and the as-of timestamp. Figures are recomputed continuously, and a number without
its time goes stale within the hour.found: false is an honest miss. Say so rather than filling the gap.The server records one line per tool call: the tool name, whether it succeeded, how long it took, whether a membership header was present (yes or no), and the name the client declares for itself. It does not record the membership token or who is asking. Member tools send the token to PumpPill only to check the membership. Full policy: https://www.pumppill.org/privacy
Research, not advice. Nothing returned by this server is financial advice, an offer, or a recommendation to buy or sell anything, and a clean read is evidence, not an endorsement. Quote it with attribution and a link to the page the result cites. Terms of use: https://www.pumppill.org/terms · citation terms: https://www.pumppill.org/for-agents#terms
The contents of this repository (documentation, example configs, manifest) are MIT licensed; see LICENSE. The hosted service and the PumpPill name and logo are not covered by it.