mcpField
O
optionsahoy-mcp

optionsahoy-mcp

远程服务
optionsahoy.com金融数据6今天更新

关于 optionsahoy-mcp

OptionsAhoy MCP Server 为评估股票期权、RSU、QSBS 和集中持仓的人群提供确定性的股权薪酬税务与规划计算,涵盖联邦税及全部 50 个州和哥伦比亚特区。

主要功能

  1. 01多年 ISO 行权安排
  2. 02NSO 与 RSU 税务比较
  3. 03QSBS 资格检查
  4. 04单只股票集中度分析
  5. 05保护性看跌期权与领口定价
  6. 06股权资金计划与 RSU 批次规划

适用场景

  1. 01围绕 AMT 规划 ISO 行权
  2. 02比较 NSO 和 RSU 的卖出或持有方案
  3. 03评估 QSBS 资格与免税额度
  4. 04规划达到现金目标的股票出售时间

MCP 相关

通过 HTTP MCP 端点提供 8 种股权薪酬与税务规划工具,也支持本地 stdio。可作为远程服务添加到 MCP 客户端。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://optionsahoy.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

8
参数类型必填说明
fmvnumber是每股当前公允市场价值(美元)。作为增长路径第 1 年的基准;未来年份从此值开始,依据 expectedGrowth 和 volatilityDrag 复合增长。必须由用户提供。
sharesinteger是规划期限内可供行使的激励性股票期权(ISO)总股数。必须由用户提供。
strikenumber是每股行权价(美元)。必须由用户提供。
tickerstring否可选的公开股票代码(例如 "NVDA"、"AAPL")。设置后,对于任何未提供的预期收益/出售价格字段,工具会用缓存的滚动收益替代;对于任何未提供的波动率,则使用截至最近收盘时的隐含波动率。增长率和波动率来自不同来源,因此某些代码只能解析其中一项;如果波动率不是最新值,则不会解析出任何内容。若代码无法解析某个字段,该字段将触发一条指出该字段的“必填字段”错误:请显式传入该字段,或者(对于增长率/收益/出售价格字段)传入字符串 "market",以使用 S&P 500 滚动平均值;切勿臆造数字。覆盖代码资源(resources/list)会列出可解析增长率的代码。
horizoninteger是规划期限(年,1..10)。优化器会搜索这段年限内所有可行的逐年股份分配方案。这是用户的选择,而非建模细节,会改变结果:使用用户提供的值;如果用户未提供,请询问,不要自行假设。
grantDatestring是ISO 授予日期(YYYY-MM-DD)。决定法定 10 年授予到期日(IRC §422)以及自授予日起 2 年的合格处置期限。
stateCodeenum是美国两字母州代码(例如 CA、NY、TX)。决定州普通所得税档、州长期资本利得(LTCG)处理方式以及州 AMT(CA、CO、CT、MN)。AK | AL | AR | AZ | CA | CO | CT | DC | DE | FL | GA | HI | IA | ID | IL | IN | KS | KY | LA | MA | MD | ME | MI | MN | MO | MS | MT | NC | ND | NE | NH | NJ | NM | NV | NY | OH | OK | OR | PA | RI | SC | SD | TN | TX | UT | VA | VT | WA | WI | WV | WY
volatilitynumber否股票年化波动率(sigma),以小数表示(0.72 = 72%)。传入波动率本身,而非预先计算的拖累值:工具会在内部推导期限累计拖累,且正确公式取决于期限。解析顺序:优先使用此处传入的值;否则使用 `ticker` 截至最近市场收盘时的隐含波动率;否则使用 OptionsAhoy 覆盖的上市公司的隐含波动率中位数,结果会在 `assumptions` 和 `assumptionNotice` 中报告。
filingStatusenum是联邦报税身份。决定普通所得税档计算、AMT 免税额档(2026 年单身 / 夫妻联合申报分别为 $90,100 / $140,200)以及 AMT 免税额逐步取消的起始点(单身 / 夫妻联合申报分别为 $500,000 / $1,000,000)。single | married_joint | head_household
itemizedTaxesnumber否仅在逐项扣除时填写:Schedule A 第 7 行申报扣除的州和地方税。AMT 会将这些税款加回,而非加回标准扣除额。采用标准扣除额时请省略。省略时,AMT 加回额默认为全额标准扣除额。
cashReturnRatenumber否闲置现金的年度税后回报率(小数),用于计算现金税款流的时间价值。0.05 = 5%(约为短期国债收益率)。可选:省略时默认为 0.04(4%,类似短期国债的税后收益率);显式传入的值会覆盖默认值。为 0 时,计算会简化为名义金额之和。
expectedGrowthnumber|string否年度预期股票增长率,以小数表示(0.10 = 10%);如果用户没有预期,也可填字符串 "market",使用标普 500 的历史平均值。除非 `ticker` 根据历史 CAGR 得出该值,否则必填。此工具不会为其设置默认值:用户未提供、未通过受支持的 `ticker` 得出且不是 "market" 哨兵值的输入均不符合输入约定。
hasLeftCompanyboolean是如果用户已离开公司,则为 true。此时会启用从离职日期起计算的 90 天 ISO 离职后行权期限。
ordinaryIncomenumber是本次行权前的年度普通收入,单位为 USD。用于税档计算和 AMT 免税额逐步取消计算的基准。必须由用户提供。这是扣除后的应税收入,而非工资总额:按给定金额计算常规税。计算 AMT 时会加回标准扣除额(Form 6251,第 2a 行);如果提供了 `itemizedTaxes`,则改为加回这些税款。
volatilityDragnumber否`volatility` 的替代参数:已针对规划期限计算出的乘数型价格折减值。提供此项或 `volatility`(如果两者都提供,则以 volatilityDrag 为准)。此字段用于传入先前计算得出的折减值;折减公式取决于期限,因此针对不同期限得出的数值不可沿用。改为提供 `volatility`,工具即可计算该值。
terminationDateany否离职日期(YYYY-MM-DD)。仅当 hasLeftCompany=true 时必填(用于确定 90 天行权期限的截止日期);仍在职时请省略或传入 null。该字段已不再列于 `required`,因此常见的在职情形无需占位值。
carryforwardCreditnumber否以前纳税年度结转的现有联邦 AMT 抵免额(最低税额抵免,Form 8801),单位为 USD。未来常规联邦税超过暂定最低税额时可抵回。可选;默认为 0,对大多数首次行权者都适用。只有以前年度产生的 AMT 抵免额才会使其非零。

