Skip to main content
Glama
bakernyc

pyhood-mcp

by bakernyc
README.md
# pyhood-mcp

**Model Context Protocol (MCP) server for Robinhood trading via pyhood**

Connect your Robinhood account to Claude Code (or any MCP client) for conversational portfolio management and automated trading.

## Features

- ๐Ÿ“Š Portfolio monitoring (positions, gains/losses, buying power)
- ๐Ÿ“ˆ Real-time quotes and market data
- ๐Ÿ”„ Stock order placement (market, limit, stop orders)
- ๐Ÿ“œ Order history and management
- ๐Ÿ“‰ Historical price data for technical analysis
- ๐Ÿ’ฐ Options chain data and expirations
- ๐Ÿข Fundamental data (market cap, PE ratio, etc.)

## Installation

### Prerequisites

- Python 3.10+
- A Robinhood account
- Claude Code (or any MCP-compatible client)

### Install dependencies

```bash
pip install pyhood mcp
```

### Download the server

```bash
# Clone this repo
git clone https://github.com/YOUR_USERNAME/pyhood-mcp.git
cd pyhood-mcp

# Or just download pyhood_mcp_server.py
curl -O https://raw.githubusercontent.com/YOUR_USERNAME/pyhood-mcp/main/pyhood_mcp_server.py
chmod +x pyhood_mcp_server.py
```

## Setup

### 1. Authenticate with Robinhood

First, create a session (handles 2FA):

```bash
python3 -c "import pyhood; pyhood.login(username='YOUR_EMAIL', password='YOUR_PASSWORD')"
```

This creates a cached session in `~/.pyhood/session.json`.

### 2. Configure Claude Code

Add to your `~/.claude/settings.json`:

```json
{
  "mcpServers": {
    "pyhood": {
      "command": "python3",
      "args": ["/path/to/pyhood_mcp_server.py"],
      "env": {
        "ROBINHOOD_USERNAME": "your_email@example.com",
        "ROBINHOOD_PASSWORD": "your_password"
      }
    }
  }
}
```

Or set environment variables in your shell:

```bash
export ROBINHOOD_USERNAME="your_email@example.com"
export ROBINHOOD_PASSWORD="your_password"
```

### 3. Restart Claude Code

The pyhood MCP server will now be available in Claude Code.

## Usage

### In Claude Code

```
What's my portfolio performance today?

Get a quote for NVDA

Place a market order to buy 10 shares of AAPL

Show me my recent order history

Get historical data for TSLA over the past month
```

### Available Tools

| Tool | Description |
|------|-------------|
| `get_portfolio` | Portfolio summary with all positions |
| `get_positions` | List all current positions |
| `get_quote` | Real-time quote for a symbol |
| `get_quotes` | Quotes for multiple symbols |
| `get_buying_power` | Available cash balance |
| `place_order` | Place buy/sell orders |
| `get_stock_orders` | Recent order history |
| `cancel_order` | Cancel a pending order |
| `cancel_all_stock_orders` | Cancel all pending orders |
| `get_order` | Check status of a specific order |
| `get_stock_historicals` | Historical price data |
| `get_fundamentals` | Company fundamentals |
| `get_earnings` | Earnings dates and estimates |
| `get_options_chain` | Options data for a symbol |
| `get_options_expirations` | Available option expirations |

## Security

โš ๏ธ **Important Security Notes:**

- Never commit your Robinhood credentials to git
- The session cache (`~/.pyhood/session.json`) contains sensitive tokens
- Use environment variables for credentials when possible
- This server runs locally and communicates only with Robinhood's API

## Pattern Day Trading (PDT)

If your account is <$25k, you're limited to 3 day trades per rolling 5-day period. Be careful with automated trading strategies. See [FINRA PDT rules](https://www.finra.org/investors/learn-to-invest/advanced-investing/day-trading-margin-requirements-know-rules).

## Dependencies

- [pyhood](https://github.com/jiak94/pyhood) - Modern Robinhood Python client
- [mcp](https://github.com/modelcontextprotocol/python-sdk) - Model Context Protocol SDK

## Disclaimer

**This software is for educational purposes only. Trading stocks involves risk.**

- You are responsible for all trades executed through this tool
- No warranty or guarantee of fitness for any purpose
- The authors are not liable for any financial losses
- Always verify orders before execution
- Use at your own risk

Robinhoodยฎ is a trademark of Robinhood Markets, Inc. This project is not affiliated with or endorsed by Robinhood.

## Contributing

Contributions welcome! Please:

1. Fork the repo
2. Create a feature branch
3. Submit a pull request

## License

MIT License - see [LICENSE](LICENSE) file for details

## Related Projects

- [autonomous-trading-agent](https://github.com/bakernyc/autonomous-trading-agent) - Autonomous trading agent using this MCP server
- [pyhood](https://github.com/jamestford/pyhood) - The underlying Robinhood API client

## Support

- Issues: [GitHub Issues](https://github.com/YOUR_USERNAME/pyhood-mcp/issues)
- Discussions: [GitHub Discussions](https://github.com/YOUR_USERNAME/pyhood-mcp/discussions)