mcpField
R
Robinhood Portfolio Research

Robinhood Portfolio Research

本地服务
verygoodplugins.com金融数据4021 周前更新

关于 Robinhood Portfolio Research

Robinhood Portfolio Research 是一个只读的 MCP 服务,封装非官方的 robin_stocks 库,供 AI 助手分析 Robinhood 投资组合数据。它面向希望借助 AI 进行持仓研究的个人投资者。项目不提供交易功能,所有工具均为查询型。

主要功能

  1. 01查询账户、持仓与投资组合价值
  2. 02获取报价、基本面与历史价格
  3. 03查看新闻、财报日期与分析师评级
  4. 04查询股息记录与期权持仓
  5. 05按标的代码查询订单历史
  6. 06支持 TOTP 或推送审批两种登录方式

适用场景

  1. 01对投资组合进行集中度和板块敞口分析
  2. 02在买入前汇总标的的基本面与近期新闻
  3. 03查看持仓的股息记录与即将到来的财报日期

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露约 15 个只读工具,例如 robinhood_get_positions 和 robinhood_get_quote。它通过 robin_stocks 访问 Robinhood 数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"verygoodplugins-robinhood": {
"command": "uvx",
"args": [
"robinhood-mcp"
]
}
}
}
启动命令uvx robinhood-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypirobinhood-mcp0.1.0

工具

12

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

robinhood-mcp

Ask DeepWiki PyPI version License: MIT Python 3.11+ MCP

用于 Robinhood 投资组合研究的只读 MCP 服务。它封装了 robin_stocks,让 AI 助手能够访问你的投资组合数据并进行分析。

⚠️ 仅供研究使用 - 此服务仅提供只读访问,不开放任何交易功能。

⚠️ 非官方 API - 使用 robin_stocks 非官方 API。该 API 可能会在不另行通知的情况下失效。使用风险自负。

演示

观看模拟产品演示

此演示使用模拟账户数据和通用助手界面,仅展示只读研究工作流;不展示真实凭据、真实持仓、专业建议或交易执行。

你可以用它做什么?

连接后,你可以用自然语言与 Claude 讨论你的投资组合:

投资组合健康检查

“检查一下我的投资组合状况。总价值是多少?行业集中度如何?哪些持仓涨跌幅较大?”

Claude 会获取你的持仓、计算行业敞口、找出表现最好和最差的资产,并标记任何集中度风险。

买入前研究

“我考虑增持 NVDA。请展示它的基本面、近期新闻、分析师评级,以及过去一年的表现。”

通过一份回复,整合价格历史、市盈率、财报日期和分析师情绪,提供全面研究。

比较投资标的

“比较我投资组合中的邮轮公司——并排列出 CCL、RCL 和 NCLH 的市盈率、市值和年初至今的表现。”

快速评估相似持仓,找出相对价值。

股息分析

“我今年收到了多少股息?我的哪些持仓会派发股息,股息收益率是多少?”

跟踪被动收入,并发现投资组合中的股息机会。

风险评估

“我的能源行业敞口有多大?前 5 大持仓的集中度如何?”

分析行业集中度,并找出权重可能过高的持仓。

财报日历

“我的哪些持仓将在接下来两周发布财报?”

借助个性化日历,提前应对财报波动。

表现归因

“分析一下我的投资组合回报。哪些因素推动了收益和亏损?”

了解哪些持仓对投资表现的影响最大。

交易历史

“显示我的 HIMS 订单历史——每笔买入和卖出及其价格和日期。”

查看持仓背后的已执行订单,并提供逐笔成交详情,便于研究成本基础和税务。

自选列表研究

“获取我自选列表中所有标的的报价和基本面。现在有哪些值得关注?”

批量研究你正在跟踪的股票。

安装

pip install robinhood-mcp

或者使用 uvx 直接运行:

uvx robinhood-mcp

配置

环境变量
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 approval

对于 Claude Desktop 和其他无头部署,你有两种方式:

  1. TOTP(如果你的账户支持)。 将 ROBINHOOD_TOTP_SECRET 设置为 Base32 格式的身份验证器应用密钥(可在 Robinhood 手机应用的 账户 → 安全性 → 双重身份验证 中,或在 robinhood.com 上找到)。登录快速、无需交互,并且重启后仍然有效。
  2. 否则,使用推送审批。 不设置 ROBINHOOD_TOTP_SECRET。重启后的 第一次工具调用会触发 Robinhood 手机应用中的推送通知——在 ROBINHOOD_APPROVAL_TIMEOUT 秒内(默认 60 秒)点按“批准”。完成这一次审批后,会话会缓存到 ~/.tokens/robinhood.pickle 中,并可重复使用数天或数周,直到自然过期前都无需进一步交互。

较新的 Robinhood 账户若以通行密钥或生物识别登录作为主要 双重身份验证方式,iOS 应用或网页设置中可能都不会显示 TOTP 选项—— 推送审批对这些账户同样适用。

身份验证失败后,服务会将错误缓存约 5 分钟,这样后续工具调用会快速失败, 而不会在重新尝试完整登录流程时再次阻塞 MCP 服务。重启 Claude Desktop 可更快重试。

Claude Desktop

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:

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

如果你的账户支持注册 TOTP,请在上方的 env 块中添加 "ROBINHOOD_TOTP_SECRET": "your_2fa_secret"。

Claude Code
claude mcp add robinhood -- uvx robinhood-mcp

可用工具