详细介绍

OptionsAhoy MCP 服务

Glama quality score npm version MCPSafe security grade MCP calls in the last 30 days

经第三方独立验证。 **Glama:**第三方 MCP 目录质量评分(工具文档、行为、完整性)。· **npm:**发布时附带构建来源证明,以及经过签名的 SLSA 证明,确认此软件包由 GitHub Actions 从此仓库构建(使用 npm audit signatures 验证)。· **MCPSafe:**基于 5 个模型共识的独立安全扫描(AIVSS),评级为 A,零项发现。

经可信来源验证(我们自行运行的检查,对照我们无法控制且你可以复现的参考数据)。**计算:**所有 2026 年联邦税务常数均与 IRS Rev. Proc. 2025-32 /《国内税收法典》中的数值一致;14 个联邦税务案例(普通收入、长期资本利得和替代性最低税,包括激励性股票期权的价差)与独立维护的 PSL Tax-Calculator 精确到美分,该税务模型并非由我们编写。州所得税也以相同方式交叉核验:涵盖加利福尼亚州、纽约州、新泽西州、宾夕法尼亚州和马萨诸塞州的 16 个案例,均与独立的州税引擎 OpenTaxSolver 精确到美分,该引擎也并非由我们编写。核心结果会在你的浏览器中实时重新计算。

经过测试并强化。 **输入安全:**请求会根据已发布的架构进行验证;错误输入会返回明确的 400 错误并指出有问题的字段,绝不会导致崩溃或产生错误数字;每次部署后都会通过稳健性测试套件重新检查线上 API。· **测试套件:**计算引擎通过了上千项自动化测试,涵盖联邦和 50 个州的税务逻辑、AMT 抵免恢复和期权定价;任何测试失败都会阻止发布。

**实时使用情况:**过去 30 天的 MCP 调用次数,直接来自服务自身的遥测数据(/api/v1/stats,仅汇总计数,不含个人身份信息)。

