← Back to search

robinhood-for-agents

kevinchun Scanned 2d ago

AI-native Robinhood trading interface — MCP server + TypeScript client

npm
D
47.6 / 100

Versions

2.0.0latest
Jul 28, 2026
1.0.1
Jul 16, 2026
1.0.0
Jul 16, 2026
0.8.0
Jul 14, 2026
0.7.2
Jul 14, 2026
+ show 6 moreshow less
0.7.1
Jun 23, 2026
0.7.0
Apr 1, 2026
0.6.2
Mar 13, 2026
0.6.0
Mar 11, 2026
0.5.2
Mar 11, 2026
0.5.1
Mar 11, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 50

robinhood_browser_login
annotations: verified low

Authenticate with Robinhood by opening Chrome to the real login page. The user logs in normally (including MFA). This is the only way to authenticate — no credentials are passed through the tool.

readOnlyHint false idempotentHint true destructiveHint false
robinhood_check_session
annotations: none low

Check if there is a valid cached Robinhood session. Returns session status without opening a browser or requiring credentials.

robinhood_get_watchlists
annotations: none low

List your own Robinhood watchlists (custom lists). Returns each list's metadata including its `id` (UUID) — pass that id to robinhood_get_watchlist_items, robinhood_add_to_watchlist, or robinhood_remove_from_watchlist. Does not include the lists' items. For Robinhood-curated lists, use robinhood_get_popular_watchlists.

robinhood_get_watchlist_items
annotations: none low

List the items in a watchlist by list_id. Items are enriched with `symbol` and `name`; `object_type` distinguishes stocks/ETFs (instrument), market indexes (index), and crypto pairs (currency_pair). Does not return live prices — call robinhood_get_stock_quote for those. For the options watchlist use robinhood_get_option_watchlist instead. An unknown list_id returns an error.

robinhood_get_popular_watchlists
annotations: none low

Discover Robinhood-curated watchlists (e.g. '100 Most Popular', 'Daily Movers'). Returns each list's metadata including its `id` (UUID); pass an id to robinhood_get_watchlist_items to see its members. Paginated results are fully collected.

robinhood_get_option_watchlist
annotations: none low

List the single-leg option contracts on your options watchlist. Each entry has the underlying (chain_symbol), a human name, its watchlist object_id, and the option_id you'd pass to robinhood_remove_option_from_watchlist. Multi-leg strategies (e.g. from app-side order placement) are listed with a null option_id and can't be modified here — view those in the Robinhood app. For equity/index/crypto watchlists use robinhood_get_watchlist_items instead.

robinhood_create_watchlist
annotations: none low

Create a new (empty) watchlist for the user. Returns the created list including its new `id` (use that id with robinhood_add_to_watchlist to populate it). CONFIRM WITH THE USER before calling — this creates a list on the user's account. To add symbols, follow up with robinhood_add_to_watchlist.

icon_emoji string display_name string
robinhood_update_watchlist
annotations: none low

Update a watchlist's own metadata — its name, description, or emoji. Provide the list_id and at least one field to change; omitted fields are left unchanged. This does NOT add or remove items (use robinhood_add_to_watchlist / robinhood_remove_from_watchlist for those). CONFIRM WITH THE USER before calling — this mutates the user's watchlist.

icon_emoji string display_name string display_description string
robinhood_add_to_watchlist
annotations: none low

Add items to one of your watchlists. Provide exactly one of: symbols (stocks/ETFs), currency_pair_ids (crypto), or index_ids (market indexes) — mutually exclusive. Already-present items are no-ops. For options use robinhood_add_option_to_watchlist. CONFIRM WITH THE USER before calling — this mutates the user's watchlist.

robinhood_remove_from_watchlist
annotations: none low

Remove items from one of your watchlists. Provide exactly one of: symbols (stocks/ETFs), currency_pair_ids (crypto), or index_ids (market indexes) — mutually exclusive. Items not on the list are reported as not_present (not an error). CONFIRM WITH THE USER before calling — this mutates the user's watchlist.

robinhood_follow_watchlist
annotations: none low

Follow a Robinhood-curated list so it appears in your watchlists. Use only for curated lists (from robinhood_get_popular_watchlists) — you already own your custom lists. Following an already-followed list is a no-op. CONFIRM WITH THE USER before calling — this adds the list to the user's account.

robinhood_unfollow_watchlist
annotations: none low

