这是什么
MCP(Model Context Protocol)是一个开放标准,让 AI agent 能调用外部工具。包租公实现了一个 MCP 服务器——你的 agent 连上后,就能以你的身份读取你的持仓、拿 RENT 排序的收租推荐、读早安简报;经你在 app 里开启写入后,还能帮你改 watchlist / 笔记 / 账户资料 / 持仓(每步可撤销,绝不下单)。所有「用自然语言统计 / 提问」的活由你自己的 agent(它的 LLM)完成,包租公只提供结构化的数据与计算。
它适合谁:已经活在 AI agent 工作流里的人。如果你只想简单看盘,直接用 app 就好——app 本身已经很简单。MCP 是给想把包租公塞进自己 agent 的进阶玩家的。
怎么连接
baozugong.app/mcp-guide)发给你的 Codex / Claude Code / Claude,说「帮我连上这个 MCP server」。连接要用的信息都在本页,它会按你客户端的格式自己写好配置。
https://baozugong.app/api/mcpstreamable-httpOAuth 2.1 / Bearer API keyapp.baozugong/landlord手动连接,三选一:
方式 A:静态密钥
Codex / Claude Code / mcporter- 在 app 里生成密钥:头像 → 账户设置 → API / MCP 访问 → 生成密钥(只显示一次,复制保存)。
- 把上面的 endpoint 和密钥交给你的 agent——最省事的是直接贴给 Codex / Claude Code,让它自己写 config。或手动写进配置文件,例如 Codex 的
~/.codex/config.toml:
[mcp_servers.baozugong]
url = "https://baozugong.app/api/mcp"
bearer_token_env_var = "BZG_TOKEN"
enabled = true然后把密钥放进环境变量(别提交进 git):
export BZG_TOKEN="bzg_live_…你的密钥 / your key"方式 B:OAuth 一键
个人版 Claude Desktop / claude.ai- 设置 → 连接器 → 添加自定义连接器 → 填上面的 endpoint → 浏览器登录授权即可。不用手动贴密钥。
方式 C:官方 MCP Registry
支持 registry 的客户端- 你的客户端若支持官方 MCP Registry,直接搜
app.baozugong/landlord添加即可——endpoint 和认证会自动带上,不用手填。
有哪些工具
现在 26 个工具:读取(默认可用)+ 写入(改 watchlist / 笔记 / 账户资料 / 持仓,需你在 app 打开、每步可撤销)。用大白话问你的 agent 就行,它自己挑。
| 工具 | 做什么 | 你可以这样问 |
|---|---|---|
get_positions | 你的持仓 + 实时定价 / Greeks / 盈亏 | 我所有仓位里哪些这周到期? |
portfolio_stats | 组合汇总:总盈亏 / 净 Greeks / 集中度 | 我组合的净 delta 是多少?科技股占比会不会太高? |
find_recommendations | 某标的的 RENT 排序收租候选 | 给我找 TSLA 现在最好的 CSP |
scan_watchlist | 多标的批量扫(默认你的 watchlist) | 扫我的 watchlist,哪些 IV 高、适合卖 put? |
explain_score | 某合约为什么是这个包租公分(因子分解) | 为什么我这张 NVDA covered call 只有 3 星? |
get_position_defense | 某张持仓的防守 facts:接货风险 / 出场计划 / roll 候选 / 检查点 | 我这张深 ITM 的 put 该怎么办? |
get_market_climate | 现在的收租气候(大盘 regime + VIX + 宏观临近) | 现在收租气候怎么样? |
get_morning_brief | 今天的早安管家简报(已生成快照) | 今天管家怎么说? |
get_watchlist | 你的 IV 提醒清单(≠ 愿接清单) | 我 watchlist 里有哪些标的? |
get_account_profile | 你的账户资料:关注标的 / 愿接清单 / 受限标的 / 可用资金 / 正股 / 默认人设(与 app 账户设置同一份) | 我愿接清单里有哪些票? |
get_followed_tickers | 你关注的标的(标的三层 层①)+ 每条的提醒开关 + 是否已升到「愿意接」 | 我关注了哪几只票? |
get_realized_performance | 已实现收租战绩:逐月 + 累计 + 最近平仓(月度总结 / 复盘用) | 这个月我收了多少?帮我复盘最近几笔 |
compare_candidates | 把 2-5 个候选按该看的指标横向对比(标最优 / 最差 + 高低方向) | 帮我对比这两个 CSP,哪个更划算? |
| ↓ 写入工具 · 需你在 app 打开写入权限,每步可撤销 | ||
send_feedback | 给包租公团队留言 / 报 bug | 帮我给团队报个 bug:导入截图识别错了 |
follow_ticker | 关注一只票(不用给阈值 —— 「现在没什么好时机,但先关注上」正是它的用法) | 关注一下 SOFI |
unfollow_ticker | 取消关注一只票 | 别盯 SOFI 了 |
add_to_watchlist | 关注 + 顺带开 IV 提醒(不给阈值 = 等同 follow_ticker) | 把 TSLA 加进 watchlist,IV 到 40 提醒我 |
remove_from_watchlist | 从 watchlist 移除标的 | 把 NVDA 从我的 watchlist 删掉 |
add_note | 给某张持仓记一条交易笔记 | 给我这张 TSLA put 记一笔:打算跌破 400 就 roll |
delete_note | 删掉某张持仓的一条笔记 | 把那条笔记删了 |
undo_last_edit | 撤销 agent 上一次的改动 | 撤销你刚才的修改 |
set_willing_to_own | 标 / 取消某标的「愿接货」(愿接的票 CSP 优先) | 把 SPY 加进我的愿接清单 |
set_restricted | 标 / 解除「受限」(受限票绝不被建议交易) | 把 META 设成受限,别推荐它 |
set_buying_power | 设置可用资金 / buying power | 把我的可用资金设成 5 万 |
set_stock_holding | 设置 / 清除某标的正股持仓(算能卖几张备兑) | 我持有 300 股 AAPL,成本 210 |
set_default_persona | 设置默认出场风格(早平 / wheel / 持到期) | 默认帮我早平(约 50%) |
propose_position_edit | 预览一次持仓改动(加/平/改/删·单腿或多腿 strangle/价差·先给 diff 你确认) | 我刚卖了张 TSLA put $400 ×2,记一下 |
commit_position_edit | 你看过 diff 确认后才落库 | 确认,就这样记 |
sync_broker_activity | 无人值守批量对账券商活动:持仓(新开 / 平仓 / 展期一次记完·单腿+多腿)+ 账户(可用资金 + 正股快照·没建过账户可顺手建)。已有的跳过·可疑的列出不写·可整批撤销·需单独打开「自动对账」开关 | 每天 11 点读我 IBKR 的持仓、成交、可用资金和正股,全部同步进包租公 |
两个写入开关别搞混:日常「我刚卖了张 TSLA put,记一下」这种一次性改动,走 propose_position_edit → 你看 diff → commit_position_edit,只需要开「允许我的 agent 修改我的数据」。「自动对账」是**另一个**开关,只给无人值守的定时批量对账用。如果你的 agent 为了记一笔仓让你去开「自动对账」,那是它选错工具了——让它改用 propose_position_edit。
多账户:同一张合约在两个账户是两笔仓:如果你在 Robinhood 和 Roth IRA 各卖了一张同样的 TSLA $400 put,包租公按**两条独立持仓**记(各自的人设、防守方案、平仓记录互不影响)。所以让 agent 记仓时带上 account_id——不带的话同一张合约会被当成重复而跳过。账户 id 从 get_positions 返回的 accounts 映射里拿。券商对账同理:sync_broker_activity 的每条 item 也可以带 account_id(券商本来就是分账户报的),先把你的券商账户和 accounts 里的对上(按券商 + 名字),再逐条带上;对不上的宁可留空也别猜——留空可以事后补,归错账户不容易发现。反过来,平仓/改仓时如果同一张合约在多个账户都有、而你只给了「标的+类型+行权价+到期」,agent 会被**拒绝并要求你指明是哪一个**(而不是猜——猜错就平了另一个账户的仓)。
已经记进来的仓要**批量改归属**(第一次配多账户时,通常是「二三十条老仓一次分完」),让 agent 调 propose_position_edit 的 action=assign_account:给一串 position_ids + 一个 to_account_id(留空=退回未分配)。一次调用就是一步、可整体撤销,不管里面有多少笔。它只动「这笔记在哪个账户名下」——张数、成本、平仓记录、笔记、防守方案一个字都不碰。目标账户必须是你真有的账户,写错了会被当场拒绝而不是把仓挂到一个不存在的账户下(那种仓在 app 里既不在分组里、也筛不出来,看起来就像凭空消失了)。
同一张合约分几次卖 = 一笔仓的多个批次:周一卖了 5 张、周三又卖 1 张(或者同一天分两次、价格不一样),这在包租公里是**一条持仓的两个批次**——每批留着自己的成交日和价格,持仓汇总是张数相加 + 按张数加权的均价。让 agent 记的时候照常用 propose_position_edit 的 action=add,把真实的 trade_date 带上就行;它会先告诉你合并之后一共几张、均价多少,你看过 diff 再落库。(只有当你是在**改错**——当初张数就记错了——才用 action=edit。)
券商自动对账要多说一句:sync_broker_activity 默认把「已经记过的同一张合约」跳过——无人值守的定时任务每天会把整本账再报一遍,不跳过就天天翻倍。所以让 agent 从**成交明细**同步时,给加仓的那条带上 lot: true 和 fill_id(券商的成交编号);从**持仓列表**同步时则不要带 lot(那是当前状态,不是新成交)。fill_id 是重跑安全的关键:同一个成交号只记一次,所以同一段时间的活动重跑多少遍都不会多算。拿不到成交号也能用,只是那时只能靠「日期+价格+张数」认,同一天同价的两笔真成交会被当成重复而漏掉一笔。
展期(roll)要第三步,不然界面看不出来:一次展期在包租公里是**一件事**——旧腿平掉、新腿开出、两条**记着彼此**。让 agent 记的时候是三步:close(旧腿,reason="roll")→ add(新腿)→ action=link_roll(带 from_position_id 旧腿 + to_position_id 新腿)把两条配起来。少了第三步,成交、盈亏、新仓全都是对的,但**平仓记录里不会显示「转入 …」、复盘表不显示「展期到」、也给不了「撤销整次 Roll」**——因为没有任何字段记着这两条是同一次展期。link_roll **只写这层关系**,张数 / 买回价 / 已实现盈亏一个字不动,所以以前分两步记、漏了配对的老展期,也用它补(同一对再关一次不会重复,是幂等的)。走 sync_broker_activity 的 op=roll 时不用管这些——它一次记完并自动配对。
预置工作流(Prompts):支持 MCP prompts 的客户端里,可以直接调用几条打包好的工作流——morning_rent_check(早安收租体检)· portfolio_review(组合体检)· find_income(找收租机会)· defend_position(守某张仓)· debate_candidate(多空接货辩论)· risk_lens_scan(风险三视角)· reconcile_broker(券商对账)· daily_broker_sync(每日券商同步)。它们会让你的 agent 自动串起该用的工具。
你可以这样用
因为问话由你的 agent 理解、我们只给数据,你能问得很自由,还能跟你自己的其他工具拼起来:
- 这个月我一共收了多少权利金?年化多少?你的 agent 拉全部持仓自己算——app 没有的视角也能问。
- 哪些仓的 delta 漂到 0.4 以上了、该 roll 了?持仓 + Greeks 一起看,自己标出要处理的。
- 我有 5000 刀 buying power,现在最值得收租的 3 个机会?找推荐 + 按你的资金二次筛选。
- 每天早上把简报 + 扫一遍我的 watchlist,汇总发我邮件。你在自己的 agent 里搭这条例程——我们只提供工具,编排由你。
- 把包租公里记的持仓,和我券商账户实际持仓核对一下。跨工具:你的 agent 两边都连着,自己对账。
真实案例:券商 → 包租公,每天对账
包租公不连你的券商——我们不碰你的券商凭证,也不打算碰。但你的 agent 可以两边都连:一边是券商聚合 MCP(例如 SnapTrade Personal,个人自用免费、只读、覆盖 Schwab / Fidelity / Robinhood 等二十多家),另一边是包租公 MCP。对账就发生在你自己的 agent 里,两边谁也不用把数据交给对方。
下面是包租公作者每天在跑的用法:从券商拉出昨天和今天的期权成交,逐笔核对包租公里记的对不对。
三步搭起来
- 注册 SnapTrade Personal → 授权你的券商 → 在你的 agent 里加它的 MCP(
https://mcp.snaptrade.com/mcp,OAuth 一键授权,只读、不能下单)。 - 按本页「怎么连接」再加上包租公 MCP。
- 然后说人话就行:「列出我昨天和今天的期权交易,然后检查是否都在包租公里了」
支持 MCP prompts 的客户端里更省事:直接调 reconcile_broker,这套对账流程我们已经替你写好了(含「多腿记成一条、roll 认成一组、补录走可撤销的两段式」这些规矩)。想让它每天定时跑、不用你在旁边点头 → 改调 daily_broker_sync:同样的规矩,外加「一次批量写完」和「小数行权价照抄不许取整」,需要你在设置里另外打开自动对账开关。
你的 agent 两边各拉一次、逐笔比对,输出大概长这样:
| 券商成交 | 数量 | 成交价 | 包租公里 |
|---|---|---|---|
| 平 QQQ 8/7 $680 Put | 5 | $0.08 | ✅ |
| 平 PLTR 8/21 $105 Put | 20 | $0.09 | ✅ |
| 开 SPCX 9/18 $95 Put | 10 | $5.35 | ✅ |
| 平 SPCX 8/7 $150 Call | 3 | $0.03 | ✅ |
| 开 SPCX 10/16 $150 Call | 3 | $5.24 | ✅ |
两天十一笔,全部对上。值得看的是最后两行:agent 自己认出这是一组 roll(平掉近月、开出远月),包租公也就按 roll 记——展期的那条腿不会被当成一笔了结算进胜率。
核对完,要不要顺手记进来?
- 只想核对 — 什么开关都不用开。上面整套是纯读,agent 只是把两边摆在一起给你看。
- 差的几笔顺手补上 — 让它走
propose_position_edit→ 你看 diff →commit_position_edit。需要在 app 里打开「允许我的 agent 修改我的数据」。 - 每天定点、无人值守 —
sync_broker_activity一次批量对账:开仓 / 平仓 / 展期,外加可用资金和正股快照。已有的自动跳过、可疑的列出来不写、整批一键撤销。需要另外打开「自动对账」开关。
进阶:搭一套收租智能体
如果你已经在用 TradingAgents 这类多智能体框架(或想自己搭一套),可以把包租公当成一个「收租专业台」接进去:你的 agent 舰队负责讨论 / 辩论 / 拍板,包租公负责给一家收租公司该有的数据、打分、风控事实、战绩和可撤销执行。决策的 LLM 始终是你自己的——我们不替你判断,也绝不下单。
| 公司里的台 | 用哪些工具 |
|---|---|
| 数据 / 情报台 | get_market_climate · explain_score · scan_watchlist |
| 筛选 / 量化台 | find_recommendations · compare_candidates |
| 风控台 | get_position_defense · portfolio_stats |
| 复盘 / 记忆台 | get_realized_performance |
| 执行台 | propose_position_edit → commit_position_edit |
一套典型的收租编排(你在自己的 agent 里跑):
- 多空研究员:用
explain_score+get_market_climate+get_realized_performance辩「被接货值不值持有」——不是猜涨跌。 - 三视角风控:用
find_recommendations跑三档风险(保守 / 平衡 / 激进)+compare_candidates并排定 strike。 - 复盘台:用
get_realized_performance把这个票上次的教训喂回这次决策。 - 你拍板:满意了才让 agent 走
propose_position_edit→ 你看 diff →commit_position_edit落库。绝不下单、每步可撤销。
debate_candidate(多空接货辩论)或 risk_lens_scan(风险三视角)——它们把上面的编排打包好了,一句话触发。
边界与安全
- 永不下单、不碰资金。看 / 分析 / 给候选是默认;改 watchlist / 笔记这类写入需要你在 app 里显式打开,且每步可一键撤销。
- 不是投资建议。RENT 分和一切输出仅供信息参考,交易决策与后果由你自负。
- 密钥 = 你的账号。妥善保管,别贴进聊天记录 / 截图 / commit。怀疑泄露就在账户设置里吊销、另生成一个。
- 数据可能延迟或有误。行情、定价、Greeks 都是估算,可能与你券商显示不一致。