确定性的股权薪酬税务计算,任何 Model Context Protocol(MCP)客户端均可调用:激励性股票期权(ISO)行权计划(含替代性最低税(AMT))、非合格股票期权(NSO)和限制性股票单位(RSU)决策、合格小企业股票(QSBS)资格认定、单只股票集中度、保护性看跌期权对冲以及股权融资目标。涵盖相关联邦税法以及全部 50 个州和华盛顿特区的 2026 年税率档次。由 AlphaLatitude Inc. 构建,该公司是 OptionsAhoy 背后的公司。 为什么不直接询问模型? 我们在同一道多年期 ISO 练习题上,对五个前沿大语言模型(LLM)各运行 3 次,共进行了 15 次试验。每次试验都高估了其所提方案的税后结果,幅度达到 2 到 20 倍。多年期规划的搜索空间过大,无法在上下文中实际遍历;这些工具则会返回可验证的答案。实时基准测试,已更新至最新模型:optionsahoy.com/benchmark。原始回复和评分:llm-iso-benchmark。完整分析:但它会算税吗?

一行安装

托管端点为 https://optionsahoy.com/mcp(HTTP,无需身份验证或账户)。最快的安装方式:

客户端安装
任意 MCP 客户端将 https://optionsahoy.com/mcp 添加为远程 HTTP 服务,或运行 npx add-mcp https://optionsahoy.com/mcp
Claude Desktop下载 optionsahoy.mcpb,然后双击
通过 Smithery 支持 19 个客户端npx @smithery/cli install alphalatitude/optionsahoy --client claude
本地 stdio(npm)npx -y optionsahoy-mcp

完整安装选项(Gemini CLI 扩展、配置文件 JSON、REST API、Google Cloud Agent Registry):optionsahoy.com/for-agents。

八个工具

工具名称计算内容
amt_iso_optimize多年期 ISO 行权计划,在规划期限内最大化税后最终净值,并对 AMT 抵免回收、授予到期和离职后行权窗口进行建模
nso_calculateNSO 行权的税后收益(联邦、州、FICA),比较行权时卖出与持有以享受长期资本利得税率
rsu_sell_vs_holdRSU 归属决策:归属时卖出还是持有以享受长期资本利得税率,并计入 22% 补充预扣税率与个人边际税率之间的差额
concentration_analyze单一股票集中风险(下跌 30%/50%/70% 时的回撤风险),比较税后减持、持有和对冲策略
protective_put_price通过 Black-Scholes 为保护性看跌期权、零成本领式期权和看跌期权价差定价:年化对冲成本、最大损失、上涨上限、保护区间、触及底价的概率,以及推荐的结构
qsbs_check根据六项法定测试判断是否符合 Section 1202 QSBS 资格,并纳入 OBBBA 2026 分级免税规则和各州的遵从情况
equity_funding_plan多年期、多资产组合卖出计划,在截止日期前达到目标税后金额;返回四种命名方案以及完整的风险/财富前沿
rsu_lot_optimize确定要卖出哪些已归属 RSU 批次,以及卖出日期,以最低计算税额出售目标比例的股份:指定批次识别、长期递延,以及多年期税档分散(含计划内亏损结转),并与 FIFO 卖出顺序比较

ISO 优化器会搜索完整的离散候选空间,并逐股细化;在已发布的可处理案例中,其结果与暴力穷举的最大值精确到分(查看证明)。规划器运行确定性的税档感知搜索,计算器则返回精确结果。采用确定性计算,而非语言模型猜测。覆盖相关联邦税法(普通收入税档、长期资本利得税、可回收抵免的 AMT、FICA、NIIT),以及全部 50 个州和 DC(州普通收入税档、LTCG 处理方式、CA、CO、CT、MN 的州 AMT)。使用与浏览器内计算器相同的引擎:optionsahoy.com/tools;API 响应包含的计算数据,与点击工具所得结果相同。

一次调用是什么样的(全部八个工具)

每个工具各有一次真实调用,来自 https://optionsahoy.com/mcp,并提交在 docs/examples/ 下,因此下面的每个示例都可以对照其来源响应进行核验。输入刻意写得明确(不使用 ticker,每个日期都固定),因此重新运行 scripts/capture-readme-examples.mts 会得到相同的数字。每个代码块都展示了问题、承载场景的参数,以及返回结果。

amt_iso_optimize

“我有 50,000 份已归属 ISO,行权价为 $4,当前股价为 $90。夫妻联合申报,收入为 $300,000,居住在 California。现在应该一次性全部行权,还是分批行权?”

{"shares": 50000, "strike": 4, "fmv": 90, "horizon": 4, "filingStatus": "married_joint",
 "ordinaryIncome": 300000, "stateCode": "CA", "grantDate": "2023-03-15",
 "expectedGrowth": 0.1, "volatilityDrag": 0.2, "cashReturnRate": 0.05, …}

