
Robinhood Portfolio Research
io.github.verygoodpluginsPublished by GitHub account verygoodpluginsv0.1.0Updated Oct 24, 2026
Read-only research tools for Robinhood portfolio data
The publisher's own server: PortfolioFit
Overview
Read-only access to Robinhood portfolio data for research, quotes, fundamentals, dividends, and order history.
- What you can do
- Wraps the unofficial robin_stocks library to expose Robinhood account data to an assistant. Tools cover accounts, portfolio value, positions with cost basis and P&L, watchlists, quotes, fundamentals, historical prices, news, earnings, analyst ratings, dividends, options positions, order history, and symbol search. Everything is read-only; no trading or account changes are exposed.
- When to use it
- Useful when you want an assistant to analyze your own Robinhood holdings: portfolio health checks, sector concentration, comparing holdings, dividend tracking, earnings calendars, or researching a symbol before buying. Not for placing trades or managing accounts.
- Requirements
- Local Python runtime; install via pip or run with uvx. Requires Robinhood credentials supplied as environment variables ROBINHOOD_USERNAME and ROBINHOOD_PASSWORD, plus either ROBINHOOD_TOTP_SECRET for TOTP or interactive push approval in the Robinhood mobile app (ROBINHOOD_APPROVAL_TIMEOUT optional). Network access to Robinhood's API. Desktop only.
Installation
In SourceWeft
- Open Robinhood Portfolio Research in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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.
Demo
Watch the simulated product 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.
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
Or run directly with uvx:
Configuration
Environment Variables
For 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:
If your account has TOTP enrollment available, add
"ROBINHOOD_TOTP_SECRET": "your_2fa_secret" to the env block above.
Claude Code
Available Tools
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_stocks - Never commit your
.envfile or expose credentials - This tool cannot execute trades - it's read-only by design
Development
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
- 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:
Run it daily:
Weekly Research Digest
Credits
Built with 🧡 by Jack Arturo at Very Good Plugins.
Powered by robin_stocks and FastMCP.
Links
- GitHub
- PyPI
- Very Good Plugins
- AutoMem - AI memory infrastructure
- robin_stocks Documentation
- Model Context Protocol
Source: README.md at commit 2a1b9ba
Tools
0Version history
1- v0.1.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Portfolio integrations

PortfolioFit
fit.portfolioOfficial publisher
PortfolioFit is a remote MCP server that lets an assistant check normalized portfolios against mandates and compute allocation constraints and statistics.

Cameron Rye Portfolio MCP Server
dev.ryeOfficial publisher
Remote MCP endpoint exposing Cameron Rye's blog, portfolio projects, bio, reading list and live site stats, plus contact and newsletter tools.
Shlok Bam's portfolio
Published by GitHub account shlokbam
Shlok Bam's portfolio's hosted MCP server; no sign-in required; Streamable HTTP; 10 tools.

Harshith Nayaka L portfolio docs
Published by GitHub account HarshithNayakaL
Read-only MCP server exposing the developer documentation for a portfolio site's JSON API, MCP, A2A and NLWeb endpoints.

Harshith Nayaka L portfolio
Published by GitHub account HarshithNayakaL
Read-only MCP access to Harshith Nayaka L's portfolio site, letting an assistant look up his profile, projects, case studies, FAQ and agent skills.