options-chain-mcp について
options-chain-mcpは、TradierまたはAlpacaの市場データを使う読み取り専用のオプション調査向けMCPサーバーです。オプションチェーンを絞り込んで不要な契約情報を減らし、ローカル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— シンボルと満期日を指定してオプションチェーンを取得します。実際の出来高/買値/売値があり、現物価格から一定の割合以内にあるオプションに絞り込みます。LLM が扱いやすいよう、有意な権利行使価格のみを自動的に残します。find-option-expirations— 原資産の有効な満期日を取得します。get-quote— 株式シンボルまたは単一の OCC オプション契約の最新気配値を取得します。プロバイダーが対応している場合は、グリークスと IV も含まれます(Alpaca は対応しています。Tradier ではチェーンの検索が必要です)。historical-prices— 任意の期間と間隔で、株式または OCC オプションの OHLCV バーを取得します。
サーバーは次の 2 つの方法で実行できます。
- Claude Desktop 向けに stdio 経由でローカル実行
- OAuth 2.1 を使用して Cloudflare Workers 上でリモート実行。Claude.ai や、リモートコネクター・プロトコルに対応したその他の MCP クライアントで利用できます
ご注意ください。
- 使用するプロバイダーの API 認証情報が必要です(無料のペーパー/サンドボックスアカウントでも利用できます)。
- 無料プランの市場データは、通常 15 分遅延します。
- 情報提供のみを目的としています。
ユーザーは自然言語でクエリを実行できます。
このサーバーを選ぶ理由(Tradier または Alpaca の公式 MCP ではなく)
LLM のコンテキスト予算を考慮して設計されています。 一般的な原資産には、数十の満期日にわたって数百もの権利行使価格があります。公式の Alpaca サーバーで生の get_option_chain を呼び出すと、遠いアウト・オブ・ザ・マネーの不人気な権利行使価格、買値が 1 ペニーの契約、API が公開するすべてのフィールドなど、すべてが返されます。このペイロードは呼び出しごとに数千トークンを消費し、モデルが自らノイズを絞り込む必要があります。このサーバーでは、サーバー側でフィルタリングします。
- 現物価格を中心とした設定可能な割合の範囲で、権利行使価格を事前に絞り込みます。
- 人気のない契約(
volume > 0 OR open_interest > 0かつbid/ask > $0.10)を除外します。 - 「有意な権利行使価格」の処理により、価格から離れた範囲では切りのよい権利行使価格を、価格に近い範囲ではより細かい権利行使価格を残します。人間のトレーダーが実際にチェーンを読む方法を再現します。
- 調査ワークフローに必要なフィールドのみを返します(取引所コード、生のタイムスタンプ、定型情報は含みません)。
実際には、NVDA のチェーンは約 400 件ではなく約 15 件の権利行使価格で返され、呼び出しごとのトークン数をおよそ 20~40 分の 1 に削減できます。その分、会話で実際の分析に使える余地が生まれます。
そのほかの特長:
- 読み取り専用として設計されています。
place_order、close_position、exercise_options_positionはありません。取引の幻覚を心配せずに LLM を接続できます。 - プロバイダーを切り替えられます。 Tradier と Alpaca が、同一のツールインターフェースで利用できます。環境変数 1 つで切り替えられます。一方のプロバイダーのデータが古くなったり、アカウントの有効期限が切れたりした場合も、プロンプトやクライアント設定を変更せずにもう一方へ切り替えられます。
- リモート OAuth デプロイが含まれています。 ローカル接続の Claude Desktop だけでなく、claude.ai のウェブ版(および OAuth に対応するほかの MCP クライアント)でも動作します。Alpaca の公式サーバーは stdio 専用です。
出力例
Q: 2週間先のSPYオプションチェーンの注目点は何ですか?
A: 今日から2週間先のSPYオプションチェーンを確認します。
options-chain(ローカル)のfind-options-chainの結果を表示
{
"symbol": "SPY",
"expiration": "2025-03-28"
}
3月28日(2025年、2週間先)の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ドルのプットの建玉が極めて多い点は注目に値し、大規模なヘッジポジションがあることを示唆しています
- 全体としてプットの取引が活発で、トレーダーが下落リスクに備えていることがうかがえます
インプライド・ボラティリティの指標
- 価格を見る限り、インプライド・ボラティリティは中程度と見られます
- 建玉に基づくプット・コール比率はプットに偏っており、市場参加者が下落リスクに備えていることを示唆しています
オプションのスキュー
- OTMプットの建玉がOTMコールより多く、トレーダーが上昇への投機よりも下落に対する保護を重視していることが示されています
インストール
Node.js 20以降が必要です。インストール手順は不要です。初回実行時にnpxがサーバーを取得します。2つのデータプロバイダーのいずれかの認証情報が必要です。データプロバイダーの選択をご覧ください。
このサーバーの実行方法は2通りあり、それぞれ認証方式が異なります。
ローカル(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を実行してください。
データプロバイダーの選択
このサーバーは 2 つのプロバイダーに対応しています。使用するプロバイダーの認証情報を設定し、必要に応じて DATA_PROVIDER を設定して明示的に選択します。DATA_PROVIDER が未設定の場合、Alpaca のキーが両方設定されていれば Alpaca が使われ、それ以外の場合は Tradier が使われます。
| プロバイダー | 環境変数 | 備考 |
|---|---|---|
| Tradier sandbox | TRADIER_TOKEN | 15 分遅延です。Sandbox のトークンには有効期限があります。ダッシュボードから再生成できます。 |
| Alpaca | ALPACA_API_KEY_ID、ALPACA_SECRET_KEY | ペーパー口座のキーで問題なく使えます。無料の indicative オプションフィードには Greeks と IV が含まれます。 |
オプションのオーバーライド(フィードの選択、ライブ口座のベース URL のオーバーライド)については、sample.env を参照してください。
知っておくべきプロバイダー間の違い
| フィールド | Tradier | Alpaca |
|---|---|---|
volume(オプションごと) | 1 日の合計 | 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)は、OAuth 2.1 プロバイダーでラップしたうえで、MCP の SSE および Streamable HTTP トランスポートを通じて同じツールを公開します。Claude.ai(ウェブ版およびデスクトップ版)は、Dynamic Client Registration を通じてエンドポイントを自動検出します。
要件
- 有料の 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 ファイルに記述します(Git の追跡対象外です)。
デプロイ
npm run dev # local dev server with hot reload
npm run deploy # publish to <name>.<account>.workers.dev
デプロイ済みサーバーへの Claude の接続
Claude.ai → 設定 → コネクタ → カスタムコネクタを追加:
- URL:
https://<your-worker>.workers.dev/sse(または Streamable HTTP の場合は/mcp)。 - クライアント ID/シークレットは空欄のままにします。サーバーが Dynamic Client Registration を提供します。
- 保存して「接続」をクリックします。Claude が同意ページを開くので、上記で設定した
APPROVE_PASSCODEを入力します。 - リダイレクトで戻り、認証が完了します。トークンは 30 日間有効です。
認証の拡張方法
複数ユーザーでのアクセスや SSO に対応するには、Worker のルートの前段に Cloudflare Access を配置します。OAuth フローは引き続き MCP クライアントで機能し、Access は人間が操作する同意ページに第 2 の認証レイヤーを追加します。
トラブルシューティング
Claude Desktop が npx を見つけられない場合は、フルパスを指定してください(macOS では通常、/usr/local/bin/npx または
/opt/homebrew/bin/npx です)。ローカルビルドを実行している場合は、node についても同様です。
サーバーがまったく表示されない場合は、Claude Desktop のログを確認してください。サーバーは何も表示せずに終了するのではなく、具体的な理由(プロバイダーの認証情報がない場合など)を stderr に出力するようになりました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。