优化后的计划在四年内分别行权 1,401 / 1,339 / 1,280 / 45,980 股,最终净值为 $1,623,234,而今天一次性全部行权的净值为 $1,565,849。AMT 临界点为 699 股:前 $60,185 的价差收益完全不产生 AMT。(原始数据;与网站的已发布示例为同一持仓,采用上文明确指定的增长率和拖累)

nso_calculate

“5,000 份 NSO,行权价为 $8,当前股价为 $75。行权时卖出,还是持有一年以享受长期资本利得税率?单身申报,收入为 $250,000,居住在 California。”

{"shares": 5000, "strike": 8, "currentPrice": 75, "expectedSalePrice": 90, "holdYears": 1,
 "holdFunding": "sell-to-cover", "volatility": 0.3, "ordinaryIncome": 250000,
 "filingStatus": "single", "stateCode": "CA", …}

行权本身产生 $335,000 的价差收益,需缴税 $159,618;如果立即全部卖出,将剩下 $175,382。采用 sell-to-cover 方式持有一年,预计净值为 $193,943;现在卖出并投资所得款项则为 $184,209,持有多出 $9,734。(原始数据)

rsu_sell_vs_hold

“1,000 份 RSU 将以 $200 的价格归属。归属时卖出,还是再持有一年半?夫妻联合申报,收入为 $300,000,居住在 New York。”

{"shares": 1000, "currentPrice": 200, "expectedSalePrice": 220, "holdYears": 1.5,
 "volatility": 0.25, "ordinaryIncome": 300000, "filingStatus": "married_joint",
 "stateCode": "NY", "stillEmployed": true, …}

归属总计需缴税 $73,896,其中联邦税为 $55,716,而按统一补充工资税率预扣的金额仅为 $44,000:这笔差额就是人们意料之外的次年 4 月税款。归属时卖出并投资,预计在持有期结束时价值 $136,247;持有则为 $130,817,因此在此情况下持有会少 $5,430。(原始数据)

concentration_analyze

“我的 $2.25M 资产中有 $750,000 集中在一只科技股上,这只股票是我在 2022 年以 $150,000 买入的。我的风险敞口有多大?减持的成本又是多少?”

{"positionValue": 750000, "costBasis": 150000, "acquisitionDate": "2022-01-15",
 "sector": "tech_software", "totalAssets": 2250000, "expectedPositionReturn": 0.12,
 "volatility": 0.35, "ordinaryIncome": 350000, "filingStatus": "single", "stateCode": "CA", …}

该持仓占净资产的 33%,工具将其归类为“集中”;如果这只股票下跌 50%,将损失 $375,000。分三年减持需缴税 $196,709,而在一年内卖出则需缴税 $208,368。(原始数据)

protective_put_price

“我想为一笔 $500,000 的科技股持仓提供一年的下行保护,底线约为现价的 80%。应该选择看跌期权、领口策略,还是看跌期权价差?”

{"positionValue": 500000, "sector": "tech_software", "volatility": 0.35,
 "protectionLevel": 0.2, "tenorYears": 1, "spreadRiskLevel": 0.1, "expectedReturn": 0.08}

行权价为 $400,000 的裸看跌期权每年需花费 $19,348,即持仓价值的 3.87%。零成本领口策略以约为零的净权利金提供相同底线,但会将上涨空间限制在 $724,518;其达到该价位的概率为 15.7%,因此工具推荐这种结构。(原始数据)此调用传入了明确的 sigma,因此每个期权腿都按同一个数值定价;如果改为传入 ticker,每个期权腿将根据该股票的实时期权链,按其各自行权价的隐含波动率定价;对于如此虚值的底线期权,这样做成本会更高。

qsbs_check

“我在 2020 年 3 月购买了创始人股票,并计划在 2026 年 3 月以 $5M 的收益卖出。这是否属于 QSBS?有多少收益免税?”

{"acquisitionDate": "2020-03-01", "saleDate": "2026-03-15", "entityType": "us-c-corp",
 "acquisitionMethod": "original-issuance", "assetCategory": "under-50m",
 "industry": "tech-software", "adjustedBasis": 50000, "expectedGain": 5000000, …}

判定为 qualifies:持有 6.0 年,六项法定测试全部通过,因此 $5,000,000 收益的 100% 可根据每个发行人 $10,000,000 的上限予以豁免,可节省 $1,190,000 的联邦税。California 不遵循这一规定,因此同一笔收益需全额缴纳州税。(原始数据)