Stop following a Robinhood-curated list. The list itself is unchanged — it just no longer appears in your watchlists. Unfollowing a list you don't follow is a no-op. CONFIRM WITH THE USER before calling.

list_id uuid
robinhood_add_option_to_watchlist
annotations: none low

Add option contracts to your options watchlist. Each option_id becomes a single-leg contract. Source option_ids from robinhood_get_options / robinhood_get_option_instruments. Already-present contracts are reported as already_present (no duplicate is created). Only position_type "long" is supported over this path (short-leg watchlist entries must be added via the Robinhood app). CONFIRM WITH THE USER before calling — this is a real write.

robinhood_remove_option_from_watchlist
annotations: none low

Remove option contracts from your options watchlist. Provide the option_ids (from robinhood_get_option_watchlist). Contracts not on the list are reported as not_present, not an error. Only position_type "long" is supported over this path. CONFIRM WITH THE USER before calling.

robinhood_get_portfolio
annotations: none low

Get complete portfolio: positions with P&L, equity, buying power, cash.

with_dividends boolean
robinhood_get_equity_positions
annotations: none low

Get raw equity positions (shares, average buy price, per-account) without holding enrichment.

nonzero boolean
robinhood_get_accounts
annotations: none low

Get all brokerage accounts (multi-account support).

robinhood_get_account
annotations: none low

Get account details, profile, and investment preferences.

robinhood_get_options
annotations: none low

Get options chain with greeks for a stock or index symbol (SPX, NDX, VIX, RUT, XSP supported).

symbol string option_type enum strike_price number expiration_date string
robinhood_get_option_positions
annotations: none low

Get open option positions. Per-leg by default, or grouped by strategy (spreads, condors).

nonzero boolean account_number string
robinhood_get_option_orders
annotations: none low

