Skip to main content
Glama
markswendsen-code

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