equity_funding_plan

“我需要在 2029 年 6 月前获得税后 $400,000,用于买房。我持有 3,500 股,股价为 $120,分属两个批次。应该卖出多少,什么时候卖?”

{"targetAfterTax": 400000, "targetDate": "2029-06-30", "stacks": [{"currentPrice": 120,
 "expectedAnnualGrowth": 0.08, "lots": [{"shares": 2000, "costBasisPerShare": 50,
 "acquisitionDate": "2022-01-15"}, …]}], "ordinaryIncome": 350000, "stateCode": "CA", …}

今天全部卖出仍然不够:扣税后可得 $391,574,低于 $400,000 的目标。建议的分阶段计划是在截止日期前的几年里卖出 3,500 股中的 3,314 股,最终税后可得 $400,075,缴税 $63,740,比在目标年份一次性卖出多 $12,976。(raw)

rsu_lot_optimize

“我持有 3,000 股已归属的 RSU,分属三个归属批次,股价为 $180,并希望在未来两年内将持仓减半。应该卖出哪些批次?”

{"lots": [{"vestDate": "2022-08-15", "shares": 1200, "costBasisPerShare": 95},
 {"vestDate": "2024-02-15", "shares": 1000, "costBasisPerShare": 130}, …],
 "currentPrice": 180, "divestFraction": 0.5, "horizonYears": 2, "ordinaryIncome": 200000, …}

要减持 3,000 股中的 1,500 股,该方案将最新且处于亏损状态的批次与较早批次的长期资本利得相抵,因此整个减持的税款为 $2,935,税后保留 $267,065,比按 FIFO 顺序卖出相同比例多 $29,942。(raw)

上述示例均显式传入了波动率和增长率。在实际调用中,也可以改为传入 ticker:波动率会根据最近收盘时的已发布隐含波动率快照确定,增长率则根据缓存的历史 CAGR 快照确定。如果无法确定其中任何一项,调用会返回错误并指出具体字段,而不会猜测数值;protective_put_price 会同时返回 volatilitySource(explicit、chain、ticker 或 sector-default)和 pricingMode(chain-skew 或 flat),让你始终清楚使用了哪个 sigma 进行定价,以及各腿是否按各自的行权价定价。

这些结果是在 2026 纳税年度运行的。对于从今天起向未来推算的三个工具(amt_iso_optimize、equity_funding_plan、rsu_lot_optimize),后续纳税年度的数字会有所变化;其他工具的结果则由参数中的日期固定。

在你的 Agent 框架中使用(Python)

如果你使用 Python 构建 Agent,而不是直接调用 MCP 端点,OptionsAhoy 提供了可安装的工具包,适用于主流 Agent 框架。每个工具包都通过框架原生的工具接口封装相同的计算器。所有工具包均发布在 PyPI 上,且无需密钥:不需要 OptionsAhoy 账户或 API key。

框架安装导入示例
LangChainpip install optionsahoy-langchainfrom langchain_optionsahoy import get_optionsahoy_toolsequity_agent.py
LlamaIndexpip install llama-index-tools-optionsahoyfrom llama_index.tools.optionsahoy import OptionsAhoyToolSpecequity_agent.py
CrewAIpip install crewai-optionsahoyfrom crewai_optionsahoy import get_optionsahoy_toolsequity_crew.py
纯 Python 客户端pip install optionsahoyfrom optionsahoy import OptionsAhoyClientbasic_client.py

这三个框架适配器会自动安装无需密钥的 optionsahoy 客户端。此外,还有一个 OpenBB Workspace Agent(基于 OptionsAhoy 客户端构建的 FastAPI 应用),可在 OpenBB Workspace 中使用。以上所有内容的源码和可运行示例均位于 integrations/python。

更多构建方式

无论你的 Agent 如何构建,都有可直接接入的组件。它们都是公开且无需密钥的。