Get option order history (filled, cancelled, and open multi-leg orders) — the dedicated, official-parity option order-history view: no account_number scoping, no result limit (mirrors Robinhood's own option-orders tool exactly). Prefer robinhood_get_orders when you need account_number scoping, a result limit, or a single tool that also covers stock/crypto order history.

open_only boolean
robinhood_get_option_historicals
annotations: none low

Get historical OHLC price series for a specific option contract.

symbol string option_type enum strike_price number expiration_date string
robinhood_get_realized_pnl
annotations: none low

Realized profit & loss for an account over a time window — bucketed realized gain and the number of closing trades per bucket, plus window totals. COMPUTED by this server from your order history (Robinhood has no realized-P&L REST endpoint): equity uses independent economic FIFO including fees (not Robinhood's booked/tax number), crypto uses Robinhood's native gain_loss, and options are NOT included. rate_of_realized_gain and total_rate_of_return are returned as null — see the result `note`. Fetches full order history, so it can be slow on large accounts. For the per-trade list use robinhood_get_pnl_trade_history.

end_date string display_currency string
robinhood_get_pnl_trade_history
annotations: none low

Per-trade realized profit & loss — a chronological list of closing trades with symbol, side, quantity, price, and realized gain/loss. COMPUTED by this server from your order history: equity uses independent economic FIFO including fees (not Robinhood's booked/tax number), crypto uses Robinhood's native gain_loss, and options are NOT included. Results are complete (next_cursor is always null). For bucketed totals use robinhood_get_realized_pnl.

robinhood_review_equity_order
annotations: none low

Simulate a stock order WITHOUT placing it — the required 'review' step before robinhood_place_stock_order. Returns the order echoed back, the live quote (so the user sees the cost), and order_checks: a reproduction of Robinhood's price collar that flags a mis-priced limit/stop order (e.g. a buy limit far above the market). order_checks is {} only when the collar ran and found no problem — read evaluated_checks/not_evaluated_checks to see what was and wasn't checked. Nothing is placed. ALWAYS show the review to the user before placing.

symbol string
robinhood_review_option_order
annotations: none low

Simulate a single- or multi-leg option order WITHOUT placing it — the required 'review' step before robinhood_place_option_order. Returns the order echoed back with per-leg market data (mark/bid/ask/greeks) and the collateral the order would require. Nothing is placed. The reproduced check set is intentionally thin for options (see not_evaluated_checks) — options have no simple last-trade price collar. ALWAYS show the review to the user before placing.

side enum strike number symbol string quantity number option_type enum ratio_quantity number expiration_date string position_effect enum
robinhood_get_equity_tax_lots
annotations: none low

List the open tax lots for one equity holding in an account — each lot is a separate acquisition with its own quantity, cost basis, acquisition date, and long/short-term status (`term`). Use it for cost-basis, holding-period, or which-lots-would-sell questions. Requires a symbol (tax lots are tracked per instrument, one symbol per call). Results are complete — all lots are returned and `next_cursor` is always null.

robinhood_get_scanner_filter_specs
annotations: none low

List every valid scanner filter type and how to use it — the vocabulary for building a scan (fundamentals, price/volume, options, and technical indicators like RSI/MACD/EMA), each with its supported predicates, unit, and any supported lengths/intervals/plots. Call this before constructing scan filters; do not guess filter_type names. Note: this catalog is served from a static snapshot captured from Robinhood's official scanner service (it is account-agnostic and rarely changes), not a live per-request read — see the `note` in the result.

robinhood_get_scans
annotations: none low

List your saved scanners (also called screeners) — each a saved set of filters and columns that screens the market (e.g. 'RSI > 70 and Volume > 1M'). Returns one entry per scan; empty when you have none (you create scans in Robinhood Legend). Each entry gives `scan_id`, `title`, and `column_count` derived from Robinhood's data, plus the complete raw scan under `raw`. The official fields `filter_summary`, `cortex_managed`, and `sorting` are rendered by Robinhood's own service and are returned as null here — see the result's `note`.

robinhood_get_crypto
annotations: none low

Get crypto price data, history, and positions.

robinhood_get_stock_quote
annotations: none low

Get a live quote plus fundamentals for one or more stock or index tickers (SPX, NDX, VIX, RUT, XSP supported). Use this when you need the current price. For fundamentals only (no live quote), use robinhood_get_fundamentals.

robinhood_get_historicals
annotations: none low

Get OHLCV price history for one or more stock tickers.

symbols string
robinhood_get_fundamentals
annotations: none low

Get company fundamentals for one or more stocks: float, shares outstanding, market cap, P/E and P/B ratios, dividend schedule, 52-week range, and company profile (sector, industry, CEO, description). Fundamentals only — no live quote; use robinhood_get_stock_quote if you also need the current price.

robinhood_get_short_interest
annotations: none low

Get Robinhood's daily short-interest time series for a stock: modeled shares sold short and short interest as a percent of free float, each with upper/lower confidence bounds. NOTE: this is a modeled DAILY estimate (hence the bounds), NOT the official biweekly FINRA settlement figure. `pc_freefloat` is a percent (e.g. 8.23 = 8.23%). Omitting start_date returns the full available history (RH's series began ~mid-2025).

symbol string
robinhood_get_news
annotations: none low

Get news, analyst ratings, and earnings for a stock symbol.

symbol string
robinhood_search
annotations: none low

Search stocks by keyword or browse by market category tag.

robinhood_get_equity_price_book
annotations: none low

Get the Level-2 price book (aggregated bid/ask depth) for a stock. Depth is populated during market hours.

symbol string
robinhood_get_earnings_results
annotations: none low

Get historical and upcoming earnings (EPS estimate vs. actual, report date/timing) for one symbol.

symbol string
robinhood_get_earnings_calendar
annotations: none low

Get the market-wide earnings calendar for a window of days (all reporting companies).

robinhood_get_equity_tradability
annotations: none low

Get tradability flags (tradeable, fractional, short-selling, per-account) for one or more symbols.

symbols array
robinhood_place_stock_order
annotations: none low

Place a stock order. Requires explicit parameters — no dangerous defaults. Always confirm with the user before calling. Short selling: use side 'sell_short' to open a short (NOT 'sell', which only closes an existing long and is rejected with 'Not enough shares to sell.'). Close a short with an ordinary 'buy'.

symbol string
robinhood_place_option_order
annotations: none low

Place a single-leg or multi-leg option order (verticals, iron condors, straddles, etc.). Always confirm with the user before calling.

side enum strike number symbol string quantity number option_type enum time_in_force enum ratio_quantity number expiration_date string position_effect enum
robinhood_place_crypto_order
annotations: none low

Place a crypto order. Always confirm with the user before calling.

side enum symbol string
robinhood_get_orders
annotations: none low

Get order history for stocks, options, or crypto in one generic tool — supports account_number scoping, open/all status filtering, and a result limit (default 50, 0 for unlimited). Prefer robinhood_get_option_orders when you want the complete, unlimited, official-parity option order history without account scoping.

limit number status enum account_number string
robinhood_cancel_order
annotations: none low

Cancel a pending order by its ID.

order_id string
robinhood_get_order_status
annotations: none low

Get the current status of a specific order by its ID.

order_id string
robinhood_get_movers
annotations: none low

Get market movers and popular stocks.

direction enum
robinhood_get_market_hours
annotations: none low

Get market hours for a date: whether it is a trading day, and when the regular and extended sessions open and close (ISO timestamps). Call this before placing an order when you are unsure which session is live — robinhood_place_stock_order requires an explicit market_hours, and guessing from the local clock gets it wrong across time zones, weekends, and holidays.

robinhood_get_indexes
annotations: none low

Get all tradable market indexes (SPX, NDX, VIX, RUT, XSP, …).

robinhood_get_index_quotes
annotations: none low

Get current values for one or more index symbols.

symbols array

Permissions 4

network medium
Server uses network capabilities via: fetch()
filesystem low
Server uses filesystem capabilities via: fs/promises, path
shell high
Server uses shell capabilities via: child_process, execSync()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 125

info
Tool 'robinhood_browser_login' annotations are consistent annotation_checker · 80%
low
Tool 'robinhood_check_session' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_watchlists' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_watchlist_items' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_popular_watchlists' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_option_watchlist' has no annotations annotation_checker · 100%
low
Tool 'robinhood_create_watchlist' has no annotations annotation_checker · 100%
low
Tool 'robinhood_update_watchlist' has no annotations annotation_checker · 100%
low
Tool 'robinhood_add_to_watchlist' has no annotations annotation_checker · 100%
low
Tool 'robinhood_remove_from_watchlist' has no annotations annotation_checker · 100%
low
Tool 'robinhood_follow_watchlist' has no annotations annotation_checker · 100%
low
Tool 'robinhood_unfollow_watchlist' has no annotations annotation_checker · 100%
low
Tool 'robinhood_add_option_to_watchlist' has no annotations annotation_checker · 100%
low
Tool 'robinhood_remove_option_from_watchlist' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_portfolio' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_equity_positions' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_accounts' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_account' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_options' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_option_positions' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_option_orders' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_option_historicals' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_realized_pnl' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_pnl_trade_history' has no annotations annotation_checker · 100%
low
Tool 'robinhood_review_equity_order' has no annotations annotation_checker · 100%
low
Tool 'robinhood_review_option_order' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_equity_tax_lots' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_scanner_filter_specs' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_scans' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_crypto' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_stock_quote' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_historicals' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_fundamentals' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_short_interest' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_news' has no annotations annotation_checker · 100%
low
Tool 'robinhood_search' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_equity_price_book' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_earnings_results' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_earnings_calendar' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_equity_tradability' has no annotations annotation_checker · 100%
low
Tool 'robinhood_place_stock_order' has no annotations annotation_checker · 100%
low
Tool 'robinhood_place_option_order' has no annotations annotation_checker · 100%
low
Tool 'robinhood_place_crypto_order' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_orders' has no annotations annotation_checker · 100%
low
Tool 'robinhood_cancel_order' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_order_status' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_movers' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_market_hours' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_indexes' has no annotations annotation_checker · 100%
low
Tool 'robinhood_get_index_quotes' has no annotations annotation_checker · 100%
high
Hardcoded OAuth client ID in kevin1chun-robinhood-for-agents-c3ab210/src/client/auth.ts auth_checker · 85%
medium
OAuth implementation without PKCE auth_checker · 75%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.0 (GHSA-345p-7cg4-v4c7) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.0 (GHSA-8r9q-7v3j-jr4g) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.0 (GHSA-w48q-cv73-mx4w) dependency_analyzer · 95%
medium
Vulnerable dependency: vitest@4.0.18 (GHSA-5xrq-8626-4rwp) dependency_analyzer · 95%
medium
Buffer.from base64 in kevin1chun-robinhood-for-agents-c3ab210/src/client/token-store.ts:151 entropy_analyzer · 75%
medium
Buffer.from base64 in kevin1chun-robinhood-for-agents-c3ab210/src/client/token-store.ts:162 entropy_analyzer · 75%
medium
Buffer.from base64 in kevin1chun-robinhood-for-agents-c3ab210/src/client/token-store.ts:217 entropy_analyzer · 75%
medium
Buffer.from base64 in kevin1chun-robinhood-for-agents-c3ab210/src/client/token-store.ts:218 entropy_analyzer · 75%
medium
Buffer.from base64 in kevin1chun-robinhood-for-agents-c3ab210/src/client/token-store.ts:221 entropy_analyzer · 75%
info
package.json metadata manifest_parser · 100%
info
Tool: robinhood_browser_login manifest_parser · 85%
info
Tool: robinhood_check_session manifest_parser · 85%
info
Tool: robinhood_get_watchlists manifest_parser · 85%
info
Tool: robinhood_get_watchlist_items manifest_parser · 85%
info
Tool: robinhood_get_popular_watchlists manifest_parser · 85%
info
Tool: robinhood_get_option_watchlist manifest_parser · 85%
info
Tool: robinhood_get_options manifest_parser · 85%
info
Tool: robinhood_create_watchlist manifest_parser · 85%
info
Tool: robinhood_update_watchlist manifest_parser · 85%
info
Tool: robinhood_add_to_watchlist manifest_parser · 85%
info
Tool: robinhood_remove_from_watchlist manifest_parser · 85%
info
Tool: robinhood_follow_watchlist manifest_parser · 85%
info
Tool: robinhood_unfollow_watchlist manifest_parser · 85%
info
Tool: robinhood_add_option_to_watchlist manifest_parser · 85%
info
Tool: robinhood_remove_option_from_watchlist manifest_parser · 85%
info
Tool: robinhood_get_portfolio manifest_parser · 85%
info
Tool: robinhood_get_equity_positions manifest_parser · 85%
info
Tool: robinhood_get_accounts manifest_parser · 85%
info
Tool: robinhood_get_account manifest_parser · 85%
info
Tool: robinhood_get_option_positions manifest_parser · 85%
info
Tool: robinhood_get_option_orders manifest_parser · 85%
info
Tool: robinhood_get_option_historicals manifest_parser · 85%
info
Tool: robinhood_get_realized_pnl manifest_parser · 85%
info
Tool: robinhood_get_pnl_trade_history manifest_parser · 85%
info
Tool: robinhood_review_equity_order manifest_parser · 85%
info
Tool: robinhood_review_option_order manifest_parser · 85%
info
Tool: robinhood_get_equity_tax_lots manifest_parser · 85%
info
Tool: robinhood_get_scanner_filter_specs manifest_parser · 85%
info
Tool: robinhood_get_scans manifest_parser · 85%
info
Tool: robinhood_get_crypto manifest_parser · 85%
info
Tool: robinhood_get_stock_quote manifest_parser · 85%
info
Tool: robinhood_get_historicals manifest_parser · 85%
info
Tool: robinhood_get_fundamentals manifest_parser · 85%
info
Tool: robinhood_get_short_interest manifest_parser · 85%
info
Tool: robinhood_get_news manifest_parser · 85%
info
Tool: robinhood_search manifest_parser · 85%
info
Tool: robinhood_get_equity_price_book manifest_parser · 85%
info
Tool: robinhood_get_earnings_results manifest_parser · 85%
info
Tool: robinhood_get_earnings_calendar manifest_parser · 85%
info
Tool: robinhood_get_equity_tradability manifest_parser · 85%
info
Tool: robinhood_place_stock_order manifest_parser · 85%
info
Tool: robinhood_place_option_order manifest_parser · 85%
info
Tool: robinhood_place_crypto_order manifest_parser · 85%
info
Tool: robinhood_get_orders manifest_parser · 85%
info
Tool: robinhood_cancel_order manifest_parser · 85%
info
Tool: robinhood_get_order_status manifest_parser · 85%
info
Tool: robinhood_get_movers manifest_parser · 85%
info
Tool: robinhood_get_market_hours manifest_parser · 85%
info
Tool: robinhood_get_indexes manifest_parser · 85%
info
Tool: robinhood_get_index_quotes manifest_parser · 85%
info
Transport: stdio manifest_parser · 90%
info
Required env vars (11) manifest_parser · 80%
medium
Hardcoded OAuth client ID in kevin1chun-robinhood-for-agents-c3ab210/src/client/auth.ts oauth_scope_analyzer · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 70%
low
Permission: filesystem access detected permission_analyzer · 90%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
critical
Tool poisoning in 'robinhood_get_scanner_filter_specs': Cross-tool sequencing directive poisoning · 85%
critical
Tool poisoning in 'robinhood_get_market_hours': Cross-tool sequencing directive poisoning · 85%
info
SBOM generated: 9 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%