Robinhood MCP
This server provides read-only access to Robinhood account data for AI-assisted portfolio research and analysis.
Portfolio & Positions
Get current portfolio value, equity, buying power, and performance metrics
View all stock holdings with cost basis, current value, P&L, and percent change
Monitor options positions (chain symbol, type, strike, expiration, quantity)
Review dividend payment history (amounts, payable dates)
Stock Research
Real-time quotes: Last trade price, bid/ask spread, trading volume, and status
Fundamental data: P/E ratio, market cap, dividend yield, 52-week range
Historical prices: OHLCV data with configurable intervals (5min–weekly) and spans (day–5 years)
News: Recent articles with title, source, URL, and publication date
Earnings: EPS estimates vs. actuals, report dates
Analyst ratings: Buy/hold/sell counts and recommendation summaries
Symbol search: Find stocks by company name or partial ticker
Analysis & Automation
Compare multiple stocks side-by-side on fundamentals and performance
Identify top performers/losers, analyze sector concentration and risk exposure
Access and research stocks in your Robinhood watchlists
Enable automated daily portfolio reviews and weekly research digests via Claude integration
Provides read-only access to Robinhood portfolio data, including portfolio metrics, stock positions with P&L, watchlists, real-time quotes, fundamentals, historical price data, news, earnings, analyst ratings, dividends, and options positions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Robinhood MCP show me my portfolio value and top positions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
robinhood-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.
Demo
This demo uses simulated account data and a generic assistant interface. It shows read-only research workflows only; it does not show real credentials, real holdings, professional advice, or trade execution.
Related MCP server: t212-mcp-server
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.
Trade History
"Show me my HIMS order history - every buy and sell with prices and dates."
Review the executed orders behind your positions, with per-fill detail useful for cost-basis and tax research.
Watchlist Research
"Pull quotes and fundamentals for everything in my watchlist. Which ones look interesting right now?"
Bulk research stocks you're tracking.
Installation
pip install robinhood-mcpOr run directly with uvx:
uvx robinhood-mcpConfiguration
Environment Variables
export ROBINHOOD_USERNAME="your_email"
export ROBINHOOD_PASSWORD="your_password"
export ROBINHOOD_TOTP_SECRET="your_2fa_secret" # if your account exposes TOTP (see below)
export ROBINHOOD_APPROVAL_TIMEOUT="60" # optional — seconds to wait for push approvalFor Claude Desktop and other headless deployments, you have two paths:
TOTP, if your account exposes it. Set
ROBINHOOD_TOTP_SECRETto the base32 authenticator-app secret (found at Account → Security → Two-Factor Authentication in the Robinhood mobile app or at robinhood.com). Login is fast, non-interactive, and survives restarts.Push approval, otherwise. Leave
ROBINHOOD_TOTP_SECRETunset. The first tool call after a restart triggers a push notification in the Robinhood mobile app — tap "Approve" withinROBINHOOD_APPROVAL_TIMEOUTseconds (default 60). After that one approval, the session is cached in~/.tokens/robinhood.pickleand reused for days/weeks, with no further interaction until natural expiry.
Newer Robinhood accounts that use passkeys or biometric login as their primary 2FA may not surface a TOTP option in either the iOS app or web settings — push approval works fine for these accounts.
After an authentication failure the server caches the error for ~5 minutes so subsequent tool calls fail fast instead of re-blocking the MCP server while re-attempting the full login flow. Restart Claude Desktop to retry sooner.
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"
}
}
}
}If your account has TOTP enrollment available, add
"ROBINHOOD_TOTP_SECRET": "your_2fa_secret" to the env block above.
Claude Code
claude mcp add robinhood -- uvx robinhood-mcpAvailable Tools
Tool | Description |
| Account numbers for available Robinhood accounts |
| Portfolio value, equity, buying power, day change |
| All holdings with cost basis, current value, P&L |
| One holding by ticker with quantity, value, and P&L |
| Stocks in your watchlists |
| Real-time price, bid/ask, volume |
| P/E ratio, market cap, dividend yield, 52-week range |
| OHLCV price history (day/week/month/year) |
| Recent news articles for a symbol |
| Earnings dates, EPS estimates, actuals |
| Analyst buy/hold/sell ratings |
| Dividend payment history |
| Current options positions |
| Order history (buys/sells) with per-fill detail |
| Search stocks by name or ticker |
Account Selection
If your Robinhood login has multiple accounts, call robinhood_get_accounts
first and pass the returned account_number to account-scoped tools. Omit
account_number to use Robinhood's default account.
Tools with optional account_number support:
robinhood_get_portfoliorobinhood_get_positionsrobinhood_get_positionrobinhood_get_dividendsrobinhood_get_options_positionsrobinhood_get_order_history
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?"
"List my Robinhood accounts, then show positions for my IRA account."
"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.pickleby robin_stocksNever commit your
.envfile or expose credentialsThis 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-mcpTroubleshooting
"Not logged in" errors:
Verify your username and password are correct
If you have 2FA with an authenticator app, you need
ROBINHOOD_TOTP_SECRETTry logging in through the Robinhood app to ensure your account isn't locked
Tool calls hang briefly then fail with "Login returned empty result": no cached session and no
ROBINHOOD_TOTP_SECRET, so the server is waiting for you to approve a push notification in the Robinhood mobile app. Tap "Approve" withinROBINHOOD_APPROVAL_TIMEOUTseconds (default 60) and call the tool again — the session pickle is now cached and subsequent calls won't prompt. If TOTP is available on your account, addingROBINHOOD_TOTP_SECRETremoves the prompt entirely. After a failure the server caches the error for ~5 min; restart Claude Desktop to retry sooner.
"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_SECRETentirely
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 coffeeRun 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).mdWeekly 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.
Links
AutoMem - AI memory infrastructure
Available Tools
13 toolsrobinhood_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
Scored across 13 tools
Each tool has a distinct purpose, clearly indicated by its name and description. There is no ambiguity between tools like 'get_position' (single) and 'get_positions' (all) as they serve different use cases.
All tools follow a consistent 'robinhood_verb_noun' pattern using snake_case, making them predictable and easy to navigate.
13 tools is a well-scoped set for a financial data server, covering key areas like dividends, earnings, fundamentals, portfolio, and positions without being overwhelming.
The set covers most common read-only data needs for Robinhood users, but lacks write operations (e.g., buy/sell) and some advanced data like option chains or order history, which is acceptable for a data-focused server.
Maintenance
Related MCP Connectors
Read-only stock research; OAuth unlocks your own portfolio, watchlist, and Smart Alerts.
Agentic brokerage access to a US brokerage account: quotes, orders, positions, cash and documents.
Live market data, financial analysis, and portfolio research tools across 10,000+ tickers.
Connect brokerage accounts to AI assistants: holdings, orders, asset lookup, and approved trading.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables comprehensive stock market analysis with portfolio management, technical indicators, dividend tracking, sector analysis, risk metrics, and price alerts. Provides real-time stock data, trend analysis, and investment insights through natural language interactions.1-
- AlicenseNot gradedqualityDmaintenanceProvides read-only access to Trading 212 accounts, enabling AI assistants to retrieve portfolio positions, account summaries, instrument data, and transaction history.32 npm5MIT

ROIC.ai Financial Data MCPofficial
AlicenseAqualityCmaintenanceEnables AI assistants to access stock prices, financial statements, earnings call transcripts, and fundamental data for 60,000+ public companies via 25 read-only tools.2528 npm4MIT- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform live stock and portfolio research using Yahoo Finance data, including quotes, fundamentals, price history, news, portfolio analysis, and ticker comparisons.-