Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
Robinhood Crypto
개요
제작자가 쓴 설명(영어 원문)
Robinhood Crypto Trading API for AI agents: quotes, holdings, orders read-only; opt-in trading.
PopNx MCP의 세 기둥
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
- 사용자 의견i아직 리뷰가 없어요리뷰는 다음 단계에서 계정 기능과 함께 열려요
- 우리의 기본 점검i1개 중 1개 통과공개된 정보로 점검했으며, 코드는 아직 스캔하지 않았어요
- 사용 정도i아직 측정 안 함★ –
할 수 있는 일
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
- 연결 방식: 내 컴퓨터에서 실행
- 전송 방식: stdio
- 카테고리: 온라인 쇼핑몰 및 결제
- 입력해야 할 값: ROBINHOOD_CRYPTO_API_KEY, ROBINHOOD_CRYPTO_PRIVATE_KEY
설치
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
설치하기 전에
- 기본 점검: 1개 중 1개 통과
- 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
- 직접 입력할 값:
ROBINHOOD_CRYPTO_API_KEY,ROBINHOOD_CRYPTO_PRIVATE_KEY,ROBINHOOD_CRYPTO_API_VERSION,ROBINHOOD_CRYPTO_BASE_URL
비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
- npmNode.js 설치(npx 명령어용)
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 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"
}
}
}
}터미널에서 이 명령어를 실행하세요
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실행하기 전에 빈 값을 채워 주세요.
또는 설정을 직접 복사하기
프로젝트의 .cursor/mcp.json 또는 ~/.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"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
또는 설정을 직접 복사하기
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"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"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
직접 입력할 값
- API key from your Robinhood crypto account settings (robinhood.com/account/crypto, web classic only).
- Base64-encoded 32-byte Ed25519 private seed whose public key is registered with Robinhood. Generate one with `npx robinhood-keygen`.
ROBINHOOD_CRYPTO_API_VERSIONenvAPI version: "v1" (default) or "v2". v2 adds fee-tier data to accounts and orders.ROBINHOOD_CRYPTO_BASE_URLenvOverride the API host. Defaults to https://trading.robinhood.com.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
할 수 있는 일
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
기본 점검i
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
- ✓ 통과
제작자와 저장소 일치
레지스트리 이름이 GitHub 계정 nirholas 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
- … 아직 점검 안 함
계속 관리되고 있음
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
- … 아직 점검 안 함
라이선스 있음
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
- – 해당 없음
엔드포인트 응답
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
- – 해당 없음
OAuth로 로그인
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
- … 아직 점검 안 함
도구 설명에 숨겨진 지시 없음
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
온라인 쇼핑몰 및 결제 카테고리의 다른 서버와 비교i
- 이 카테고리의 다른 서버 1749개 중 0%보다 스타가 많아요
- 이 카테고리의 다른 서버 1749개 중 22%보다 최근에 레지스트리에 공개됐어요
- 기본 점검 결과가 이 카테고리의 다른 서버 1749개 중 100%와 같거나 더 좋아요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
자주 묻는 질문
Robinhood Crypto, 안전한가요?
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
어떤 키나 코드가 필요한가요?
입력해야 할 값: ROBINHOOD_CRYPTO_API_KEY, ROBINHOOD_CRYPTO_PRIVATE_KEY
내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
아직 관리되고 있나요?
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.1)은 4개월 전 레지스트리에 올라왔어요.
어떤 앱에서 쓸 수 있나요?
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
대신 쓸 수 있는 건 뭐가 있나요?
같은 카테고리에는: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
대안
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Stripe MCP
MCP server integrating with Stripe - tools for customers, products, payments, and more.
MCP Cn Commerce
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
제작자의 README
README 열기
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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:
| Target | How |
|---|---|
| GitHub Pages | Settings → Pages → Source: main / /docs. Serves at nirholas.github.io/robinhood-mcp/. No build step. |
| Cloudflare Pages | The button above, or wrangler pages deploy docs. Config in wrangler.toml. |
| Google Cloud | gcloud storage cp -r docs/* gs:// / behind an HTTPS load balancer, or Cloud Run with any static server rooted at docs/. |
| Netlify / Vercel | The 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.
| Guard | What it does |
|---|---|
| Separate binary | The robinhood-mcp data server registers no tool that can trade. Attaching it to a general-purpose assistant cannot result in an order. |
| Explicit opt-in | The trading server and the daemon refuse to start unless ROBINHOOD_CRYPTO_ENABLE_TRADING=1. It cannot be launched by accident. |
| Per-order USD cap | Every 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 cap | ROBINHOOD_CRYPTO_MAX_DAILY_USD refuses once the process has committed that much in total. |
| Symbol allowlist | With ROBINHOOD_CRYPTO_SYMBOL_ALLOWLIST set, only those pairs may trade. Everything else is refused. |
| Buy-only | ROBINHOOD_CRYPTO_BUY_ONLY=1 rejects every sell order. |
| Guarded vs autonomous | In 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 switch | risk_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:
- 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.
- Robinhood issues an API key in return. That is
ROBINHOOD_CRYPTO_API_KEY. - 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 exportseed‖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.
| Server | Binary | What it can do |
|---|---|---|
| Data | robinhood-mcp | Quotes, holdings, account, order history, cost basis, P&L. Cannot place an order. |
| Trading | robinhood-mcp-trading | Everything 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.
| Module | What it does | Default | Places orders |
|---|---|---|---|
market | Quotes, holdings, account details, trading pairs, order history. | on | no |
orders | The four native order types as individual tools, plus the generic place_order and cancel_order. | on | yes |
algo | The thirteen synthetic order types, run as durable background jobs. | on | yes |
portfolio | FIFO cost basis, realized P&L and tax lots, allocation, slippage, volatility, risk-based sizing. | on | no |
| risk | Exposure, concentration, drawdown, pre-trade checks, and the enforced kill switch. | on | yes
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요