Skip to main content
Glama
robinhood-mcp

robinhood-mcp

drasticstatic working copy — Used by the Fortuna trading system. This is an independent repo created from a local clone of verygoodplugins/robinhood-mcp. Upstream is tracked as a remote for voluntary comparison — changes are reviewed before applying.

# Check for upstream updates (review before applying)
git fetch upstream && git log upstream/main --oneline

robinhood-mcp

Ask DeepWiki PyPI version License: MIT Python 3.11+ MCP

A read-only MCP server for Robinhood portfolio research. Wraps robin_stocks to give AI assistants access to your portfolio data for analysis.

⚠️ Research Tool Only - This server provides read-only access. No trading functionality is exposed.

⚠️ Unofficial API - Uses robin_stocks unofficial API. May break without notice. Use at your own risk.

What Can You Do With This?

Once connected, you can have natural conversations with Claude about your portfolio:

Portfolio Health Check

"Give me a health check on my portfolio. What's my total value, sector concentration, and any positions that are significantly up or down?"

Claude will pull your positions, calculate sector exposure, identify your best and worst performers, and flag any concentration risks.

Research Before Buying

"I'm thinking about adding to my NVDA position. Show me the fundamentals, recent news, analyst ratings, and how it's performed over the past year."

Get comprehensive research combining price history, P/E ratios, earnings dates, and analyst sentiment in one response.

Compare Investments

"Compare the cruise lines in my portfolio - show me CCL, RCL, and NCLH side by side with their P/E ratios, market caps, and year-to-date performance."

Quickly evaluate similar holdings to identify relative value.

Dividend Analysis

"What dividends have I received this year? Which of my holdings pay dividends and what are their yields?"

Track your passive income and identify dividend opportunities in your portfolio.

Risk Assessment

"What's my exposure to the energy sector? How concentrated am I in my top 5 holdings?"

Analyze sector concentration and identify positions that might be overweight.

Earnings Calendar

"Which of my holdings have earnings coming up in the next two weeks?"

Stay ahead of earnings volatility with a personalized calendar.

Performance Attribution

"Break down my portfolio returns. What's driving my gains and losses?"

Understand which positions are contributing most to your performance.

Watchlist Research

"Pull quotes and fundamentals for everything in my watchlist. Which ones look interesting right now?"

Bulk research stocks you're tracking.

Related MCP server: Public.com MCP Server

Installation

pip install robinhood-mcp

Or run directly with uvx:

uvx robinhood-mcp

Configuration

Environment Variables

export ROBINHOOD_USERNAME="your_email"
export ROBINHOOD_PASSWORD="your_password"
export ROBINHOOD_TOTP_SECRET="your_2fa_secret"  # Only if you use authenticator app

Note: If you use Face ID, Touch ID, or passcode login on Robinhood (no authenticator app), you don't need ROBINHOOD_TOTP_SECRET.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "robinhood": {
      "command": "uvx",
      "args": ["robinhood-mcp"],
      "env": {
        "ROBINHOOD_USERNAME": "your_email",
        "ROBINHOOD_PASSWORD": "your_password"
      }
    }
  }
}

Claude Code

claude mcp add robinhood -- uvx robinhood-mcp

Available Tools

Tool

Description

robinhood_get_portfolio

Portfolio value, equity, buying power, day change

robinhood_get_positions

All holdings with cost basis, current value, P&L

robinhood_get_position

One holding by ticker with quantity, value, and P&L

robinhood_get_watchlist

Stocks in your watchlists

robinhood_get_quote

Real-time price, bid/ask, volume

robinhood_get_fundamentals

P/E ratio, market cap, dividend yield, 52-week range

robinhood_get_historicals

OHLCV price history (day/week/month/year)

robinhood_get_news

Recent news articles for a symbol

robinhood_get_earnings

Earnings dates, EPS estimates, actuals

robinhood_get_ratings

Analyst buy/hold/sell ratings

robinhood_get_dividends

Dividend payment history

robinhood_get_options_positions

Current options positions

robinhood_search_symbols

Search stocks by name or ticker

Example Conversations

Simple queries:

  • "What's my portfolio worth right now?"

  • "Show me my top 5 holdings by value"

  • "Do I already own HIMS, and what's my current position?"

  • "Get me a quote for AAPL"

For single-symbol portfolio questions, prefer robinhood_get_position over robinhood_get_positions. The single-symbol tool avoids rebuilding every holding and is much faster for questions like "Should I add more HIMS?"

Analysis requests:

  • "Compare the fundamentals of GOOGL vs META"

  • "Which of my stocks are trading below their 52-week average?"

  • "Show me the price chart for TSLA over the past year"

  • "What's my best performing stock? What's my worst?"

Research workflows:

  • "I want to understand the cruise line industry. Pull data on CCL, RCL, and NCLH - compare their fundamentals and recent performance."

  • "Find stocks in my portfolio with a P/E under 15 and positive earnings growth"

  • "I'm down big on a few positions. Show me the fundamentals and news for my worst performers to help me decide if I should hold or cut losses."

Limitations

  • Read-only: Cannot place trades, modify watchlists, or change account settings

  • Unofficial API: Robinhood may change their API at any time, breaking functionality

  • No real-time streaming: Quotes are point-in-time, not live feeds

  • Session expiry: You may need to re-authenticate periodically

  • Rate limits: Heavy usage may trigger Robinhood's rate limiting

Security Notes

  • Credentials are only used locally to authenticate with Robinhood

  • Session tokens are cached in ~/.tokens/robinhood.pickle by robin_stocks

  • Never commit your .env file or expose credentials

  • This tool cannot execute trades - it's read-only by design

Development

git clone https://github.com/verygoodplugins/robinhood-mcp.git
cd robinhood-mcp
pip install -e ".[dev]"

