Skip to main content
Glama
MadeOnSol

mcp-server-robinhood-chain

by MadeOnSol

mcp-server-robinhood-chain

npm version npm downloads MCP License: MIT

๐Ÿ“š API docs ยท ๐Ÿค– Robinhood Chain ยท ๐Ÿ’ฐ Free API key

Robinhood Chain MCP server โ€” EVM-native on-chain trading intelligence for AI agents, chain id 4663.

Give Claude, Cursor, or any MCP client direct access to Robinhood Chain (an Arbitrum Orbit L2) trading data from our self-hosted RHC node: real-time KOL trades plus coordination and first-touch discovery signals, the full Uniswap v2/v3/v4 DEX trade tape, token discovery with launch-bundle + early-buyer-quality detection (single and batch), 1-minute OHLC candles, deployer reputation across 99k+ ranked deployers (leaderboard, alerts, trajectory, per-deployer launch history), and smart-money wallet ranking โ€” plus full CRUD over the RHC rule engines: copy-trade rules, market-cap dip/recovery price alerts, KOL-coordination alerts and first-touch push subscriptions, all with per-chain quotas. Every tool is EVM-native โ€” lowercase 0x addresses, eth_amount, tx_hash, block_number, net_flow_eth. The KOLโ†’EVM mapping is recovered by tracing each Solana KOL's bridge deposits (deBridge / Relay / Mayan / Wormhole), a dataset unique to MadeOnSol.

RHC coverage is bundled into every tier at no extra cost. Get a free API key (200 req/day, no card) at madeonsol.com/pricing.

0.8.1 โ€” version alignment with the wider RHC SDK release: WebSocket stream tokens (POST /api/v1/stream/token) never expire since 2026-08-27 โ€” the same token comes back on every call, expires_at / next_refresh_at are always null, and only an explicit {"rotate": true} replaces one. This MCP server exposes REST tools, not WebSocket channels, and has no stream-token tool, so no tool behavior changed.

0.5.0 โ€” version alignment with the wider RHC SDK release: the stream channel names were corrected in the TS/Python/Rust SDKs (the RHC firehose channel is rhc:dex_trades; the server accepts rhc:trades only as a deprecated alias of it). This MCP server exposes REST tools, not WebSocket channels, so no tool behavior changed โ€” the rhc_trades tool (the GET /rhc/trades tape) is unaffected.

Key-mode only. Authenticate with an msk_ Bearer API key (MADEONSOL_API_KEY). Robinhood Chain does have a keyless x402 pay-per-call rail โ€” a deliberately narrow 6-endpoint subset, documented at madeonsol.com/robinhood/x402 โ€” but it is not part of this server.

