关于 options-chain-mcp
options-chain-mcp 是只读 MCP 服务,使用 Tradier 或 Alpaca 行情数据进行期权研究。它会筛选期权链以减少无关合约信息,并支持本地 stdio 和带 OAuth 的远程部署。
主要功能
- 01筛选期权链
- 02查询到期日期
- 03股票与期权报价
- 04历史 OHLCV 价格
- 05Tradier 和 Alpaca 数据源
- 06只读研究工具
适用场景
- 01查看指定到期日的重要行权价
- 02查找可用期权到期日
- 03检查报价与希腊值
- 04比较股票或期权的历史价格
MCP 相关
通过本地 stdio 或 Cloudflare Workers 上的远程传输,向 MCP 客户端提供期权研究工具;远程访问采用 OAuth 2.1。需要配置数据源凭证。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
options-chain-mcp
用于期权研究的只读 MCP 服务。支持可插拔数据提供商——目前支持 Tradier 和 Alpaca。
npx -y options-chain-mcp
你必须自行提供市场数据凭据。 与封装免费公共 API 的服务不同,本服务会代表你向经纪商数据提供商发起请求,因此需要在环境中设置
TRADIER_TOKEN,或ALPACA_API_KEY_ID+ALPACA_SECRET_KEY。免费沙盒/模拟账户也完全可用——请参阅选择数据提供商。如果未提供凭据就启动,服务会立即退出并提示缺少哪个变量。
概览
此 Model Context Protocol(MCP)服务为 AI 助手提供期权研究工具,但不具备任何下单能力:
find-options-chain— 查询指定标的和到期日的期权链,并筛选出具有实际成交量/买价/卖价且行权价处于现价一定百分比范围内的期权。自动精简至重要行权价,确保数据负载适合大模型处理。find-option-expirations— 查询标的的有效到期日期。get-quote— 获取股票代码或单个 OCC 期权合约的最新报价。数据提供商支持时还会包含希腊值和隐含波动率(Alpaca 支持;Tradier 需要先查询期权链)。historical-prices— 查询股票或 OCC 期权在任意日期范围和时间间隔内的 OHLCV 数据。
本服务支持两种运行方式:
- 通过 stdio 在本地运行,供 Claude Desktop 使用
- 在 Cloudflare Workers 上远程运行,使用 OAuth 2.1,供 Claude.ai 和其他支持远程连接器协议的 MCP 客户端使用
请注意:
- 需要使用所选数据提供商的 API 凭据(免费模拟/沙盒账户也可用)
- 免费套餐的市场数据通常延迟 15 分钟
- 仅供参考
用户可以使用自然语言发起查询。
为什么选择此服务(而不是官方 Tradier 或 Alpaca MCP)
专为大模型的上下文预算打造。 一个典型标的在数十个到期日中就有数百个行权价。调用官方 Alpaca 服务中的原始 get_option_chain 会返回所有数据——每个远离价外且无人交易的行权价、每个买价只有几分钱的合约,以及 API 提供的每个字段。每次调用的数据负载都会消耗数千个 Token,还迫使模型自行过滤噪声。本服务会在服务端进行筛选:
- 预先将行权价筛选至现价周围可配置的百分比区间
- 剔除无人交易的合约(
volume > 0 OR open_interest > 0且bid/ask > $0.10) - 通过“重要行权价”筛选,保留距离现价较远的整数行权价,以及接近价平位置的更细粒度行权价——模拟人类交易者实际查看期权链的方式
- 仅返回研究工作流所需的字段(不包含交易所代码、原始时间戳或冗余信息)
实际使用中,NVDA 期权链会从约 400 个行权价精简至约 15 个——每次调用的 Token 数量减少约 20–40 倍,为对话中的实际分析留出空间。
其他优势:
- 从设计上只读。 不包含
place_order、close_position或exercise_options_position。让大模型使用时,无需担心它凭空生成交易指令。 - 支持切换数据提供商。 通过统一的工具接口使用 Tradier 和 Alpaca。只需更改一个环境变量即可切换;如果某家提供商的数据过期或账户到期,也能切换到另一家,无需更改提示词或客户端配置。
- 包含远程 OAuth 部署方案。 可通过 claude.ai 网页版(以及任何支持 OAuth 的 MCP 客户端)使用,而不仅限于本地连接的 Claude Desktop。官方 Alpaca 服务仅支持 stdio。
示例输出
问:两周后的 SPY 期权链有哪些亮点?
**答:**我来查看从今天起两周后的当前 SPY 期权链。
查看 options-chain(本地)中的 find-options-chain 结果
{
"symbol": "SPY",
"expiration": "2025-03-28"
}
现在我已经获取了 2025 年 3 月 28 日(两周后)的 SPY 期权链,下面列出关键信息:
SPY 期权链亮点(2025 年 3 月 28 日到期)
当前市场背景
根据平值期权,当前 SPY 价格似乎在 565–566 美元左右。
看涨期权亮点
- 成交量最高:
- 590 美元看涨期权,成交 217 张合约
- 600 美元看涨期权,成交 174 张合约
- 571 美元看涨期权,成交 130 张合约
- 未平仓合约量最高:
- 600 美元看涨期权:8,299 张合约
- 590 美元看涨期权:6,591 张合约
- 605 美元看涨期权:4,676 张合约
- 580 美元看涨期权:4,596 张合约
- 值得注意的活动:
- 深度虚值看涨期权(590–600 美元)成交量显著,表明一些交易者正在布局,预期价格可能上涨
- 590 美元看涨期权(价格为 1.07–1.09 美元)成交量和未平仓合约量都很高
看跌期权亮点
- 成交量最高:
- 500 美元看跌期权,成交 217 张合约
- 460 美元看跌期权,成交 160 张合约
- 510 美元看跌期权,成交 163 张合约
- 未平仓合约量最高:
- 525 美元看跌期权:79,196 张合约(极高)
- 530 美元看跌期权:7,060 张合约
- 550 美元看跌期权:4,883 张合约
- 570 美元看跌期权:4,337 张合约
- 值得注意的活动:
- 525 美元看跌期权的未平仓合约量极高,十分突出,表明存在大量对冲头寸
- 总体来看,看跌期权交易显示交易者正在防范下行风险
隐含波动率指标
- 从定价来看,隐含波动率似乎处于中等水平
- 根据未平仓合约量计算的看跌/看涨比率偏向看跌期权,表明市场参与者正在对冲下行风险
期权偏斜
- 虚值看跌期权的未平仓合约量高于虚值看涨期权,说明交易者更关注下行保护,而非押注上涨
安装
需要 Node.js 20 或更高版本。无需执行安装步骤——首次运行时,npx 会获取该服务。你需要其中一家数据提供商的凭据;请参阅选择数据提供商。
此服务有两种运行方式,身份验证方式各不相同:
本地(stdio,npx) | 远程(Cloudflare Workers) | |
|---|---|---|
| 客户端身份验证 | 无——作为本地子进程运行 | 使用通行码进行 OAuth 2.1 身份验证 |
| 提供商凭据 | 你自己的,配置在客户端的 env 中 | 你自己的,作为 Worker 密钥 |
| 适用对象 | 在自己的设备上使用的你 | 跨设备使用的你,或与你分享通行码的人 |
| 使用的 API 配额 | 本地用户的配额 | 部署账户的配额 |
本地配置说明见下文;远程配置说明请参阅 在 Cloudflare Workers 上运行。
Claude Code
claude mcp add options-chain --env TRADIER_TOKEN=your_token -- npx -y options-chain-mcp
其他 MCP 客户端
此服务通过 STDIO 提供 MCP。使用 npx -y options-chain-mcp 运行,或使用
npm install -g options-chain-mcp 全局安装后运行 options-chain-mcp,并确保环境中
包含提供商凭据。
开发
npm install # install dependencies
npm run dev:stdio # run the stdio server from source
npm run build # compile TypeScript to build/
npm run typecheck # type-check both the stdio and Workers configs
npm run dev # run the Cloudflare Workers version locally
npm run deploy # deploy the Workers version
工具定义位于 src/tools.ts,由两个入口共用:
src/index.ts(stdio)和 src/worker.ts(Cloudflare Workers)。提供商专属代码
位于 src/providers/。
build/ 是生成目录,不会纳入版本控制——将 Claude
Desktop 指向本地构建版本之前,请运行 npm run build。
选择数据提供方
该服务支持两种数据提供方。设置你想使用的数据提供方的凭据,并可选择设置 DATA_PROVIDER 以明确指定。如果未设置 DATA_PROVIDER,则在同时设置了 Alpaca 密钥时使用 Alpaca,否则使用 Tradier。
| 数据提供方 | 环境变量 | 备注 |
|---|---|---|
| Tradier 沙盒 | TRADIER_TOKEN | 延迟 15 分钟。沙盒令牌会过期 — 可通过控制面板重新生成。 |
| Alpaca | ALPACA_API_KEY_ID、ALPACA_SECRET_KEY | 模拟账户密钥即可正常使用。免费的 indicative 期权数据源包含 Greeks + IV。 |
可选覆盖项(数据源选择、实盘账户的基础 URL 覆盖)请参阅 sample.env。
值得了解的数据提供方差异
| 字段 | Tradier | Alpaca |
|---|---|---|
volume(每份期权) | 每日总量 | null — 快照端点不提供此数据 |
open_interest | 原生返回 | 从交易 API 的合约端点获取并合并 |
| 免费套餐中的 Greeks + IV | 是(当 greeks=true 时) | 是(免费 indicative 数据源) |
链筛选器将 volume > 0 OR open_interest > 0 视为“真实市场兴趣”,因此无交易的行权价会在任一数据提供方中被剔除。在 Alpaca 响应中看到 "volume": null 时,表示数据提供方未报告该数据,而非合约处于非活跃状态。在 Alpaca 上评估流动性时,请使用 open_interest。
连接 Claude Desktop(stdio)
-
打开 Claude Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
添加服务配置(使用你想要的数据提供方):
{
"mcpServers": {
"options-chain": {
"command": "npx",
"args": ["-y", "options-chain-mcp"],
"env": {
"TRADIER_TOKEN": "your_tradier_sandbox_token"
}
}
}
}
若要改为运行本地构建,请在执行 npm run build 后,使用 "command": "node" 和 "args": ["/full/path/to/options-chain/build/index.js"]。
或者使用 Alpaca:
"env": {
"ALPACA_API_KEY_ID": "your_key_id",
"ALPACA_SECRET_KEY": "your_secret"
}
- 关闭/退出,然后重启 Claude Desktop
重启后,你应该会在文本框右下角看到一个小锤子图标。将鼠标悬停在图标上,即可查看可用 MCP 工具的数量。
为兼容旧配置,仍接受旧版小写
token环境变量。
在 Cloudflare Workers 上运行(远程,OAuth 2.1)
Worker 入口点(src/worker.ts)通过 MCP 的 SSE 和 Streamable HTTP 传输方式提供相同的工具,并由 OAuth 2.1 提供方封装。Claude.ai(网页端和桌面端)会通过动态客户端注册自动发现端点。
要求
- 任意付费 Workers 套餐的 Cloudflare 账户(MCP 会话状态使用 Durable Objects)
- 已通过身份验证的 Wrangler:
npx wrangler login - 绑定为
OAUTH_KV的 KV 命名空间(使用npx wrangler kv namespace create OAUTH_KV创建,并将 ID 粘贴到wrangler.jsonc)
配置密钥
对于 Tradier:
npx wrangler secret put TRADIER_TOKEN
对于 Alpaca:
npx wrangler secret put ALPACA_API_KEY_ID
npx wrangler secret put ALPACA_SECRET_KEY
# optional:
npx wrangler secret put DATA_PROVIDER # "alpaca" or "tradier"
以及用于保护授权页面的身份验证密码:
npx wrangler secret put APPROVE_PASSCODE # e.g. `openssl rand -base64 18`
对于本地开发,请将相同的密钥放入仓库根目录下的 .dev.vars 文件中(已加入 gitignore)。
部署
npm run dev # local dev server with hot reload
npm run deploy # publish to <name>.<account>.workers.dev
将 Claude 连接到已部署的服务
在 Claude.ai → Settings → Connectors → Add custom connector 中:
- URL:
https://<your-worker>.workers.dev/sse(或使用 Streamable HTTP 时填/mcp)。 - 将客户端 ID/密钥留空 — 服务会提供动态客户端注册。
- 保存并点击连接。Claude 会打开授权页面;输入你在上方设置的
APPROVE_PASSCODE。 - 系统会将你重定向回来,此时已完成授权。令牌有效期为 30 天,并会自动刷新。
身份验证升级路径
如需多用户访问或 SSO,可在 Worker 路由前配置 Cloudflare Access。OAuth 流程仍适用于 MCP 客户端;Access 只会为人工授权页面增加第二层保护。
故障排除
如果 Claude Desktop 找不到 npx,请提供其完整路径(在 macOS 上通常为
/usr/local/bin/npx 或 /opt/homebrew/bin/npx)。如果你运行的是本地构建版本,
node 也需要这样处理。
如果服务完全没有出现,请检查 Claude Desktop 的日志——现在,服务会将具体原因 (例如缺少提供商凭据)写入 stderr,而不是静默退出。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。