# Lint
ruff check . && ruff format --check .

# Test
pytest

# Run locally
robinhood-mcp

Troubleshooting

"Not logged in" errors:

  • Verify your username and password are correct

  • If you have 2FA with an authenticator app, you need ROBINHOOD_TOTP_SECRET

  • Try logging in through the Robinhood app to ensure your account isn't locked

"Non-base32 digit found" error:

  • Your TOTP secret contains invalid characters

  • The secret should only contain letters A-Z and digits 2-7

  • If you don't use an authenticator app, remove ROBINHOOD_TOTP_SECRET entirely

Rate limiting:

  • robin_stocks doesn't have built-in rate limiting

  • If you hit rate limits, wait a few minutes before retrying

License

MIT

Disclaimer

This tool is for educational and research purposes only. It uses unofficial APIs that may break at any time. The authors are not responsible for any account restrictions, data inaccuracies, or financial losses.

This project is not affiliated with, endorsed by, or connected to Robinhood Markets, Inc.

Automation Examples

Daily Portfolio Review with Claude Code

Set up a cron job to get a daily portfolio briefing:

# ~/.claude/commands/portfolio-review.md
---
description: "Daily portfolio health check"
---
Using the robinhood MCP tools:
1. Get my current portfolio value and day change
2. Identify my top 3 gainers and top 3 losers today
3. Flag any positions that are down more than 20% from cost basis
4. Check if any holdings have earnings in the next 7 days
5. Give me a 2-3 sentence summary I can read with my morning coffee

Run it daily:

# Add to crontab -e
0 7 * * 1-5 cd ~/Projects && claude -p "/portfolio-review" --dangerously-skip-permissions >> ~/portfolio-reports/$(date +\%Y-\%m-\%d).md

Weekly Research Digest

# ~/.claude/commands/weekly-research.md
---
description: "Weekly deep dive on portfolio"
---
For each of my top 10 holdings by value:
1. Pull current fundamentals and compare to sector averages
2. Get recent news and analyst rating changes
3. Flag any significant changes from last week
4. Identify 2-3 stocks from my watchlist that might be worth adding

Format as a markdown report I can review on the weekend.

Credits

Built with 🧡 by Jack Arturo at Very Good Plugins.

Powered by robin_stocks and FastMCP.

Available Tools

13 tools
robinhood_get_dividendsA

Get all dividend payments received.

Returns list of dividend payments with amount, payable date, record date, and instrument details.

Inputs: no named parameters. Returns: result

robinhood_get_earningsC

Get earnings data for a stock.

Inputs: symbol (required). Returns: result

robinhood_get_fundamentalsC

Get fundamental data for a stock.

Inputs: symbol (required). Returns: object

robinhood_get_historicalsC

Get historical price data for a stock.

Inputs: symbol (required), interval, span. Returns: result

robinhood_get_newsA

Get recent news articles for a stock.

Inputs: symbol (required). Returns: result

robinhood_get_options_positionsA

Get all current options positions (read-only).

Returns list of options positions with chain symbol, type, strike price, expiration, and quantity.

Inputs: no named parameters. Returns: result

robinhood_get_portfolioA

Get current portfolio value and performance metrics.

Returns portfolio profile with equity, extended hours equity, withdrawable amount, and other account details.

Inputs: no named parameters. Returns: object

robinhood_get_positionA

Get one current stock position with a faster single-symbol lookup.

Inputs: symbol (required). Returns: object

robinhood_get_positionsA

Get all current stock positions with details.

Returns a dict mapping stock symbols to position details including price, quantity, average buy price, equity, and percent change.

Inputs: no named parameters. Returns: object

robinhood_get_quoteB

Get real-time quote for a stock symbol.

Inputs: symbol (required). Returns: object

robinhood_get_ratingsB

Get analyst ratings summary for a stock.

Inputs: symbol (required). Returns: object

robinhood_get_watchlistC

Get stocks in a watchlist.

Inputs: name. Returns: result

robinhood_search_symbolsB

Search for stock symbols by company name or ticker.

Inputs: query (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 13 tools

    Disambiguation5/5

    Each tool targets a distinct data type (dividends, earnings, fundamentals, etc.) with clear boundaries. The only potential overlap is between get_position and get_positions, but they are differentiated by single vs. all symbols.

    Naming Consistency5/5

    All tools follow a uniform 'robinhood_verb_noun' pattern, using snake_case and descriptive verbs (get, search). No mixing of styles or vague names.

    Tool Count5/5

    13 tools is well-suited for a data-heavy financial service, covering a broad range of endpoints without being overwhelming. The count feels neither sparse nor excessive.

    Completeness4/5

    The tool set comprehensively covers read-only data retrieval (quotes, positions, dividends, earnings, news, etc.), but lacks write operations (e.g., placing orders) which might be expected from a brokerage service. Minor gap for transactional use cases.

    Maintenance

    ActivityMaintained
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      A read-only MCP server that provides access to Charles Schwab account data and market information, including portfolio positions, real-time quotes, options chains, price history, and account balances through AI assistants.
      9
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      This MCP server connects AI assistants to a Public.com brokerage account, enabling natural language trading of stocks, options, and crypto, along with portfolio management, quotes, and orders.
      46
      526 PyPI
      67
      Apache 2.0
    • A
      license
      A
      quality
      B
      maintenance
      A read-only MCP server for Trading 212 accounts, enabling AI assistants to query balances, positions, orders, dividends, pies, and instruments without trading capabilities.
      12
      1
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      A local-first MCP server that connects Claude Code to your Robinhood account, enabling read-only portfolio insights, tax analysis, and natural language queries, with optional human-in-the-loop trading actions.
      -