Server data from the Official MCP Registry
Robinhood Chain data + guarded trading for AI agents: Stock Token quotes, portfolios, launches
Robinhood Chain data + guarded trading for AI agents: Stock Token quotes, portfolios, launches
hood-mcp is a well-structured MCP server for Robinhood Chain with thoughtful safety guards on trading operations. The codebase demonstrates good security practices for authentication (explicit opt-in for trading), spend caps, and confirmation gates. However, there are moderate concerns around private key handling in environment variables, broad network permissions for API calls, and some input validation gaps that should be addressed. Supply chain analysis found 1 known vulnerability in dependencies (1 critical, 0 high severity). Package verification found 1 issue.
5 files analyzed · 10 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: HOOD_MCP_NETWORK
Environment variable: ALCHEMY_KEY
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-nirholas-hood-mcp": {
"env": {
"ALCHEMY_KEY": "your-alchemy-key-here",
"HOOD_MCP_NETWORK": "your-hood-mcp-network-here"
},
"args": [
"-y",
"hood-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
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/robinhood-chain-mcp/
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.
claude mcp add hood-mcp -- npx -y hood-mcp
Add to claude_desktop_config.json:
{
"mcpServers": {
"hood-mcp": {
"command": "npx",
"args": ["-y", "hood-mcp"]
}
}
}
Add to .cursor/mcp.json:
{
"mcpServers": {
"hood-mcp": {
"command": "npx",
"args": ["-y", "hood-mcp"]
}
}
}
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.
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
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:
HOOD_MCP_ENABLE_TRADING=1.HOOD_MCP_ACKNOWLEDGE_ELIGIBILITY=1
(Stock Tokens are barred to US/Canada/UK/Switzerland persons — see below).HOOD_MCP_MAX_SPEND_USDG (per-call) and HOOD_MCP_MAX_SESSION_USDG (per-session,
in-memory, resets on restart) before anything is signed.execute_swap / transfer_usdg always returns a
simulation (recipient, amount, token, min-received) and signs nothing. Only a second call
with confirm: true and 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.
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.
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.
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.
Metadata is prepared, not submitted — publishing to a registry is a one-way, attributed action the owner should take:
server.json in this repo validates against the
official schema.
Submit with the mcp-publisher CLI once
hood-mcp is live on npm..mcpb bundle
(smithery mcp publish <url> -n <org/server>), not a static config file. Deploy the HTTP
transport (hood-mcp --http) somewhere public, then run
smithery mcp publish https://your-deployment/mcp -n nirholas/hood-mcp.All rights reserved. See LICENSE.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.