rhc-mcp
Enables AI agents to interact with Robinhood Chain, reading stock-token positions, quoting swaps, and executing swaps on the Robinhood Chain network.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@rhc-mcpQuote 1 NVDA to USDC"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
rhc-mcp
An MCP server for Robinhood Chain — the on-chain agentic surface Robinhood's own agent can't reach.
Robinhood's Agentic Trading exposes an MCP server so any Claude / ChatGPT / MCP agent can trade — but it's off-chain, US-only, equities-only. It can't see or touch the tokenized Robinhood Chain stock tokens.
rhc-mcp is the complement: point any MCP-speaking agent at Robinhood Chain and let it read
on-chain stock-token positions, see the real total-return value ERC-20 reads hide, quote, and swap —
over the same Model Context Protocol. Read tools need no key; swapping is off by default and heavily
guarded.
Swaps go through Robinhood Chain's Uniswap v4 UniversalRouter directly — nothing to deploy. One
catch worth knowing: the chain forks the v4 swap struct with an extra minHopPriceX36 field, so stock
Uniswap SDK calldata reverts. This encoder adds it (verified byte-identical to real on-chain swaps). The
sibling repo RHCSwap is an alternate route (a tiny contract
that hits the v4 PoolManager directly) if you'd rather not touch Permit2.
How it fits
flowchart LR
A["AI agent<br/>(Claude · ChatGPT · any MCP client)"]
subgraph RH["Robinhood's MCP"]
O["off-chain brokerage<br/>US · equities only"]
end
subgraph THIS["rhc-mcp (this repo)"]
T["get_positions · quote_swap · execute_swap"]
end
subgraph CHAIN["Robinhood Chain (Arbitrum Orbit, id 4663)"]
R["stock tokens<br/>balanceOf + uiMultiplier"]
Q["Uniswap v4 Quoter"]
S["UniversalRouter + Permit2<br/>(v4 swap)"]
end
A -->|off-chain trades| O
A -->|on-chain, this repo| T
T --> R
T --> Q
T --> SRelated MCP server: robinhood-mcp
Tools
Tool | Access | What it does |
| read | Chain / RPC / contract addresses; reports whether swapping is enabled or read-only. |
| read | A wallet's stock-token positions: raw balance, |
| read | Exact-input single-hop quote via the Uniswap v4 Quoter. Proves the pool has liquidity and sizes |
| write | Executes a swap via the Uniswap v4 UniversalRouter (+ Permit2 for ERC-20 input) — no deployed contract. Dry-run by default; guarded (see Safety). |
The uiMultiplier insight
Stock tokens are ERC-8056 total-return tokens: raw balanceOf
is static, and uiMultiplier() (1e18-scaled) grows as in-kind dividends reinvest and on splits.
A naive ERC-20 balance read understates what a holder actually owns. get_positions surfaces both
and the gap between them — the on-chain yield an agent would otherwise miss.
Install
git clone https://github.com/jumpboxtech/rhc-mcp && cd rhc-mcp
npm install && npm run build
cp .env.example .env # edit for swapping; read tools need nothingWire it to an agent
Claude Code:
claude mcp add rhc-mcp -- node /absolute/path/to/rhc-mcp/dist/index.jsClaude Desktop / any MCP client (claude_desktop_config.json):
{
"mcpServers": {
"rhc-mcp": {
"command": "node",
"args": ["/absolute/path/to/rhc-mcp/dist/index.js"],
"env": { "RHC_RPC_URL": "https://rpc.mainnet.chain.robinhood.com" }
}
}
}Then ask your agent: "What are my Robinhood Chain positions for 0x…?" or "Quote 1 NVDA to USDG."
Safety model
execute_swap moves real funds, so it is deliberately locked down:
Read-only by default — with no
RHC_PRIVATE_KEY, the server can only read; swaps are refused.Key never touches the tool surface — the signer comes only from
RHC_PRIVATE_KEY, never a tool argument, and is never returned or logged.Dry-run by default —
execute_swapreturns the plan (expected out, enforced min out, and which Permit2 approvals a real run would send) without sending unless the caller passesdryRun: false.Hard size cap —
RHC_MAX_SWAP_AMOUNT(whole input tokens, default1) bounds any single swap.Slippage always enforced — a real
minAmountOutis required, taken from the argument or derived from a fresh quote minusslippageBps.Scoped Permit2 grant — the Permit2 → router allowance is scoped to
amountInwith a short (~1h) expiry, not an unbounded standing approval.
Configuration
Env | Required for | Meaning |
| – | RPC endpoint (defaults to the public mainnet RPC). |
| swapping | Signer key. Unset ⇒ read-only. Keep it in a real secret store. |
| swapping | Per-swap input cap in whole tokens (default |
Robinhood Chain addresses (chain id 4663)
Contract | Address |
UniversalRouter (the real one; 2 decoys exist) |
|
Permit2 |
|
Uniswap v4 PoolManager |
|
StateView |
|
Quoter |
|
RPC: https://rpc.mainnet.chain.robinhood.com · Explorer: robinhoodchain.blockscout.com
Scope & limits
Exact-input, single-hop, hookless pools — deliberately minimal. Exact-output and multi-hop aren't
covered (and haven't been checked for the same minHopPriceX36 quirk). The known-token registry is a
small starter set (USDG, NVDA); pass any 0x address directly. Unaudited — read it before you route
funds through it.
License
MIT © jumpbox — jumpbox.tech · @jumpbox_tech
Maintenance
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides access to real-time stock prices, financial statements, news, and options data via the Model Context Protocol. It enables AI assistants to retrieve comprehensive market data, including historical prices and analyst recommendations, through a standardized interface.91MIT
- Flicense-qualityDmaintenanceEnables AI models to manage Robinhood portfolios, execute trades, and run automated trading bots with stop-loss/take-profit monitoring.1
- AlicenseAqualityBmaintenanceEnables agents to query live Robinhood Chain data including tokens, wallets, Chainlink feeds, heat scores, and tracking error on tokenized equities, all read-only without API keys.42MIT
- AlicenseAqualityCmaintenanceEnables AI agents to interact with Robinhood Chain via USDG payments, offering tools for balance, pricing, trading, and more.1882MIT
Related MCP Connectors
The financial MCP for AI agents - 90+ financial tables, SEC filings, signals, alt-data.
Read-only MCP for Rialto quotes and swap preflight on Robinhood Chain. No signing or broadcast.
MCP marketplace: agents pay per call in USDC via x402. Plus Base chain data and a USDC<->bank ramp.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jumpboxtech/rhc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server