mcp-robinhood
README.md
# @striderlabs/mcp-robinhood
An MCP (Model Context Protocol) server connector for Robinhood that enables AI agents to interact with Robinhood brokerage accounts via browser automation.
## Features
- **View Portfolio** — Get all positions, values, and performance
- **Get Quotes** — Real-time stock and crypto prices
- **Account Balance** — Buying power, cash balance, total value
- **Watchlists** — View your Robinhood watchlists
- **Order History** — Recent trades and their statuses
- **Place Trades** — Buy/sell stocks with market or limit orders (dry-run mode available)
## Installation
```bash
npm install -g @striderlabs/mcp-robinhood
# Install Playwright browsers
npx playwright install chromium
```
## Configuration
Set your Robinhood credentials as environment variables:
```bash
export ROBINHOOD_USERNAME="your@email.com"
export ROBINHOOD_PASSWORD="yourpassword"
export ROBINHOOD_MFA_CODE="123456" # If MFA is enabled
export ROBINHOOD_HEADLESS="true" # Set to "false" to see the browser
```
## Usage with Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"robinhood": {
"command": "mcp-robinhood",
"env": {
"ROBINHOOD_USERNAME": "your@email.com",
"ROBINHOOD_PASSWORD": "yourpassword",
"ROBINHOOD_HEADLESS": "true"
}
}
}
}
```
## Available Tools
| Tool | Description |
|------|-------------|
| `robinhood_login` | Login to Robinhood |
| `robinhood_get_portfolio` | View all positions and values |
| `robinhood_get_quote` | Get stock/crypto price |
| `robinhood_get_account_balance` | Get buying power and cash balance |
| `robinhood_get_watchlist` | View watchlists |
| `robinhood_get_order_history` | View recent orders |
| `robinhood_place_trade` | Buy or sell stocks (use `dry_run: true` to preview) |
| `robinhood_logout` | Close the browser session |
## Trade Safety
The `robinhood_place_trade` tool defaults to `dry_run: true` for safety. To execute real trades, explicitly set `dry_run: false`.
**Example usage:**
```
# Preview a trade
robinhood_place_trade(action="buy", symbol="AAPL", order_type="market", quantity=1, dry_run=true)
# Execute a real trade
robinhood_place_trade(action="buy", symbol="AAPL", order_type="market", quantity=1, dry_run=false)
```
## Requirements
- Node.js >= 18
- Playwright with Chromium installed
- A Robinhood account
## Disclaimer
This tool uses browser automation and is not affiliated with Robinhood. Use responsibly and ensure compliance with Robinhood's Terms of Service. Trading involves financial risk.
## License
MIT
TDQS
A3.8/5.0
Scored across 8 tools
Disambiguation5/5
Each tool has a clearly distinct purpose: login, logout, account balance, order history, portfolio, quote, watchlist, place trade. No overlap in functionality.
Naming Consistency5/5
All tools follow a consistent 'robinhood_verb_noun' pattern, e.g., robinhood_get_account_balance, robinhood_place_trade. No mixing of conventions.
Tool Count5/5
Eight tools cover essential Robinhood interactions: authentication, account info, trading, and market data. Scope is well-balanced without being excessive or sparse.
Completeness4/5
Core workflows are covered (login, view balance/portfolio/orders, place trade, get quote). Missing tools for canceling orders or viewing order details, but the surface is functional for basic trading.
Maintenance
ActivityInactive
ResponsivenessNo issues