构建组件说明
Vercel AI SDK 工具一个 TypeScript 包(optionsahoy-ai-sdk),将全部八个计算器封装为 Vercel AI SDK tool() 定义,可直接展开传入 generateText / streamText。
指令套件为 Cursor、Windsurf、Claude Skills 和 Claude Code 子 Agent 提供编辑器规则和技能,让你的编码 Agent 在处理股权薪酬问题时调用 OptionsAhoy 工具。
编码示例可直接复制粘贴的 Python 示例,每个问题对应一个独立文件,仅使用 requests 调用无需密钥的 API。也可在 integrations/recipes 中查看。
构建器模板可导入的 n8n 工作流,以及适用于 Flowise、Langflow 和 Dify 的构建示例。
工具使用评估一项 inspect_ai 评估,用于衡量 Agent 在多年期 ISO 问题上是否能得出可证明的最优解,并比较使用和不使用工具的情况。
A2A 发现一个 Agent2Agent (A2A) Agent Card,让其他 Agent 能发现该规划器,并将股权薪酬问题委派给它。
Zed 扩展一个 Zed 编辑器上下文服务扩展,可将编辑器中的 Agent 连接到 OptionsAhoy MCP 服务。
ACI.dev 应用适用于 ACI.dev 开源 Agent 工具平台的 OptionsAhoy 应用定义。
OpenRouter 桥接一份指南,介绍如何将无需密钥的 OptionsAhoy MCP 服务接入通过 OpenRouter 的 OpenAI 兼容端点路由的任意模型。

无需安装,立即试用

optionsahoy.com/for-agents 上的在线小组件会从浏览器调用同一个端点。无需客户端,也无需配置。

更喜欢聊天界面?同样的计算器也能在 poe.com/OptionsAhoy 用日常语言回答问题。

也可以观看实际操作:

演示:Claude Code 安装并使用 OptionsAhoy MCP

未经剪辑的 Claude Code 实际会话。针对 META 的多项资产组合问题(10K 份 ISO + 6K 份已归属 RSU + 2K 份新授予 RSU + 2027 年购置价值 $400K 的房屋),并行调用 4 个 OptionsAhoy MCP 工具:集中度风险、股权资金计划、AMT/ISO 优化和保护性看跌期权定价。Claude 综合各项输出,制定出一个推翻每个工具单独推荐方案的计划,因为用户的资产有 86% 集中在 META。时长 2:13。点击海报即可在 optionsahoy.com 播放。

端点与发现

在线 MCP 端点: https://optionsahoy.com/mcp 在线 REST API: https://optionsahoy.com/api/v1 OpenAPI 3.1 规范: /openapi.json 发现清单: /.well-known/mcp.json · /.well-known/openapi.json Agent 集成文档: optionsahoy.com/for-agents

MCP 资源(主题简报)

resources/list 下的八份 Markdown 资源可为大模型提供充分背景,使其在选择工具前能够讨论相关主题。大多数资源与 optionsahoy.com/learn 上的一篇核心文章及相应计算器一一对应;股权融资简报对应其计算器,而已覆盖股票代码简报则列出了可由可选的 ticker 快捷方式解析的代码。

资源 URI主题配套工具
https://optionsahoy.com/learn/amt-crossoverISO/AMT 临界点及四个代价高昂的错误amt_iso_optimize
https://optionsahoy.com/learn/nso-sell-vs-holdNSO 行权时卖出还是持有以获得长期资本利得税待遇nso_calculate
https://optionsahoy.com/learn/rsu-withholding-gapRSU 22% 预扣税缺口及 4 月的五个意外rsu_sell_vs_hold
https://optionsahoy.com/learn/single-stock-concentration-risk持仓集中风险与分散投资之间的权衡concentration_analyze
https://optionsahoy.com/learn/zero-cost-collars保护性看跌期权、零成本领口策略和看跌价差protective_put_price
https://optionsahoy.com/learn/qsbsQSBS 资格及失去免税待遇的五种方式qsbs_check
https://optionsahoy.com/tools/equity-funding在截止日期前通过出售股权满足现金目标equity_funding_plan
https://optionsahoy.com/tools/covered-tickers可选的 ticker 快捷方式可解析哪些代码任何接受 ticker 的工具

MCP 提示词(工作流脚手架)

prompts/list 下的八个提示词为常见用户问题提供脚手架,并将其路由到相应工具。在 Claude Desktop 中,它们会显示为带名称的斜杠命令;在任何 MCP 客户端中,prompts/get { name, arguments } 会返回一条已完整填充模板的用户消息。

提示词名称路由到
optimize-iso-exerciseamt_iso_optimize
analyze-nso-decisionnso_calculate
analyze-rsu-vestrsu_sell_vs_hold
analyze-concentrationconcentration_analyze
price-protective-putprotective_put_price
check-qsbs-eligibilityqsbs_check
plan-equity-fundingequity_funding_plan
plan-equity-portfolio多个工具,汇总为一个计划

