{
  "markdown": "# hood-mcp\n\n**Model Context Protocol servers for [Robinhood Chain](https://docs.robinhood.com/chain/) (chain ID 4663).**\n\nTwo servers, one package: a **zero-config data server** any MCP client can add in one line, and\nan **explicitly opt-in trading server** for wallets that want to act. Built on\n[`hoodchain`](https://nirholas.github.io/robinhood-chain-sdk/), the TypeScript SDK for the chain.\n\nDocs: **https://nirholas.github.io/robinhood-chain-mcp/**\n\n## Why\n\nRobinhood Chain has two other MCP servers today, both zero-star, days-old, read-only hobby\nprojects. This is the productized one: a full data surface (Stock Tokens, memecoins, launches,\nchain stats) plus a guarded trading surface with hard spend caps and a confirm gate — built to\nthe standard three.ws holds its agent tooling to.\n\n## 60-second install\n\n### Claude Code\n\n```bash\nclaude mcp add hood-mcp -- npx -y hood-mcp\n```\n\n### Claude Desktop\n\nAdd to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"hood-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"hood-mcp\"]\n    }\n  }\n}\n```\n\n### Cursor\n\nAdd to `.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"hood-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"hood-mcp\"]\n    }\n  }\n}\n```\n\n### Any stdio MCP client\n\n```bash\nnpx -y hood-mcp\n```\n\nNo API key, no wallet, no config. It talks to the public Robinhood Chain RPC and starts\nanswering tool calls immediately.\n\n## Two servers\n\n### 1. `hood-mcp` — data server (zero-config, read-only)\n\nstdio by default; pass `--http` (or `HOOD_MCP_TRANSPORT=http`) for Streamable HTTP on\n`HOOD_MCP_PORT` (default `8730`), serving `POST /mcp` and `GET /health`.\n\n| Tool | What it does |\n|---|---|\n| `get_chain_stats` | Latest block, gas price, TVL, network totals. |\n| `list_stock_tokens` | The 95-token Stock Token registry (ticker, name, contract, feed). |\n| `get_stock_quote` | Chainlink price + Uniswap DEX price + premium/discount + share price for a ticker. |\n| `get_portfolio` | Multiplier-correct Stock Token portfolio + USDG balance for any address. |\n| `get_coin` | Price/volume/liquidity/holders for any token by address (memecoin or Stock Token). |\n| `list_trending_coins` | The chain's trending pools right now. |\n| `get_recent_launches` | Recent NOXA + The Odyssey launches, scanned from on-chain logs. |\n| `watch_launches` | Watch live for new launches for up to 120s. |\n| `search_token` | Find a token by ticker, name, or address. |\n\n```bash\nHOOD_MCP_NETWORK=mainnet   # or testnet — default mainnet\nALCHEMY_KEY=                # optional: private RPC instead of public\n```\n\n### 2. `hood-mcp-trading` — wallet server (explicitly opt-in)\n\nSeparate binary, stdio only, refuses to start unless **both** are set:\n\n```bash\nHOOD_MCP_ENABLE_TRADING=1\nROBINHOOD_CHAIN_PRIVATE_KEY=0x...\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"hood-mcp-trading\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"hood-mcp-trading\"],\n      \"env\": {\n        \"HOOD_MCP_ENABLE_TRADING\": \"1\",\n        \"ROBINHOOD_CHAIN_PRIVATE_KEY\": \"0xYOUR_KEY\"\n      }\n    }\n  }\n}\n```\n\n| Tool | What it does |\n|---|---|\n| `get_my_portfolio` | This wallet's ETH, USDG, and Stock Token positions. Read-only. |\n| `get_swap_quote` | Quote a Uniswap swap without signing. Read-only. |\n| `execute_swap` | **Guarded.** Preview → `confirm: true` → broadcast. Spend-capped. |\n| `transfer_usdg` | **Guarded.** Preview → `confirm: true` → broadcast. Spend-capped. |\n\nSee [**Safety model**](docs/safety.html) for the full guard design. Summary:\n\n1. **Kill switch** — the server process itself refuses to start without `HOOD_MCP_ENABLE_TRADING=1`.\n2. **Eligibility gate** — buying a tokenized Stock Token requires `HOOD_MCP_ACKNOWLEDGE_ELIGIBILITY=1`\n   (Stock Tokens are barred to US/Canada/UK/Switzerland persons — see below).\n3. **Spend caps** — every mutating call is valued in USD and checked against\n   `HOOD_MCP_MAX_SPEND_USDG` (per-call) and `HOOD_MCP_MAX_SESSION_USDG` (per-session,\n   in-memory, resets on restart) *before* anything is signed.\n4. **Confirm gate** — the first call to `execute_swap` / `transfer_usdg` always returns a\n   simulation (recipient, amount, token, min-received) and signs nothing. Only a second call\n   with `confirm: true` and identical arguments broadcasts.\n\n```bash\nHOOD_MCP_MAX_SPEND_USDG=25        # default 25 — per single call\nHOOD_MCP_MAX_SESSION_USDG=100     # default 100 — cumulative for the process lifetime\nHOOD_MCP_ACKNOWLEDGE_ELIGIBILITY=0  # set to 1 ONLY if eligible to hold Stock Tokens\n```\n\n**Stock Tokens are tokenized debt securities** (issuer: Robinhood Assets (Jersey) Ltd) and may\nnot be offered, sold, or delivered to US persons (additional limits: Canada, UK, Switzerland).\nThe restriction is legal/front-end enforced, not contract-level — `execute_swap` throws unless\nthe operator has explicitly acknowledged eligibility. Memecoins are unrestricted.\n\n## Environment reference\n\nSee [`.env.example`](.env.example) for the full annotated list. Nothing is required for the\ndata server; the trading server requires the two kill-switch variables above.\n\n## x402 monetization (seam, not active)\n\nThe HTTP transport has a documented seam (`src/x402-seam.ts`) to paywall future metered tools\n(deep history, firehose) via the sibling [`hood402`](../hood402) USDG-on-Robinhood-Chain x402\nrail once it exists. Every tool this package ships today stays free regardless.\n\n## Development\n\n```bash\nnpm install\nnpm run build        # tsup → dist/\nnpm run dev:data      # tsx src/data-server.ts (stdio)\nnpm run dev:trading   # tsx src/trading-server.ts (stdio, needs env)\nnpm test              # hermetic: schema + guard tests (real network reads, no wallet funds)\nnpm run test:live      # live: every data tool against real mainnet 4663 data\nnpm run test:swap       # live, gated: a REAL testnet swap through execute_swap (needs a\n                        # faucet-funded ROBINHOOD_CHAIN_PRIVATE_KEY — see the test file)\n```\n\nDepends on `hoodchain` from npm; for local development against an unpublished SDK checkout:\n`npm i ../robinhood-chain-sdk`.\n\n## Registry submissions (owner action)\n\nMetadata is prepared, not submitted — publishing to a registry is a one-way, attributed action\nthe owner should take:\n\n- **modelcontextprotocol registry** — `server.json` in this repo validates against the\n  [official schema](https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json).\n  Submit with the [`mcp-publisher`](https://github.com/modelcontextprotocol/registry) CLI once\n  `hood-mcp` is live on npm.\n- **Smithery** — their current flow publishes a *running* server URL or an `.mcpb` bundle\n  (`smithery mcp publish <url> -n <org/server>`), not a static config file. Deploy the HTTP\n  transport (`hood-mcp --http`) somewhere public, then run\n  `smithery mcp publish https://your-deployment/mcp -n nirholas/hood-mcp`.\n\n## License\n\nAll rights reserved. See [LICENSE](LICENSE).\n",
  "bytes": 6869,
  "sha": "1cfd40467f6fde571fe7843665c1e00f6e1862d441f0e7ef102f837db24891a7",
  "repo_slug": "nirholas/robinhood-chain-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_nirholas_hood_mcp_cf4f3678/readme"
}