mcpField
O
options-chain-mcp

options-chain-mcp

本地服务
github.com/blake365金融数据1111 周前更新

关于 options-chain-mcp

options-chain-mcp 是只读 MCP 服务,使用 Tradier 或 Alpaca 行情数据进行期权研究。它会筛选期权链以减少无关合约信息,并支持本地 stdio 和带 OAuth 的远程部署。

主要功能

  1. 01筛选期权链
  2. 02查询到期日期
  3. 03股票与期权报价
  4. 04历史 OHLCV 价格
  5. 05Tradier 和 Alpaca 数据源
  6. 06只读研究工具

适用场景

  1. 01查看指定到期日的重要行权价
  2. 02查找可用期权到期日
  3. 03检查报价与希腊值
  4. 04比较股票或期权的历史价格

MCP 相关

通过本地 stdio 或 Cloudflare Workers 上的远程传输,向 MCP 客户端提供期权研究工具;远程访问采用 OAuth 2.1。需要配置数据源凭证。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

options-chain-mcp

用于期权研究的只读 MCP 服务。支持可插拔数据提供商——目前支持 Tradier 和 Alpaca。

npm version

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 美元左右。

看涨期权亮点
  1. 成交量最高:
  • 590 美元看涨期权,成交 217 张合约
  • 600 美元看涨期权,成交 174 张合约
  • 571 美元看涨期权,成交 130 张合约
  1. 未平仓合约量最高:
  • 600 美元看涨期权:8,299 张合约
  • 590 美元看涨期权:6,591 张合约
  • 605 美元看涨期权:4,676 张合约
  • 580 美元看涨期权:4,596 张合约
  1. 值得注意的活动:
  • 深度虚值看涨期权(590–600 美元)成交量显著,表明一些交易者正在布局,预期价格可能上涨
  • 590 美元看涨期权(价格为 1.07–1.09 美元)成交量和未平仓合约量都很高
看跌期权亮点
  1. 成交量最高:
  • 500 美元看跌期权,成交 217 张合约
  • 460 美元看跌期权,成交 160 张合约
  • 510 美元看跌期权,成交 163 张合约
  1. 未平仓合约量最高:
  • 525 美元看跌期权:79,196 张合约(极高)
  • 530 美元看跌期权:7,060 张合约
  • 550 美元看跌期权:4,883 张合约
  • 570 美元看跌期权:4,337 张合约
  1. 值得注意的活动:
  • 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 分钟。沙盒令牌会过期 — 可通过控制面板重新生成。
AlpacaALPACA_API_KEY_ID、ALPACA_SECRET_KEY模拟账户密钥即可正常使用。免费的 indicative 期权数据源包含 Greeks + IV。

可选覆盖项(数据源选择、实盘账户的基础 URL 覆盖)请参阅 sample.env。

值得了解的数据提供方差异
字段TradierAlpaca
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)

  1. 打开 Claude Desktop 配置文件:

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%\Claude\claude_desktop_config.json
  2. 添加服务配置(使用你想要的数据提供方):

{
    "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"
}
  1. 关闭/退出,然后重启 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 中:

  1. URL:https://<your-worker>.workers.dev/sse(或使用 Streamable HTTP 时填 /mcp)。
  2. 将客户端 ID/密钥留空 — 服务会提供动态客户端注册。
  3. 保存并点击连接。Claude 会打开授权页面;输入你在上方设置的 APPROVE_PASSCODE。
  4. 系统会将你重定向回来,此时已完成授权。令牌有效期为 30 天,并会自动刷新。
身份验证升级路径

如需多用户访问或 SSO,可在 Worker 路由前配置 Cloudflare Access。OAuth 流程仍适用于 MCP 客户端;Access 只会为人工授权页面增加第二层保护。

故障排除

如果 Claude Desktop 找不到 npx,请提供其完整路径(在 macOS 上通常为 /usr/local/bin/npx 或 /opt/homebrew/bin/npx)。如果你运行的是本地构建版本, node 也需要这样处理。

如果服务完全没有出现,请检查 Claude Desktop 的日志——现在,服务会将具体原因 (例如缺少提供商凭据)写入 stderr,而不是静默退出。

评论

支持 Markdown

第一次接触 MCP?

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

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