hood-mcp
A zero-config data server for read-only queries on Robinhood Chain (stock tokens, memecoins, launches, chain stats) and an opt-in trading server with spend caps and confirm gates for executing swaps and transfers.
README
hood-mcp
Model Context Protocol servers for Robinhood Chain (chain ID 4663).
Two servers, one package: a zero-config data server any MCP client can add in one line, and
an explicitly opt-in trading server for wallets that want to act. Built on
hoodchain, the TypeScript SDK for the chain.
Docs: https://nirholas.github.io/hood-mcp/
Why
Robinhood Chain has two other MCP servers today, both zero-star, days-old, read-only hobby projects. This is the productized one: a full data surface (Stock Tokens, memecoins, launches, chain stats) plus a guarded trading surface with hard spend caps and a confirm gate — built to the standard three.ws holds its agent tooling to.
60-second install
Claude Code
claude mcp add hood-mcp -- npx -y hood-mcp
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"hood-mcp": {
"command": "npx",
"args": ["-y", "hood-mcp"]
}
}
}
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"hood-mcp": {
"command": "npx",
"args": ["-y", "hood-mcp"]
}
}
}
Any stdio MCP client
npx -y hood-mcp
No API key, no wallet, no config. It talks to the public Robinhood Chain RPC and starts answering tool calls immediately.
Two servers
1. hood-mcp — data server (zero-config, read-only)
stdio by default; pass --http (or HOOD_MCP_TRANSPORT=http) for Streamable HTTP on
HOOD_MCP_PORT (default 8730), serving POST /mcp and GET /health.
| Tool | What it does |
|---|---|
get_chain_stats |
Latest block, gas price, TVL, network totals. |
list_stock_tokens |
The 95-token Stock Token registry (ticker, name, contract, feed). |
get_stock_quote |
Chainlink price + Uniswap DEX price + premium/discount + share price for a ticker. |
get_portfolio |
Multiplier-correct Stock Token portfolio + USDG balance for any address. |
get_coin |
Price/volume/liquidity/holders for any token by address (memecoin or Stock Token). |
list_trending_coins |
The chain's trending pools right now. |
get_recent_launches |
Recent NOXA + The Odyssey launches, scanned from on-chain logs. |
watch_launches |
Watch live for new launches for up to 120s. |
search_token |
Find a token by ticker, name, or address. |
HOOD_MCP_NETWORK=mainnet # or testnet — default mainnet
ALCHEMY_KEY= # optional: private RPC instead of public
2. hood-mcp-trading — wallet server (explicitly opt-in)
Separate binary, stdio only, refuses to start unless both are set:
HOOD_MCP_ENABLE_TRADING=1
ROBINHOOD_CHAIN_PRIVATE_KEY=0x...
{
"mcpServers": {
"hood-mcp-trading": {
"command": "npx",
"args": ["-y", "hood-mcp-trading"],
"env": {
"HOOD_MCP_ENABLE_TRADING": "1",
"ROBINHOOD_CHAIN_PRIVATE_KEY": "0xYOUR_KEY"
}
}
}
}
| Tool | What it does |
|---|---|
get_my_portfolio |
This wallet's ETH, USDG, and Stock Token positions. Read-only. |
get_swap_quote |
Quote a Uniswap swap without signing. Read-only. |
execute_swap |
Guarded. Preview → confirm: true → broadcast. Spend-capped. |
transfer_usdg |
Guarded. Preview → confirm: true → broadcast. Spend-capped. |
See Safety model for the full guard design. Summary:
- Kill switch — the server process itself refuses to start without
HOOD_MCP_ENABLE_TRADING=1. - Eligibility gate — buying a tokenized Stock Token requires
HOOD_MCP_ACKNOWLEDGE_ELIGIBILITY=1(Stock Tokens are barred to US/Canada/UK/Switzerland persons — see below). - Spend caps — every mutating call is valued in USD and checked against
HOOD_MCP_MAX_SPEND_USDG(per-call) andHOOD_MCP_MAX_SESSION_USDG(per-session, in-memory, resets on restart) before anything is signed. - Confirm gate — the first call to
execute_swap/transfer_usdgalways returns a simulation (recipient, amount, token, min-received) and signs nothing. Only a second call withconfirm: trueand identical arguments broadcasts.
HOOD_MCP_MAX_SPEND_USDG=25 # default 25 — per single call
HOOD_MCP_MAX_SESSION_USDG=100 # default 100 — cumulative for the process lifetime
HOOD_MCP_ACKNOWLEDGE_ELIGIBILITY=0 # set to 1 ONLY if eligible to hold Stock Tokens
Stock Tokens are tokenized debt securities (issuer: Robinhood Assets (Jersey) Ltd) and may
not be offered, sold, or delivered to US persons (additional limits: Canada, UK, Switzerland).
The restriction is legal/front-end enforced, not contract-level — execute_swap throws unless
the operator has explicitly acknowledged eligibility. Memecoins are unrestricted.
Environment reference
See .env.example for the full annotated list. Nothing is required for the
data server; the trading server requires the two kill-switch variables above.
x402 monetization (seam, not active)
The HTTP transport has a documented seam (src/x402-seam.ts) to paywall future metered tools
(deep history, firehose) via the sibling hood402 USDG-on-Robinhood-Chain x402
rail once it exists. Every tool this package ships today stays free regardless.
Development
npm install
npm run build # tsup → dist/
npm run dev:data # tsx src/data-server.ts (stdio)
npm run dev:trading # tsx src/trading-server.ts (stdio, needs env)
npm test # hermetic: schema + guard tests (real network reads, no wallet funds)
npm run test:live # live: every data tool against real mainnet 4663 data
npm run test:swap # live, gated: a REAL testnet swap through execute_swap (needs a
# faucet-funded ROBINHOOD_CHAIN_PRIVATE_KEY — see the test file)
Depends on hoodchain from npm; for local development against an unpublished SDK checkout:
npm i ../robinhood-chain-sdk.
Registry submissions (owner action)
Metadata is prepared, not submitted — publishing to a registry is a one-way, attributed action the owner should take:
- modelcontextprotocol registry —
server.jsonin this repo validates against the official schema. Submit with themcp-publisherCLI oncehood-mcpis live on npm. - Smithery — their current flow publishes a running server URL or an
.mcpbbundle (smithery mcp publish <url> -n <org/server>), not a static config file. Deploy the HTTP transport (hood-mcp --http) somewhere public, then runsmithery mcp publish https://your-deployment/mcp -n nirholas/hood-mcp.
License
Apache License 2.0 © 2026 nirholas
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。