prompts/get 的一次调用,参数均为字符串:

{"name": "optimize-iso-exercise",
 "arguments": {"shares": "50000", "strike": "4", "fmv": "90", "expectedGrowth": "0.1",
               "volatility": "0.5", "state": "CA", "ordinaryIncome": "300000"}}

它会返回一条已填充模板的用户消息(“我有 50000 份激励性股票期权(ISO),行权价为每股 $4……”),其中已指示模型使用这些值调用 amt_iso_optimize,要求模型询问任何缺失的必填字段,而不是自行假设,并报告优化后的计划与一次性行权和均分行权方案的对比(原始文件)。

安装详情

Claude Desktop 扩展(一键安装)

optionsahoy.mcpb 安装包可通过双击安装(或将其拖到 Claude Desktop → Settings → Extensions),无需使用终端或编辑配置文件,并使用 Claude Desktop 内置的 Node.js 运行时。

从源代码构建安装包:

npm install && npm run build:mcpb
Smithery CLI(19 个客户端,一条命令)
npx @smithery/cli install alphalatitude/optionsahoy --client claude

将 claude 替换为 Smithery 支持的任意客户端:claude-code、cursor、vscode、gemini-cli、codex、windsurf、cline、goose、opencode 等另外 10 个。列表:smithery.ai/servers/alphalatitude/optionsahoy。

Gemini CLI 扩展
gemini extensions install https://github.com/AlvisoOculus/optionsahoy-mcp

此仓库也可作为 Gemini CLI 扩展 使用:gemini-extension.json 配置托管的 MCP 端点,GEMINI.md 则为模型提供使用背景。

本地 stdio(npm)

适用于仅支持本地 stdio 服务的客户端(Claude Desktop 不使用 mcp-remote 时,以及某些 IDE 集成):

npx -y optionsahoy-mcp

或者添加到 Claude Desktop / Cline / Goose 配置文件中:

{
  "mcpServers": {
    "optionsahoy": {
      "command": "npx",
      "args": ["-y", "optionsahoy-mcp"]
    }
  }
}

本地服务返回的计算结果与托管端点 https://optionsahoy.com/mcp 相同。两者的源代码都位于 functions/_lib/mcp-tools.ts;stdio 入口点位于 src/stdio-server.ts。

直接使用 REST API

# List endpoints
curl https://optionsahoy.com/api/v1

# Run an optimization (the 50,000-ISO example from "What a call looks like")
curl -X POST https://optionsahoy.com/api/v1/amt-iso \
  -H "content-type: application/json" \
  -d '{"shares":50000,"strike":4,"fmv":90,"horizon":4,"filingStatus":"married_joint",
       "ordinaryIncome":300000,"stateCode":"CA","grantDate":"2023-03-15",
       "hasLeftCompany":false,"expectedGrowth":0.1,"volatilityDrag":0.2,
       "carryforwardCredit":0,"cashReturnRate":0.05}'

它会返回与上述 MCP 调用相同的 result.schedules.optimized.nfv(原始数据)。其他七个端点的请求体格式见 public/openapi.json。

仓库结构

