Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Robinhood Crypto

by nirholasversion 0.1.1i★ –iRuns on your computer
Registry nameio.github.nirholas/robinhood-mcp

Install

Overview

Description from the maker (original English)

Robinhood Crypto Trading API for AI agents: quotes, holdings, orders read-only; opt-in trading.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Online shops & payments
  • You need to fill in: ROBINHOOD_CRYPTO_API_KEY, ROBINHOOD_CRYPTO_PRIVATE_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: ROBINHOOD_CRYPTO_API_KEY, ROBINHOOD_CRYPTO_PRIVATE_KEY, ROBINHOOD_CRYPTO_API_VERSION, ROBINHOOD_CRYPTO_BASE_URL

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "robinhood": {
      "command": "npx",
      "args": [
        "-y",
        "robinhood-mcp"
      ],
      "env": {
        "ROBINHOOD_CRYPTO_API_KEY": "your-value",
        "ROBINHOOD_CRYPTO_PRIVATE_KEY": "your-value",
        "ROBINHOOD_CRYPTO_API_VERSION": "your-value",
        "ROBINHOOD_CRYPTO_BASE_URL": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add robinhood --env ROBINHOOD_CRYPTO_API_KEY=your-value --env ROBINHOOD_CRYPTO_PRIVATE_KEY=your-value --env ROBINHOOD_CRYPTO_API_VERSION=your-value --env ROBINHOOD_CRYPTO_BASE_URL=your-value -- npx -y robinhood-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "robinhood": {
      "command": "npx",
      "args": [
        "-y",
        "robinhood-mcp"
      ],
      "env": {
        "ROBINHOOD_CRYPTO_API_KEY": "your-value",
        "ROBINHOOD_CRYPTO_PRIVATE_KEY": "your-value",
        "ROBINHOOD_CRYPTO_API_VERSION": "your-value",
        "ROBINHOOD_CRYPTO_BASE_URL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "robinhood": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "robinhood-mcp"
      ],
      "env": {
        "ROBINHOOD_CRYPTO_API_KEY": "your-value",
        "ROBINHOOD_CRYPTO_PRIVATE_KEY": "your-value",
        "ROBINHOOD_CRYPTO_API_VERSION": "your-value",
        "ROBINHOOD_CRYPTO_BASE_URL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • ROBINHOOD_CRYPTO_API_KEY secret required env
    API key from your Robinhood crypto account settings (robinhood.com/account/crypto, web classic only).
  • ROBINHOOD_CRYPTO_PRIVATE_KEY secret required env
    Base64-encoded 32-byte Ed25519 private seed whose public key is registered with Robinhood. Generate one with `npx robinhood-keygen`.
  • ROBINHOOD_CRYPTO_API_VERSION env
    API version: "v1" (default) or "v2". v2 adds fee-tier data to accounts and orders.
  • ROBINHOOD_CRYPTO_BASE_URL env
    Override the API host. Defaults to https://trading.robinhood.com.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account nirholas, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Online shops & paymentsi

  • More stars than 0% of the other 1753 servers in this category
  • Published to the registry more recently than 22% of the other 1753 servers in this category
  • Basic checks equal to or better than 100% of the other 1753 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Robinhood Crypto safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: ROBINHOOD_CRYPTO_API_KEY, ROBINHOOD_CRYPTO_PRIVATE_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.1.1) reached the registry 4 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Stripe MCP

by stripe

Stripe’s official server lets AI view and manage customers, products, payments and invoices. Connect to Stripe’s cloud and sign in with OAuth.

Runs in the cloud★ 2,043MITUpdated 12 months ago
Install

MCP Cn Commerce

by TonyWang-hub

8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending

Runs on your computer★ 96MITUpdated 28 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

robinhood-mcp

An execution toolkit for the official Robinhood Crypto Trading API, delivered over the Model Context Protocol.

Robinhood's crypto API exposes four order types and nothing else: market, limit, stop_loss, and stop_limit. There is no bracket, no OCO, no trailing stop, no TWAP, no iceberg, no scale-in ladder, no scheduled DCA, no portfolio rebalance. Those are the order types people actually want, and every one of them has the same requirement: something has to keep working after the request returns. A trailing stop that exists only for the duration of one tool call is not a trailing stop. This package synthesizes the thirteen order types Robinhood lacks and runs them as durable background jobs that survive the agent disconnecting, the server restarting, and the machine rebooting. Around that sit ~73 tools across 8 opt-in modules: quotes and holdings, FIFO cost basis and realized P&L, a trade journal, risk limits with an enforced kill switch, and integration diagnostics.

This is not Robinhood Chain, and it is not Robinhood equities. It targets the brokerage Crypto Trading API at trading.robinhood.com, documented at docs.robinhood.com/crypto/trading.


The signing bench — nirholas.github.io/robinhood-mcp

The project site is an interactive Ed25519 signing bench. You assemble a real Robinhood trading request and produce a genuine signature in your own browser — the math runs client-side on Robinhood's published example key, nothing is sent anywhere — then watch it disprove Robinhood's own documentation: their published test vector verifies against a Python dict repr, not the JSON body every client actually sends. It is a single self-contained page in docs/, so it deploys anywhere static.

Deploy your own copy in one click:

TargetHow
GitHub PagesSettings → Pages → Source: main / /docs. Serves at nirholas.github.io/robinhood-mcp/. No build step.
Cloudflare PagesThe button above, or wrangler pages deploy docs. Config in wrangler.toml.
Google Cloudgcloud storage cp -r docs/* gs:// / behind an HTTPS load balancer, or Cloud Run with any static server rooted at docs/.
Netlify / VercelThe buttons above. Publish directory is docs/ (netlify.toml, vercel.json).

Safety

Robinhood publishes no sandbox. There is no paper account, no test environment, no dry-run host. Every order this package can place is real money in a real brokerage account, and there is no way to rehearse. Read this section before you set ROBINHOOD_CRYPTO_ENABLE_TRADING=1.

Every guard below is enforced in code, inside the single Executor that all orders pass through, never in a tool description. An instruction in a prompt is a suggestion; a thrown error is not.

GuardWhat it does
Separate binaryThe robinhood-mcp data server registers no tool that can trade. Attaching it to a general-purpose assistant cannot result in an order.
Explicit opt-inThe trading server and the daemon refuse to start unless ROBINHOOD_CRYPTO_ENABLE_TRADING=1. It cannot be launched by accident.
Per-order USD capEvery order is priced before submission and rejected above ROBINHOOD_CRYPTO_MAX_ORDER_USD (default $100). It fails closed: if the USD value cannot be determined up front, the order is rejected rather than assumed cheap.
Cumulative USD capROBINHOOD_CRYPTO_MAX_DAILY_USD refuses once the process has committed that much in total.
Symbol allowlistWith ROBINHOOD_CRYPTO_SYMBOL_ALLOWLIST set, only those pairs may trade. Everything else is refused.
Buy-onlyROBINHOOD_CRYPTO_BUY_ONLY=1 rejects every sell order.
Guarded vs autonomousIn the default guarded mode an order tool returns the exact request it *would* send plus a priced estimate, and places nothing until a second call carries confirm: true. ROBINHOOD_CRYPTO_AUTONOMOUS=1 skips that gate for unattended strategies.
Kill switchrisk_kill_switch_engage halts all execution and pauses every running job. Persisted to disk, read on every order and never cached, checked inside the Executor.

Two things about those controls are worth stating plainly, because they are the ones people get wrong.

Autonomous removes the human, not the ceiling. The per-order cap, the cumulative cap, the allowlist and the buy-only flag all still apply in autonomous mode. An unattended agent is exactly the case where a runaway order is most likely and least observed.

The kill switch binds the daemon too. It lives beside the Executor rather than inside the risk tool module, because robinhood-mcp-daemon builds its own Executor and loads no tool modules at all. A halt installed by a module would leave the one unattended process in the system still placing orders. Because the state is read from disk on every order rather than cached, throwing the switch from an MCP session stops a daemon that has been running since before the switch existed. It fails closed: a row that cannot be parsed reads as *engaged*, because resuming trading over a corrupted row is exactly the failure a kill switch exists to prevent.

Two limits are honest about what they are not. The cumulative cap is a per-process, in-memory counter that resets on restart: it is a runaway-loop brake, not an accounting system or a hard budget. And a durable job's total spend is not capped at all. Per-order caps apply to each order a job places, but a TWAP with 50 slices under a $100 per-order cap can commit $5,000. Size jobs deliberately and check risk_status before starting anything unattended.

Finally, scope the API key itself. Robinhood lets you pick permissions per credential: if you only want reads, do not grant order placement, and the key cannot trade no matter what software holds it. IP allowlisting is also available and worth using.


Install

Requires Node.js 22.5 or newer (the durable job store uses node:sqlite).

Nothing to install ahead of time: MCP clients launch the servers with npx.

1. Create a credential
npx robinhood-keygen

This prints a fresh Ed25519 keypair as JSON on stdout, with instructions on stderr. Then:

  1. Register the public key at robinhood.com/account/crypto. This page exists on web classic only, not the mobile app and not the new web UI.
  2. Robinhood issues an API key in return. That is ROBINHOOD_CRYPTO_API_KEY.
  3. Keep the private key as ROBINHOOD_CRYPTO_PRIVATE_KEY. It is a base64-encoded 32-byte Ed25519 seed, not a 64-byte expanded keypair and not PKCS#8. Several Ed25519 libraries export seed‖publicKey; pasting that gives 64 bytes and fails every request. Treat the private key like a password: it authorizes trades, and this package never stores or transmits it anywhere except in the signature it computes locally.

If you already have a keypair from elsewhere, verify_keypair (in the dev module) checks that a private key matches the public key you registered, without sending anything anywhere.

2. Add the server to your MCP client

Two binaries ship in the package, and they are separate on purpose.

ServerBinaryWhat it can do
Datarobinhood-mcpQuotes, holdings, account, order history, cost basis, P&L. Cannot place an order.
Tradingrobinhood-mcp-tradingEverything above, plus real orders, synthetic order types, and risk controls.

Read-only. This is the one to start with, and the one to attach to a general-purpose assistant. Paste into claude_desktop_config.json (Claude Desktop), .mcp.json (Claude Code), or your client's equivalent:

{

"mcpServers": { "robinhood-crypto": { "command": "npx", "args": ["-y", "robinhood-mcp"], "env": { "ROBINHOOD_CRYPTO_API_KEY": "rh-api-...", "ROBINHOOD_CRYPTO_PRIVATE_KEY": "your-base64-seed" } } } }

Ask your assistant: *"What is my Robinhood crypto buying power, and what is BTC trading at?"*

Trading. A separate entry, because it places real orders:

{

"mcpServers": { "robinhood-crypto-trading": { "command": "npx", "args": ["-y", "robinhood-mcp-trading"], "env": { "ROBINHOOD_CRYPTO_API_KEY": "rh-api-...", "ROBINHOOD_CRYPTO_PRIVATE_KEY": "your-base64-seed", "ROBINHOOD_CRYPTO_ENABLE_TRADING": "1", "ROBINHOOD_CRYPTO_MAX_ORDER_USD": "50", "ROBINHOOD_CRYPTO_MAX_DAILY_USD": "500", "ROBINHOOD_CRYPTO_SYMBOL_ALLOWLIST": "BTC-USD,ETH-USD" } } } }

Set the caps to numbers you are comfortable losing. They are the only thing standing between a misunderstood instruction and a real fill.

You can run both entries at once. The data server is safe to leave attached permanently; add the trading server when you intend to trade.

If you have not set credentials yet

The data server still starts. Rather than exiting (which most MCP clients surface only as an opaque "server failed to start"), it comes up with a single get_setup_status tool that reports what is missing and how to fix it. If that is the only tool you see, credentials are not configured: set ROBINHOOD_CRYPTO_API_KEY and ROBINHOOD_CRYPTO_PRIVATE_KEY, then restart the server and the full tool set appears.

The trading server is deliberately stricter and refuses to start without ROBINHOOD_CRYPTO_ENABLE_TRADING=1, so it can never be launched by accident.


Modules

The toolkit is larger than any one agent should see at once. Every tool spends context and adds a wrong option to choose between, which measurably degrades tool selection, so capabilities ship as modules the operator turns on with ROBINHOOD_MCP_MODULES. Only the selected ones are registered.

ModuleWhat it doesDefaultPlaces orders
marketQuotes, holdings, account details, trading pairs, order history.onno
ordersThe four native order types as individual tools, plus the generic place_order and cancel_order.onyes
algoThe thirteen synthetic order types, run as durable background jobs.onyes
portfolioFIFO cost basis, realized P&L and tax lots, allocation, slippage, volatility, risk-based sizing.onno

| risk | Exposure, concentration, drawdown, pre-trade checks, and the enforced kill switch. | on | yes

Only the beginning is shown; read the rest in the repo

Ask PopNx