New in 0.8.0 โ€” tokenized equities + the liquidity-removals feed. Two new tools. rhc_equities (GET /rhc/equities, BASIC) lists every official Robinhood tokenized stock and ETF (NVDA, SPY, AAPL, โ€ฆ) with live price / MC / liquidity and 24h trades, ETH volume and buyer-seller split, sortable by volume / trades / market_cap / last_trade / symbol, filterable by exact symbol or substring q. Identity is the issuer beacon, never the name: a token is listed only if its contract is an EIP-1967 beacon proxy on Robinhood's issuer beacon 0xe10b6f6bโ€ฆ151b00, read from our own node โ€” on ship day there were 20 fake "GameStop โ€ข Robinhood Token" contracts and 8 fake NVDAs with the exact official suffix, and none of them appear. rhc_lp_events (GET /rhc/lp-events, PRO+) is the rug signal: Uniswap v2/v3 Burn and v4 ModifyLiquidity with a negative delta on tracked pools, from our node's log subscription, filterable by token / pool / provider / dex and cursor-paginated on next_before. Removals only โ€” adds are not persisted (the response's coverage block says adds_persisted: false), amounts are raw uint256 strings, v4 rows carry liquidity only, and provider_is_token_deployer is the classic rug tell. Data since 2026-08-05.

New in 0.7.0 โ€” holder_growth: who arrived and who left. The rhc_token_holders tool now returns holder_growth on GET /rhc/tokens/{address}/holders: { "1h", "24h", "7d" } ร— { cutoff_block, entered, entered_still_holding, exited, net }. entered = addresses whose first Transfer of the token landed at-or-after the window's cutoff block (any current balance); entered_still_holding = those still non-zero; exited = pre-existing holders whose last movement in the window left them at zero; net โ‰ˆ the change in holder_count. Pools and burn addresses are excluded from every count. This exists because RHC balances are folded from ERC-20 Transfer logs on our own node โ€” the fold keeps first-seen and last-moved blocks per address and retains zero-balance rows โ€” so it is a direct read, not an estimate; the Solana census is a point-in-time ledger scan with no history and cannot answer this. A window is null (never 0) only when the chain had no ingested trades in it; the whole block is null only if the growth read failed. Sanity check from ship day: a token launched that morning showed 593 entered / 560 still holding over 24h, and holder_count was exactly 560.

New in 0.6.0 โ€” wallet intelligence. Ten new operations covering the Robinhood Chain wallet surface, which had no SDK binding at all until now: rhc_wallet, rhc_wallet_pnl, rhc_wallet_positions, rhc_wallet_trades, plus the watchlist tools โ€” rhc_wallet_tracker_list, rhc_wallet_tracker_add, rhc_wallet_tracker_remove, rhc_wallet_tracker_relabel, rhc_wallet_tracker_trades and rhc_wallet_tracker_summary. Everything is ETH-denominated, and cost basis is FIFO over a rolling 90-day window โ€” cost_basis_observable_from names the date the window opens, so a position opened before it reads as a sell with no matching buy. The profile / PnL / positions trio shares ONE snapshot cache server-side, so calling all three on an address costs roughly one computation rather than three; cache_hit says which call paid for it. Watchlist quotas are per chain (PRO 50 / ULTRA 100 / BUSINESS 500 RHC wallets), independent of your Solana list.

Install & configure

Add to your MCP client config (Claude Desktop, Cursor, Claude Code). No install step โ€” npx fetches it on first run:

{
  "mcpServers": {
    "robinhood-chain": {
      "command": "npx",
      "args": ["-y", "mcp-server-robinhood-chain"],
      "env": {
        "MADEONSOL_API_KEY": "msk_your_api_key_here"
      }
    }
  }
}

Then ask your agent things like "What are tracked KOLs buying on Robinhood Chain right now?" or "Score the early-buyer cohort for token 0xโ€ฆ on chain 4663."

Transports

  • stdio (default) โ€” for local clients (Claude Desktop, Cursor, Claude Code).

  • http โ€” set MCP_TRANSPORT=http (+ optional PORT, default 3100) for hosted environments (Smithery, etc.). Exposes /health and /.well-known/mcp/server-card.json.

Related MCP server: Hoodly GMGN Robinhood Research MCP

Tools โ€” all 64 Robinhood Chain routes

Each tool maps 1:1 to a Robinhood Chain v1 API route. 49 are reads (GET, plus the two batch tools which POST an address list only because it is too long for a query string) and 15 genuinely write (POST / PATCH / DELETE on the rule engines, plus the three wallet-watchlist mutations) โ€” those are marked โœ๏ธ / ๐Ÿ—‘๏ธ below and carry non-readOnly MCP annotations, so a well-behaved client will not call them speculatively. Fields are EVM-native.

Reads

Tool

Route

Tier

Description

rhc_kol_feed

/api/v1/rhc/kol/feed

BASIC

KOL trade feed with MC/peak enrichment and mc_multiple_since_trade (real-time on PRO+; 5-min delay on free keys)

rhc_kol_leaderboard

/api/v1/rhc/kol/leaderboard

BASIC

KOLs ranked by trade count then net ETH flow (24h/7d/30d)

rhc_kol_hot_tokens

/api/v1/rhc/kol/hot-tokens

BASIC

Consensus tokens bought by 2+ distinct KOLs in the window

rhc_kol_profile

/api/v1/rhc/kol/{wallet}

BASIC

Single KOL profile โ€” stats over last 200 trades + 50 recent

rhc_kol_coordination

/api/v1/rhc/kol/coordination

BASIC

Tokens bought by min_kols+ distinct KOLs โ€” net ETH, accumulating vs distributing, time_to_consensus_sec, per-KOL breakdown

rhc_kol_first_touches

/api/v1/rhc/kol/first-touches

BASIC

Earliest KOL buy per token (discovery signal) โ€” MC at entry, token age, tx_hash. evm_address on ULTRA only

rhc_trades

/api/v1/rhc/trades

PRO+

DEX trade tape โ€” Uniswap v2/v3/v4 swaps with the effective trader_eoa + MEV fields

rhc_lp_events

/api/v1/rhc/lp-events

PRO+

Liquidity removals feed (the rug signal) โ€” v2/v3 Burn + v4 negative ModifyLiquidity, raw uint256 strings, provider_is_token_deployer. Removals only, adds are not persisted

rhc_tokens

/api/v1/rhc/tokens

PRO+

Token discovery โ€” MC, liquidity, peak MC + drawdown, launchpad, deployer tier

rhc_equities

/api/v1/rhc/equities

BASIC

Tokenized stocks & ETFs (NVDA, SPY, AAPLโ€ฆ) โ€” live price/MC/liquidity + 24h trades / ETH volume / buyer-seller split. Identity = issuer beacon 0xe10bโ€ฆ151b00, never the name

rhc_token

/api/v1/rhc/tokens/{address}

BASIC

Token snapshot โ€” price/MC/FDV, deployer block, KOL activity, pools

rhc_token_batch

POST /api/v1/rhc/token/batch

BASIC

Up to 50 tokens in one call โ€” price/MC/FDV, peak MC, deployer reputation. Unknown addresses echo back as found: false

rhc_token_candles

/api/v1/rhc/tokens/{address}/candles

PRO+

1-minute OHLC candles โ€” price + MC OHLC, volume with buy/sell split

rhc_token_kol_consensus

/api/v1/rhc/tokens/{address}/kol-consensus

PRO+

KOL positioning โ€” buyers/sellers, exit rate, net_flow_eth, median entry MC

rhc_token_buyer_quality

/api/v1/rhc/tokens/{address}/buyer-quality

BASIC

0โ€“100 early-buyer quality with bundle-buyer + dump-cluster legs

rhc_token_batch_buyer_quality

POST /api/v1/rhc/tokens/batch/buyer-quality

BASIC

Buyer quality for up to 20 tokens in one call (cap is 20, not 50 โ€” it's a per-token cohort computation)

rhc_token_bundle

/api/v1/rhc/tokens/{address}/bundle

BASIC

Launch-bundle detection (same_block) + how much the cohort still holds

rhc_token_top_traders

/api/v1/rhc/tokens/{address}/top-traders

PRO+

Top traders by realized ETH flow (net_eth = sell โˆ’ buy, not PnL) + wallet reputation

rhc_token_flow

/api/v1/rhc/tokens/{address}/flow

PRO+

Net buy/sell by mutually-exclusive cohort โ€” positive net_eth means that cohort distributed

rhc_token_peak_history

/api/v1/rhc/tokens/{address}/peak-history

PRO+

Peak MC, drawdown, high-water curve โ€” peak_mc_usd_recorded vs peak_mc_usd_observed

rhc_token_risk

/api/v1/rhc/tokens/{address}/risk

PRO+

EVM-native risk computed live โ€” proxy upgradeability, LP custody, uncached honeypot sell-sim

rhc_token_holders

/api/v1/rhc/tokens/{address}/holders

PRO+

Exact holders + concentration from Transfer-log replay, reconciled against totalSupply(). Check verified first. holder_growth (1h/24h/7d): entered, entered_still_holding, exited, net โ‰ˆ ฮ” holder_count

rhc_deployer_leaderboard

/api/v1/rhc/deployer-hunter/leaderboard

BASIC

99k+ deployers ranked by reputation โ€” graduation_rate ($40K), runner_rate ($100K); tier rides runner_rate

rhc_deployer_profile

/api/v1/rhc/deployer-hunter/{address}

BASIC

Single deployer profile + 50 most recent tokens

rhc_deployer_tokens

/api/v1/rhc/deployer-hunter/{address}/tokens

BASIC

Paginated launch history with live + peak MC (sort=peak_mc_usd is page-scoped)

rhc_deployer_history

/api/v1/rhc/deployer-hunter/{address}/history

PRO+

Deep-paginated deploy history (up to 1000/page) with an exact total

rhc_deployer_trajectory

/api/v1/rhc/deployer-hunter/{address}/trajectory

BASIC

Improving or declining? Streaks, 10-launch rolling success curve, best/worst stretch. Success = $40K graduation

rhc_deployer_best_tokens

/api/v1/rhc/deployer-hunter/best-tokens

BASIC

Highest peak-MC tokens launched by elite/good deployers in the window

rhc_deployer_stats

/api/v1/rhc/deployer-hunter/stats

BASIC

Chain-wide summary โ€” tier populations, spam share, alert volume, active tier_rules

rhc_deployer_alerts

/api/v1/rhc/deployer-hunter/alerts

BASIC

Deployer alerts โ€” tradability-filtered by default, tier resolved at read time (tier_at_alert, tier_is_stale)

rhc_recent_bonds

/api/v1/rhc/deployer-hunter/recent-bonds

BASIC

Tokens that just crossed the $40K peak-MC graduation milestone, newest peak first

rhc_alpha_wallets

/api/v1/rhc/alpha-wallets

PRO+

Smart-money wallets โ€” net_eth, win_rate, memecoin_share, likely_bot

rhc_wallet

/api/v1/rhc/wallet/{address}

PRO+

Wallet 90-day profile โ€” ETH PnL, per-token breakdown, reputation flags (shares one snapshot cache with pnl/positions)

rhc_wallet_pnl

/api/v1/rhc/wallet/{address}/pnl

PRO+

FIFO cost-basis PnL over the rolling 90-day window โ€” curve, closed + open positions; cost_basis_observable_from

rhc_wallet_positions

/api/v1/rhc/wallet/{address}/positions

PRO+

Open positions marked to market โ€” check liquidity_basis

rhc_wallet_trades

/api/v1/rhc/wallet/{address}/trades

PRO+

One wallet's trade tape, keyset-paginated by wallet (not token)

rhc_wallet_tracker_list

/api/v1/rhc/wallet-tracker/watchlist

PRO+

List your RHC watchlist โ€” quota is per chain

โœ๏ธ rhc_wallet_tracker_add

POST /api/v1/rhc/wallet-tracker/watchlist

PRO+

Track a wallet (address lowercased on write); 409 if already tracked, 403 at cap

๐Ÿ—‘๏ธ rhc_wallet_tracker_remove

DELETE /api/v1/rhc/wallet-tracker/watchlist/{address}

PRO+

Untrack a wallet, freeing a quota slot

โœ๏ธ rhc_wallet_tracker_relabel

PATCH /api/v1/rhc/wallet-tracker/watchlist/{address}

PRO+

Relabel a tracked wallet; null clears the label

rhc_wallet_tracker_trades

/api/v1/rhc/wallet-tracker/trades

PRO+

Merged trade feed across your tracked wallets, label-tagged

rhc_wallet_tracker_summary

/api/v1/rhc/wallet-tracker/summary

PRO+

Per-wallet rollup from rhc_trades โ€” full history, not capture-log scoped

rhc_copytrade_list

/api/v1/rhc/copytrade/subscriptions

PRO+

List your copy-trade rules

rhc_copytrade_get

/api/v1/rhc/copytrade/subscriptions/{id}

PRO+

One copy-trade rule by numeric id

rhc_copytrade_signals

/api/v1/rhc/copytrade/signals

PRO+

Fire history, 7-day retention โ€” the catch-up path after a missed webhook

rhc_price_alerts_list

/api/v1/rhc/price-alerts

PRO+

List your market-cap dip/recovery alerts

rhc_price_alerts_get

/api/v1/rhc/price-alerts/{id}

PRO+

One price alert by numeric id, with its captured baseline_mc_usd

rhc_price_alerts_events

/api/v1/rhc/price-alerts/events

PRO+

dip / recovery fire history, 30-day retention

rhc_coordination_alerts_list

/api/v1/rhc/kol/coordination/alerts

PRO+

List your KOL-coordination alert rules

rhc_coordination_alerts_get

/api/v1/rhc/kol/coordination/alerts/{id}

PRO+

One coordination rule by UUID

rhc_first_touch_subscriptions_list

/api/v1/rhc/kol/first-touches/subscriptions

ULTRA+

List your first-touch push subscriptions

rhc_first_touch_subscriptions_get

/api/v1/rhc/kol/first-touches/subscriptions/{id}

ULTRA+

One first-touch subscription by UUID

Writes โ€” rule engines

These mutate server state, consume per-tier quota and fire webhooks. They are annotated readOnlyHint: false; the deletes additionally carry destructiveHint: true. Creates are not idempotent โ€” calling one twice makes two rules and can hit the cap with a 409.

Tool

Route

Tier

Description

โœ๏ธ rhc_copytrade_create

POST /api/v1/rhc/copytrade/subscriptions

PRO+

Create a copy-trade rule. Returns webhook_secret once

โœ๏ธ rhc_copytrade_update

PATCH /api/v1/rhc/copytrade/subscriptions/{id}

PRO+

Patch a rule; source_wallets is a whole-list replace, re-checked against the tier cap

๐Ÿ—‘๏ธ rhc_copytrade_delete

DELETE /api/v1/rhc/copytrade/subscriptions/{id}

PRO+

Permanent. Use is_active: false to pause instead

โœ๏ธ rhc_price_alerts_create

POST /api/v1/rhc/price-alerts

PRO+

Create an MC dip (+ optional recovery) alert. Baseline is captured now

โœ๏ธ rhc_price_alerts_update

PATCH /api/v1/rhc/price-alerts/{id}

PRO+

Only name / delivery_mode / webhook_url / is_active โ€” thresholds are immutable

๐Ÿ—‘๏ธ rhc_price_alerts_delete

DELETE /api/v1/rhc/price-alerts/{id}

PRO+

Permanent. Recreating re-captures the baseline, so delete+recreate is not a no-op

โœ๏ธ rhc_coordination_alerts_create

POST /api/v1/rhc/kol/coordination/alerts

PRO+

Fire when min_kols+ KOLs buy the same token inside window_minutes

โœ๏ธ rhc_coordination_alerts_update

PATCH /api/v1/rhc/kol/coordination/alerts/{id}

PRO+

Patch thresholds, MC band, delivery, is_active

๐Ÿ—‘๏ธ rhc_coordination_alerts_delete

DELETE /api/v1/rhc/kol/coordination/alerts/{id}

PRO+

Permanent

โœ๏ธ rhc_first_touch_subscriptions_create

POST /api/v1/rhc/kol/first-touches/subscriptions

ULTRA+

Push on a token's first tracked-KOL buy. Unknown filter keys are rejected

โœ๏ธ rhc_first_touch_subscriptions_update

PATCH /api/v1/rhc/kol/first-touches/subscriptions/{id}

ULTRA+

filters replaces the stored object wholesale โ€” omitted keys are dropped

๐Ÿ—‘๏ธ rhc_first_touch_subscriptions_delete

DELETE /api/v1/rhc/kol/first-touches/subscriptions/{id}

ULTRA+

Permanent

Rule-engine quotas are PER CHAIN. A full set of Solana copy-trade rules, price alerts, coordination rules or first-touch subscriptions does not consume your RHC allowance, and vice versa.

Engine

PRO

ULTRA

BUSINESS

Copy-trade rules (source wallets each)

3 (5)

20 (50)

100 (250)

Price alerts (active)

5

25

125

Coordination rules

5

20

100

First-touch subscriptions

โ€”

10

50

BASIC works with any valid key. PRO+ tools return HTTP 403 on a BASIC key โ€” upgrade at madeonsol.com/pricing.

Five things agents get wrong

  • RHC price alerts are polled, not pushed. Evaluation is a ~15 second poll of the RHC price table โ€” the RHC price writer emits no pg_notify, so there is nothing to react to. Effective latency is that interval plus the token's own price-update cadence. Do not promise parity with the Solana price alerts, which are sub-second. fired_at on an event is the poll tick that observed the move, not the on-chain moment.

  • RHC copy-trade has no market-cap band. There is no min_mc_usd / max_mc_usd on a copy-trade rule, unlike the Solana engine, because the RHC KOL trade event carries no market cap โ€” the filter would need a per-event DB read on a ~3.3M-trades/day chain, or it would silently never match. Filter on min_trade_eth and only_action instead.

  • trader_eoa is not simply tx.from. It is the effective trading account: tx.from on an ordinary transaction, but the ERC-4337 userOp sender (UserOperationEvent) when the trade was bundled โ€” never the bundler that relayed the batch, and never the router. It is still an EOA either way; on Robinhood Chain a userOp sender is an ordinary EOA carrying an EIP-7702 delegation, not a smart-contract wallet. Attribute trades and rank wallets on trader_eoa; the separate trader field is only the swap-log recipient, which is the router on aggregated swaps.

  • rhc_deployer_alerts filters for tradability by default. Alerts on tokens with liquidity_usd under $100 (including unknown liquidity) are dropped โ€” a $45K-MC alert on a drained $68 pool is not a signal. Pass include_untradeable: true for the raw tape; the response always echoes the active tradability_filter. The alert's tier is resolved from the live reputation view at read time, so it can never advertise a reputation the deployer has since lost โ€” the snapshot taken when the alert fired is returned separately as tier_at_alert, with tier_is_stale flagging the drift.

  • graduation_rate no longer sets the tier. It still means the $40K peak-MC bar and is still returned everywhere, but elite/good are earned on runner_rate ($100K) plus 24h of deployer history. Ranking deployers by graduation_rate is ranking them on a metric the tier ignores.

Why Robinhood Chain

Robinhood Chain is dual-natured โ€” launchpad memecoins (pons / flap / clanker / hood.fun / virtuals) alongside tokenized stocks and stablecoins. Most launchpads are direct-to-DEX (no bonding curve), so "graduation" is a market-cap milestone: graduation_rate = share of a deployer's tokens that reached a $40K+ peak MC, runner_rate = share that reached $100K+. The elite/good tier rides runner_rate and requires 24h of deployer history (elite = 5+ tokens, 24h+ old, runner_rate >= 0.50; good = >= 0.25) โ€” graduation_rate is still reported but no longer sets the tier, since the $40K bar proved farmable; only spammer still keys off it (20+ tokens, graduation_rate < 0.05). Because it's an Arbitrum Orbit L2 with no atomic multi-signer transaction, a detected launch bundle is same_block (there is no atomic_tx).

License

MIT ยฉ MadeOnSol

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Read-only MCP server for Robinhood chain launchpad discovery and token due diligence using GMGN data.
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server providing x402-paid tools for tokenized stock data on EVM chains, including premium/discount, liquidity, whale activity, and a guarded trading wrapper for Robinhood Chain.
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MadeOnSol/mcp-server-robinhood-chain'

If you have feedback or need assistance with the MCP directory API, please join our Discord server