MCP Server for Zerodha Kite Connect API について
Kite MCP Serverは、AIクライアントをZerodha Kite ConnectにつなぐオープンソースのMCPサーバーです。ポートフォリオ分析やバックテストに加え、ペーパートレード、アラート、注文管理、取引前のリスク確認に対応し、ホスト版デモは読み取り専用です。
主な機能
- 01保有資産、ポジション、証拠金、損益の確認
- 02気配値、ローソク足、テクニカル指標の取得
- 03オプション分析と戦略のバックテスト
- 04価格・出来高アラートの作成
- 05ペーパートレードで注文をシミュレーション
- 06取引前チェック付きの注文と管理
活用シーン
- 01ポートフォリオのリスクと運用状況を確認
- 02過去の市場データで戦略を検証
- 03ペーパートレードで注文を練習
- 04アラートで価格や出来高の条件を監視
MCP 対応
MCPクライアントにKiteアカウント、市場データ、分析、アラート、取引のツールを提供します。ホスト版は読み取り専用で、取引を有効にしてローカル実行すると注文を発注できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://kite-mcp-server.fly.dev/mcpclaude mcp add --transport http sundeepg98-kite https://kite-mcp-server.fly.dev/mcp{"mcpServers":{"sundeepg98-kite":{"type":"http","url":"https://kite-mcp-server.fly.dev/mcp"}}}Cursor で開く{"servers":{"sundeepg98-kite":{"type":"http","url":"https://kite-mcp-server.fly.dev/mcp"}}}VS Code で開く{"mcpServers":{"sundeepg98-kite":{"type":"http","url":"https://kite-mcp-server.fly.dev/mcp"}}}{"mcpServers":{"sundeepg98-kite":{"serverUrl":"https://kite-mcp-server.fly.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Kite MCP サーバー
Claude または ChatGPT から、注文発注、ペーパートレード、オプションのグリークス、バックテスト、Telegram アラート、11 項目の取引前安全チェックを備えた Zerodha Kite 取引口座に直接アクセスできます。110 以上のツールを利用できます。オープンソース、MIT ライセンスです。
ホスト型デモを試す(読み取り専用) · 60 秒でセルフホスト(取引機能すべてを利用可能) · 公式の Zerodha MCP との比較
claude mcp add --transport http kite https://kite-mcp-server.fly.dev/mcp
次のように指示してください:「Kite にログインして。ポートフォリオを見せて。INFY の SMA クロスオーバーをバックテストして。RELIANCE が 2% 下落したらアラートを設定して。」
Claude Desktop、Claude Code、claude.ai、ChatGPT Connectors、Cursor、VS Code Copilot、Windsurf など、MCP に準拠したあらゆる環境で動作します。Zerodha の公式読み取り専用 MCP(22 個のツール、GTT のみ)を補完するもので、このサーバーでは注文発注、アラート、ペーパートレード、オプションのグリークス、分析機能を利用できます。
信頼できる理由
- 約9,000件のテストを493個のテストファイルで実施(デプロイリポジトリに44個、外部化された32個の
algo2go/kite-mcp-*モジュールに449個)。各モジュールでgo test ./... -count=1を実行してください - セキュリティ監査:手動分析で27項目を検証し、181件の指摘を記録 — HIGH 6件はすべて修正済み。MEDIUM/LOW/INFO のトリアージは進行中です(2026-05-16 時点で74件修正済み/107件未対応)。項目ごとのステータス表は SECURITY_AUDIT_FINDINGS.md、元の監査内容は SECURITY_AUDIT_REPORT.md、侵入テストの証拠は SECURITY_PENTEST_RESULTS.md を参照してください。
- すべての機密情報(Kite トークン、API シークレット、OAuth クライアントシークレットなど)を、保存時に AES-256-GCM で暗号化 — 鍵は
OAUTH_JWT_SECRETから HKDF で導出します - RiskGuard(取引前の11項目のチェック) — 注文ごとの金額上限(デフォルト Rs 50,000)、数量制限、1日あたりの注文数(20件/日)、レート制限(10件/分)、秒単位のレート制限、重複検出(30秒間)、1日あたりの累積金額上限(Rs 2,00,000)、冪等性による重複排除、確認必須、異常検知 μ+3σ、時間外取引ブロック — さらにキルスイッチ、サーキットブレーカー、グローバル凍結レイヤー、OTR バンド、証拠金充足の境界チェックを備えています。
algo2go/kite-mcp-riskguard/guard.goに照らした最終検証は2026-05-16です(RejectionReason 定数は合計16個で、11項目はすべての取引で実行されます)。 - ツール呼び出しごとの監査証跡を90日間保持 — すべての MCP 呼び出しを SQLite に記録し、ダッシュボードから CSV/JSON 形式でエクスポートできます
- プッシュのたびに CI を実行 —
go build、go vet、go test -race(.github/workflows/ci.ymlを参照) - MIT ライセンスのオープンソース — あらゆる内容を確認できます。LICENSE には Zerodha Tech への上流帰属表示を保持しています
- 脅威モデル:THREAT_MODEL.md。セキュリティポリシー:SECURITY.md
クイックスタート
オプション A — ホスト型デモ(読み取り専用)
MCP クライアントの接続先に次を指定してください。
https://kite-mcp-server.fly.dev/mcp
NSE/INVG/69255 Annexure I Para 2.8 に基づき、ホスト型インスタンスでは注文発注ツールが無効になっています。読み取り専用ツール(ポートフォリオ、市場データ、バックテスト、分析)は利用できます。ご自身の Kite 開発者アプリ(ユーザーごとの OAuth)は引き続き必要です。
オプション B — ローカルで実行する(個人利用、全機能を利用可能)
git clone https://github.com/Sundeepg98/kite-mcp-server && cd kite-mcp-server
cp .env.example .env # edit: set OAUTH_JWT_SECRET (required)
docker compose up -d # builds Dockerfile.selfhost and starts it
curl http://localhost:8080/healthz # should return "ok"
クライアントの接続先を http://localhost:8080/mcp に設定してください(クライアントで必要な場合は --allow-http を使用してください)。ご自身の Kite アカウントを使ってローカルで実行する方法は、個人利用におけるセーフハーバーの手段です。お客様は引き続き Zerodha のクライアントであり、このソフトウェアは注文の発注を支援するだけです。
Go をお使いの場合は、Docker を使わずに実行できます:go build -o kite-mcp-server && ./kite-mcp-server。
オプション C — MCP クライアントから接続する
クライアントの設定(~/.claude.json、claude_desktop_config.json、.vscode/mcp.json など)に次の内容を追加してください:
{
"mcpServers": {
"kite": {
"command": "npx",
"args": ["mcp-remote", "https://kite-mcp-server.fly.dev/mcp"]
}
}
}
次に、「Kite にログインして」と伝えます。ブラウザーで OAuth フローを完了したら、「ポートフォリオを表示して」、「INFY の SMA クロスオーバーをバックテストして」、「ペーパートレードモードを有効にして」など、何でも尋ねられます。
初めてお使いですか?まずはペーパートレードから始めましょう:「ペーパートレードモードを有効にして」と伝えると、仮想の 1 crore ルピーのポートフォリオを利用でき、実際のお金を失うリスクはありません。
Windows + Claude Code に関する注記:Windows では、
cmd /cはエスケープされた引用符(\")を含む JSON 引数を黙って破棄します。mcp-remoteに静的な OAuth クライアント情報を渡す必要がある場合は、JSON をファイルに書き込み、インラインではなく--static-oauth-client-info @path/to/client-info.jsonで参照してください。標準的な Windows セットアップでは、クライアント情報ファイルの例が~/.claude/mcp-servers/kite-fly-client.jsonにあります。
OAuth の検出は標準規格に準拠しています:RFC 8414(/.well-known/oauth-authorization-server にある OAuth 2.0 認可サーバーメタデータ)および RFC 9728(/.well-known/oauth-protected-resource にある OAuth 2.0 保護リソースメタデータ)。mcp-remote はこれらのエンドポイントを使って自動検出するため、クライアント側で認証を手動設定する必要はありません。
機能
- ポートフォリオ分析 — 保有資産、ポジション、証拠金、損益、セクター別エクスポージャー(150 銘柄以上をマッピング)、税務上の損失確定、集中度、配当
- 市場データ — 気配値、LTP、OHLC、過去のローソク足、銘柄検索、10 種類以上のテクニカル指標(SMA、EMA、RSI、MACD、ボリンジャーバンド)
- オプション — Black-Scholes のグリークス(デルタ、ガンマ、セータ、ベガ、IV)、オプションチェーン、8 種類のマルチレッグ戦略テンプレート
- バックテスト — シャープレシオと最大ドローダウンを含む、組み込みの 4 種類の戦略(SMA クロスオーバー、RSI リバーサル、ブレイクアウト、平均回帰)
- アラート — 価格の上昇/下落、パーセンテージでの下落/上昇、複合条件、出来高急増、Telegram への配信 + Kite のネイティブ GTT アラート
- ペーパートレード — 仮想の 1 crore ルピーのポートフォリオ、シミュレーション注文、バックグラウンドの LIMIT 約定監視、オン/オフの切り替え
- RiskGuard — 各注文が取引所に送信される前に実行される 11 種類の事前チェック(キルスイッチ、注文金額上限、数量制限、日次件数、レート制限、毎秒のレート制限、重複検出、日次想定元本上限、冪等性による重複排除、異常値 μ+3σ、取引時間外のブロック)— さらに、サーキットブレーカーとグローバル凍結レイヤー
- MCP Apps ウィジェット — claude.ai、Claude Desktop、ChatGPT 上でインライン表示されるポートフォリオ/注文/アラート/アクティビティの UI
- Telegram ボット — インラインキーボードでの確認を備えた
/buy、/sell、/quick、/setalert;朝のブリーフィング(IST 午前 9 時)と日次損益(IST 午後 3 時 35 分) - 注文発注 — 発注、変更、キャンセル、GTT、ポジションの変換、全ポジションの決済(ローカルビルドのみ。ホスト型デプロイは読み取り専用です)
カテゴリ別の件数を含むツールの全分類については、ARCHITECTURE.md を参照してください。
アーキテクチャ
クリーン/ヘキサゴナルアーキテクチャ:
AI Client <-> MCP Protocol <-> Tool Handler <-> Use Case <-> CQRS Command/Query <-> Broker Port <-> Kite Adapter <-> Kite Connect API <-> NSE/BSE
Go 1.25 + mcp-go v0.46.0。永続化には SQLite を使用し(認証情報、アラート、セッション、監査証跡をすべて AES-256-GCM で暗号化)、Litestream によって Cloudflare R2 に継続的にレプリケーションします。OAuth 2.1 + PKCE を採用し、各ユーザーが自身の Kite 開発者アプリを使用します。ミドルウェアチェーン:Timeout -> Audit -> Hooks -> RiskGuard -> Rate Limiter -> Billing -> Paper Trading -> Dashboard URL。SEBI が義務付けるホワイトリスト登録用の静的な送信元 IP を使用し、Fly.io(ムンバイリージョン)にデプロイされています。ARCHITECTURE.md を参照してください。
法務/コンプライアンス上の位置付け
SEBI 登録仲介業者ではありません。 これはインフラソフトウェアであり、アドバイザリーサービスや証券仲介サービスではありません。
- ユーザーごとに Kite 開発者アプリを持ち込む方式です — Zerodha の登録クライアントは引き続きお客様です。 サーバーはユーザー資金をプールせず、自らの名義で取引を実行することもありません。
kite-mcp-server.fly.devでのホスト環境は読み取り専用です。NSE/INVG/69255 Annexure I Para 2.8に従い、注文発注ツールは無効になっています。注文を発注するには、ご自身のアカウントに接続してサーバーをローカルで実行する必要があります。- 個人の Kite アカウントに接続してサーバーをローカルで実行することは、個人利用におけるセーフハーバーの経路です。ご自身のアルゴリズムスクリプトを実行するのと同様です。インドのアルゴ取引ベンダーを取り巻くコンプライアンス状況については、OpenAlgo の見解をご覧ください。
- 固定の外向き IP アドレス(
209.71.68.157、ムンバイ)は公開されています。ユーザーは SEBI の 2026 年 4 月の義務に従い、Kite 開発者コンソールでこの IP アドレスを許可リストに登録できます。- TERMS.md と PRIVACY.md はドラフトであり、独立した法務レビュー中です。最終的な法的契約として依拠しないでください。
- 取引にはリスクが伴います。このソフトウェアは金融アドバイスではありません。Zerodha とは提携していません。
環境変数
OAUTH_JWT_SECRET は、複数ユーザー向け HTTP デプロイに必要な唯一の変数です。それ以外はすべて任意で、設定すると特定の機能が有効になります。全項目は次のとおりです。
| 変数 | 必須 | デフォルト | 用途 |
|---|---|---|---|
OAUTH_JWT_SECRET | はい(HTTP) | — | OAuth セッション用の JWT トークンに署名します。また、AES-256-GCM 暗号化キーのシードにも使用されます |
KITE_API_KEY | いいえ | — | グローバル Kite アプリの API キー(未設定の場合はユーザーごとの OAuth を使用) |
KITE_API_SECRET | いいえ | — | グローバル Kite アプリの API シークレット |
KITE_ACCESS_TOKEN | いいえ | — | 認証済みの Kite トークン(ブラウザログインを省略。ローカル開発専用) |
ENABLE_TRADING | いいえ | false | 注文発注ツールを有効にします(ホスト環境では無効) |
EXTERNAL_URL | いいえ | http://localhost:8080 | OAuth コールバック用の公開 URL |
APP_MODE | いいえ | http | http、sse、または stdio |
APP_PORT | いいえ | 8080 | HTTP リッスンポート |
ALERT_DB_PATH | いいえ | alerts.db | SQLite データベースのパス |
TELEGRAM_BOT_TOKEN | いいえ | — | アラートと日次ブリーフィング用の Telegram ボット |
ADMIN_EMAILS | いいえ | — | カンマ区切りの管理者メールアドレス一覧 |
GOOGLE_CLIENT_ID / _SECRET | いいえ | — | ダッシュボード用の Google SSO |
STRIPE_* | いいえ | — | 課金プランの適用 |
LITESTREAM_* | いいえ | — | R2/S3 SQLite レプリケーション |
EXCLUDED_TOOLS | いいえ | — | 無効にするツール名をカンマ区切りで指定 |
LOG_LEVEL | いいえ | info | debug、info、warn、error |
クライアントの設定
上記と同じ mcp-remote ブリッジを使って、MCP 準拠のクライアントを利用できます。クライアントごとの設定ファイルの場所は次のとおりです。
- Claude Code —
~/.claude.json(mcpServersキー) - Claude Desktop —
%APPDATA%\Claude\claude_desktop_config.json(Windows)または~/.config/Claude/claude_desktop_config.json(macOS/Linux) - ChatGPT Desktop — Settings -> Tools & Integrations -> MCP Servers -> URL を追加
- VS Code / Cursor / Windsurf —
.vscode/mcp.jsonまたは同等のファイル
ドキュメント
ユーザー向け
- クイックスタート — ローカルで実行するか、ホスト環境に接続します
- 利用規約 と プライバシーポリシー(現在はドラフト — 法務レビュー中)
- Anthropic API キーの持ち込み — Claude.ai Pro のツール呼び出し制限を回避します
- アンインストールと DPDP に基づくデータ削除 — 接続を解除するか、保存データを完全に消去します
開発者向け
- アーキテクチャ/仕組み — OAuth を詳しく解説(2,500 語、ブログとしても公開)
- コントリビューション
- 新しいツールの追加
- 環境変数
運用
- リリースチェックリスト
- 運用担当者向けプレイブック
- インシデント対応ランブック — 4 つの危機シナリオと連絡先一覧
- エビデンスパッケージのひな形 — 規制当局への対応/インシデント対応用に事前作成済み
コンプライアンス/法務
- NSE アルゴリズム取引フレームワークの状況 — Path 1〜4 の比較
- Kite v4 移行時のリスク対策 — 依存関係のリスク軽減
- SBOM の生成 — サプライチェーンの透明性を確保するためのソフトウェア部品表
- SECURITY.md
資金調達/エコシステム
- FLOSS/fund 申請書 — Zerodha のオープンソース助成金申請
- funding.json — 機械可読な資金調達マニフェスト
Claude Skills ラッパー
- 8 つの Skills — /kite:morning、/kite:trade、/kite:eod など
調査/戦略
ダッシュボード
MCP OAuth 経由でログインすると、ダッシュボードの Cookie が自動的に設定されます(2 回目のログインは不要です)。
| ページ | パス | 説明 |
|---|---|---|
| ポートフォリオ | /dashboard | 保有銘柄、ポジション、損益チャート、注文の帰属情報 |
| アクティビティ | /dashboard/activity | フィルターと CSV/JSON エクスポート機能を備えた、AI によるツール呼び出しの監査証跡 |
| 注文 | /dashboard/orders | AI による帰属情報付きの注文履歴 |
| アラート | /dashboard/alerts | 市場データを付加した有効な価格アラート |
| 安全性 | /dashboard/safety | RiskGuard のステータス、フリーズ制御、上限設定 |
| ペーパートレード | /dashboard/paper | ペーパーポートフォリオ、シミュレーション注文、ポジション |
| 管理者向け運用 | /admin/ops | すべてのユーザー、セッション、ログ、メトリクス(管理者のみ) |
比較
| 機能 | このサーバー | 公式 Kite MCP | Streak |
|---|---|---|---|
| ツール | 111 | 22 | N/A |
| 注文発注 | はい(ローカル) | GTT のみ | はい |
| ペーパートレード | はい | いいえ | いいえ |
| 安全性チェック | 11 | 0 | 0 |
| バックテスト | 4 戦略 | いいえ | はい |
| オプションのグリークス | はい | いいえ | いいえ |
| Telegram アラート | はい | いいえ | いいえ |
| セルフホスト可能 | はい | いいえ | N/A |
| 費用 | Kite Connect アプリ(Rs 500/月) | 無料 | 無料+有料 |
読み取り専用で、セットアップ不要の利用には公式サーバーが適しています。このサーバーは、注文発注、安全策、分析機能を求めるトレーダー向けです。
前提条件
- Kite Connect の開発者アプリ(Zerodha から月額 Rs 500)
mcp-remote用のnpx(Node.js 18 以降)、またはソースからセルフホストする場合は Go 1.25 以降
レジストリ
公式 MCP Registry への登録申請は保留中です。io.github.Sundeepg98/kite-mcp-server 名前空間は server.json を通じて予約済みで、ローンチ前の最終検証が完了次第公開されます。Smithery と Glama による自動インデックス登録は、レジストリ公開後に行われます。
貢献/資金調達
-
Issue/PR — github.com/Sundeepg98/kite-mcp-server/issues。CONTRIBUTING.md をご覧ください。
-
ベース — zerodha/kite-mcp-server(MIT)。基盤をオープンソース化してくださった Kailash Nadh 氏と Zerodha チームに心より感謝します。
-
開発 —
nix develop # or: install Go 1.25+ just build # compile just test # run the full test suite just lint # format + vet + golangci-lint
ライセンス
MIT。Zerodha Tech による元の貢献の著作権表示は保持されています。
免責事項
商標: kite-mcp-server は、Zerodha Broking Ltd. と提携、承認、または後援関係にありません。「Kite」および「Kite Connect」は、Zerodha Broking Ltd. の商標です。本プロジェクトは、Kite Connect 開発者 API 向けの Model Context Protocol サーバーを独立して実装したオープンソースプロジェクトです。
投資助言ではありません: 本ソフトウェアは開発者向けツールです。このリポジトリ、そのドキュメント、またはサーバーが生成する出力は、投資、財務、法律、税務に関する助言を構成するものではありません。取引の判断は、自身の Kite Connect 開発者アプリケーションを運用するユーザーの責任です。
個人利用の範囲: 本サーバーは、SEBI の 2025 年 2 月 4 日付の個人向けアルゴリズム取引の枠組み §I(c) にある「家族」の適用除外(本人、配偶者、扶養する子ども、扶養する両親)および毎秒 10 件未満の注文という基準に沿って、自身の Kite Connect 開発者アプリケーションを運用する個人投資家が、自身のために個人利用することを想定して設計されています。複数ユーザー向けのホスティングには、SEBI §III(a) および NSE/INVG/67858 に基づくブローカーの認定が必要であり、本リポジトリではサポートしていません。
コンプライアンス
適用される規制制度(インド):
- SEBI(株式ブローカー)規則 2026 — 個人投資家向けアルゴリズム取引の枠組み(2026年4月1日施行)
- デジタル個人データ保護法 2023(DPDP 法)— 2026年に執行を段階的に強化中。規則は一部公布済みです
- CERT-In 指令(2022年4月)— サイバーセキュリティインシデントの報告
このサーバーが標準で適用する内容:
| 管理項目 | デフォルト | 適用箇所 |
|---|---|---|
| 暦秒あたりの注文上限(9件/秒) | 適用 | algo2go/kite-mcp-riskguard/per_second.go(防御的設定。SEBI のしきい値は 10) |
| 分あたりの注文上限(10件/分) | 適用 | algo2go/kite-mcp-riskguard/guard.go |
| 1日の注文数上限 | 20件/日 | algo2go/kite-mcp-riskguard/guard.go |
| 1注文あたりの価値上限 | Rs 50,000 | algo2go/kite-mcp-riskguard/guard.go |
| 1日の累積価値上限 | Rs 2,00,000 | algo2go/kite-mcp-riskguard/guard.go |
| すべての注文での人間による確認 | 必須(MCP elicitation) | mcp/common/elicit.go |
| 監査ハッシュチェーン | 改ざん検知可能 | algo2go/kite-mcp-audit/ |
| ユーザーごとの OAuth と暗号化された認証情報 | HKDF 経由の AES-256-GCM | algo2go/kite-mcp-alerts/crypto.go |
| 静的な送信先 IP の許可リスト | 209.71.68.157(Fly.io bom) | 運用者の Kite 開発者コンソール |
| ENABLE_TRADING フラグ | ホスティング環境では false | コンプライアンス経路 2 |
SEBI の枠組みに対する姿勢:
- SEBI §I(c) 個人投資家向けアルゴリズム取引の枠組み(2025年2月4日付通達)に基づく本人および家族の範囲:自身のアカウント向けに独自のアルゴリズムをコーディングする個人投資家は、OPS のしきい値 10 未満で、自身、配偶者、扶養する子ども、扶養する親を対象に利用できます
- 複数ユーザー向けホスティング = §III(a) に基づく認定、および NSE/INVG/67858 §I(h) に基づくブローカーによるホスティングの義務が必要です。このリポジトリではサポートしていません。
- Algo-ID タグ付け(2026年4月1日から必須):OPS 10 未満の個人投資家ユーザー向けに Zerodha OMS がサーバー側で付与します。クライアント側での対応は不要です
DPDP に対する姿勢:
- データ受託者:デプロイメントの運用者
- 保存データの暗号化:HKDF で導出した鍵による AES-256-GCM
- 転送中の暗号化:TLS
- 監査ログの保持期間:90日(
AUDIT_RETENTION_DAYSで設定可能) - 要請に応じた削除:
<grievance officer email>にメールするか、ダッシュボードツールを使用します - データ侵害の通知:6時間以内に CERT-In へ、72時間以内にユーザーへ通知します
- DPDP s.17(2)(a) に基づく個人・世帯の免除:本人のみが利用するセルフホスト環境に適用されます。外部ユーザーが加わると適用されなくなります
セルフホストする場合: デプロイメントのデータ受託者はお客様です。このセクションではコードの機能について説明しています。法的責任は運用者が負います。
このコードで対応できないこと:
- SEBI 投資顧問/リサーチアナリストの登録(別の制度のため対象外)
- 税務コンプライアンス/GST(個人事業主の場合は 44ADA。税理士にご相談ください)
- Kite Connect の Rs 500/月のサブスクリプション(Zerodha に直接お支払いください)
このリポジトリ内の参考ドキュメント:
docs/PRIVACY.md— DPDP に準拠したプライバシー通知(ホスティング前にカスタマイズが必要)docs/TERMS.md— SEBI に配慮した利用規約docs/incident-response.md— データ侵害対応手順書docs/algo2go-tm-search.md— 商標検索手順(名称を変更する場合)
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。