functions/         Cloudflare Pages Functions (MCP server + REST API endpoints)
  mcp.ts           HTTP MCP server
  api/v1/*.ts      Eight tool endpoints + stats + GET /api/v1 discovery
  _lib/*.ts        Shared helpers, calc-input parsers, MCP tool descriptors
lib/               Optimizer + tax-code logic
  calc/            Per-tool optimizer functions (computeAmtIso, etc.)
  tax/             Federal + 50-state + DC bracket data, AMT, FICA, NIIT
  markets/         Sector statistics
  options/         Black-Scholes, risk-free rates
  data/            Option-chain types, and the readers for the live vol and chain feeds
public/            Static assets: OpenAPI spec, llms.txt, discovery manifests
tests/             Vitest suites (an extensive test suite including byte-identity assertions)

运行测试

npm install
npm test         # an extensive test suite, ~3s on a laptop
npm run typecheck

注册目录

在 Google Cloud 中使用(Gemini Agent)

Google Cloud Agent Registry 允许每个 GCP 项目注册外部 MCP 服务,供 Gemini Agent 使用。注册按项目进行(无需向中央提交)。有两种方式:

# Path A: let the Agent Registry introspect our MCP endpoint
gcloud alpha agent-registry mcp-servers register \
  --uri=https://optionsahoy.com/mcp \
  --display-name="OptionsAhoy" \
  --location=us-central1 \
  --import-tools

# Path B: pass our published toolspec.json directly (faster, no introspection)
gcloud alpha agent-registry mcp-servers register \
  --uri=https://optionsahoy.com/mcp \
  --display-name="OptionsAhoy" \
  --location=us-central1 \
  --tool-spec=<(curl -sSL https://optionsahoy.com/toolspec.json)

toolspec.json 与 MCP tools/list 响应相对应,八个工具均带有 readOnlyHint 和 idempotentHint 注释(它们都是纯确定性计算器,不会产生副作用)。工具格式变更后,可通过以下命令重新生成:

curl -sS -X POST https://optionsahoy.com/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}' \
  | jq -c '{tools: [.result.tools[] | . + {annotations: {readOnlyHint:true, idempotentHint:true, destructiveHint:false, openWorldHint:false}}]}' \
  > public/toolspec.json

故障排查

连接被拒绝 / MCP 端点返回 404 https://optionsahoy.com/mcp 需要使用 POST,并设置 content-type: application/json,同时提供 JSON-RPC 请求体。GET 会返回 JSON 服务说明;其他任何请求方法都会返回 405。请使用以下命令验证:

curl -X POST https://optionsahoy.com/mcp -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","method":"initialize","id":1,"params":{}}'

工具调用失败,响应中包含 Error: ... 文本 当输入验证失败时,MCP 服务会返回 isError: true 和易于理解的错误消息。最常见的原因是缺少必填字段,或将数字作为字符串传入。请根据 tools/list 返回的 inputSchema,或 /openapi.json 检查输入。

工具未显示在 Claude.ai 或 Claude Desktop 中

  • 确认连接器 URL 完全是 https://optionsahoy.com/mcp(末尾没有斜杠,也没有 /v1)。
  • 在 Claude Desktop 中,编辑 claude_desktop_config.json 后重启应用。
  • 在 Claude.ai 中,连接器开关按聊天单独设置:请在附件菜单中启用。
  • 检查实时的 tools/list 响应(预期有八个工具):curl -X POST https://optionsahoy.com/mcp -H 'content-type: application/json' -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

基于浏览器的客户端出现 CORS 错误 服务器会在所有响应(包括预检响应)中返回 access-control-allow-origin: *,并接受标准 MCP 标头(content-type、mcp-session-id、mcp-protocol-version)。如果浏览器仍然阻止请求,客户端可能发送了不允许的标头——请对照 access-control-allow-headers 响应检查请求标头。

未找到资源 / 提示词 资源 URI 和提示词名称区分大小写。请通过 resources/list 和 prompts/list 获取标准列表,而不要手动输入。

税务年度计算数据过时 税务引擎内置了 2026 年经通胀调整的税级、OBBBA 2026 QSBS 规则和最新的州税合规表。如果多年期预测的结果看起来不对,请确认输入的 grantDate、acquisitionDate 或 saleDate 属于您预期的年份——引擎会按税务年度解析税级。

报告计算错误或意外输出 请发送电子邮件至 [email protected],并提供:确切的 JSON-RPC 请求体、响应、预期值,以及(如已知)预期值所依据的 IRS 出版物或州法规。

隐私政策

完整政策:optionsahoy.com/privacy。

简而言之:无需账户,也不会存储任何个人身份信息——包括姓名、电子邮件、IP 地址或登录信息。工具输入和输出会短暂保留(约七天),用于调试和改进产品;同时还会保留汇总使用元数据(工具、时间戳、粗略位置、客户端类型),用于了解使用情况和检测滥用。本地 stdio 服务和 Claude Desktop 扩展会在您的设备上完成所有计算。只有当您传入 ticker 而未传入该代码对应的数字时,它们才会发出以下两种网络请求:获取已发布的隐含波动率文件,该文件使用一个固定 URL,完全不包含 ticker;以及针对 protective_put_price,获取该股票的期权链,其 URL 中包含股票代码。调用的其他任何信息都不会离开设备。

许可证

MIT。请参阅 LICENSE。已部署的服务 https://optionsahoy.com/mcp 和 https://optionsahoy.com/api/v1 在测试阶段可根据条款免费使用。

联系方式

有关合作伙伴关系、提前获取 API 权限和 MCP 集成支持,请联系:[email protected]

评论

支持 Markdown

第一次接触 MCP?

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

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