工具描述
robinhood_get_accounts可用 Robinhood 账户的账号号码
robinhood_get_portfolio投资组合价值、权益、购买力、当日变动
robinhood_get_positions所有持仓及其成本基础、当前价值和盈亏
robinhood_get_position按股票代码查询单项持仓,包括数量、价值和盈亏
robinhood_get_watchlist自选列表中的股票
robinhood_get_quote实时价格、买入价/卖出价、成交量
robinhood_get_fundamentals市盈率、市值、股息收益率、52 周区间
robinhood_get_historicalsOHLCV 价格历史(日/周/月/年)
robinhood_get_news某个股票代码的近期新闻文章
robinhood_get_earnings财报日期、每股收益预估值、实际值
robinhood_get_ratings分析师的买入/持有/卖出评级
robinhood_get_dividends股息支付历史
robinhood_get_options_positions当前期权持仓
robinhood_get_order_history订单历史(买入/卖出),含每笔成交的详细信息
robinhood_search_symbols按名称或股票代码搜索股票
账户选择

如果你的 Robinhood 登录名关联了多个账户,请先调用 robinhood_get_accounts, 并将返回的 account_number 传递给账户范围内的工具。省略 account_number 则使用 Robinhood 的默认账户。

支持可选 account_number 的工具:

  • robinhood_get_portfolio
  • robinhood_get_positions
  • robinhood_get_position
  • robinhood_get_dividends
  • robinhood_get_options_positions
  • robinhood_get_order_history

示例对话

简单查询:

  • “我现在的投资组合价值是多少?”
  • “按市值显示我持仓最多的 5 只股票”
  • “我已经持有 HIMS 吗?当前持仓是多少?”
  • “列出我的 Robinhood 账户,然后显示 IRA 账户的持仓。”
  • “查询 AAPL 的报价”

对于单只股票的投资组合问题,优先使用 robinhood_get_position,而不是 robinhood_get_positions。单只股票工具无需重新构建所有持仓,处理“我应该再买一些 HIMS 吗?”这类问题时速度快得多。

分析请求:

  • “比较 GOOGL 和 META 的基本面”
  • “我的哪些股票的交易价格低于其 52 周均价?”
  • “显示 TSLA 过去一年的价格走势图”
  • “我表现最好和最差的股票分别是哪只?”

研究工作流:

  • “我想了解邮轮行业。获取 CCL、RCL 和 NCLH 的数据,比较它们的基本面和近期表现。”
  • “找出我投资组合中市盈率低于 15 且盈利增长为正的股票”
  • “我有几项持仓亏损严重。显示表现最差持仓的基本面和新闻,帮助我决定是继续持有还是止损。”

限制

  • 只读:无法进行交易、修改自选列表或更改账户设置
  • 非官方 API:Robinhood 可能随时更改其 API,导致功能失效
  • 不支持实时流:报价是某个时间点的数据,而非实时数据流
  • 会话过期:你可能需要定期重新进行身份验证
  • 速率限制:大量使用可能触发 Robinhood 的速率限制

安全说明

  • 凭据仅在本地用于向 Robinhood 进行身份验证
  • 会话令牌由 robin_stocks 缓存在 ~/.tokens/robinhood.pickle 中
  • 切勿提交 .env 文件或暴露凭据
  • 此工具无法执行交易,设计上仅为只读

开发

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

故障排除

“Not logged in”错误:

  • 确认用户名和密码正确
  • 如果你使用身份验证器应用进行双重身份验证(2FA),则需要设置 ROBINHOOD_TOTP_SECRET
  • 尝试通过 Robinhood 应用登录,确保账户未被锁定
  • 工具调用短暂挂起后失败,并显示“Login returned empty result”: 没有缓存会话,也未设置 ROBINHOOD_TOTP_SECRET,因此服务正在等待你在 Robinhood 移动应用中批准推送通知。在 ROBINHOOD_APPROVAL_TIMEOUT 秒内(默认 60 秒)点击“Approve”,然后再次调用工具——此时会话 pickle 已缓存,后续调用不会再提示。如果你的账户支持 TOTP,添加 ROBINHOOD_TOTP_SECRET 即可完全移除该提示。失败后,服务会将错误缓存约 5 分钟;重启 Claude Desktop 可更快重试。

“Non-base32 digit found”错误:

  • 你的 TOTP 密钥包含无效字符
  • 密钥只能包含字母 A-Z 和数字 2-7
  • 如果你不使用身份验证器应用,请彻底移除 ROBINHOOD_TOTP_SECRET

速率限制:

  • robin_stocks 没有内置速率限制
  • 如果触发速率限制,请等待几分钟后再试

许可证

MIT

免责声明

此工具仅用于教育和研究目的。它使用非官方 API,这些 API 可能随时失效。作者不对任何账户限制、数据不准确或财务损失承担责任。

本项目与 Robinhood Markets, Inc. 无关,也未获得其认可,亦未与其建立联系。

自动化示例

使用 Claude Code 每日查看投资组合

设置 cron 作业,以获取每日投资组合简报:

# ~/.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

每天运行:

# Add to crontab -e
0 7 * * 1-5 cd ~/Projects && claude -p "/portfolio-review" --dangerously-skip-permissions >> ~/portfolio-reports/$(date +\%Y-\%m-\%d).md
每周研究摘要
# ~/.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.

致谢

由 Very Good Plugins 的 Jack Arturo 倾注 🧡 构建。

由 robin_stocks 和 FastMCP 提供支持。

Links

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。