Kite Connect MCP について
Kite Connect MCPは、AIアシスタントをZerodha Kite Connect v3 APIに接続するセルフホスト可能なMCPサーバーです。口座、マーケット、取引操作を提供し、書き込みは既定でドライランとなり、実行時には設定可能な安全策が適用されます。
主な機能
- 01口座、ポートフォリオ、注文ツール
- 02相場、過去データ、リアルタイムティッカー
- 03GTT、アラート、投資信託の操作
- 04書き込みはドライランと確認が既定
- 05上限、許可リスト、キルスイッチ、監査ログ
活用シーン
- 01AIアシスタントでポートフォリオと市場データを確認
- 02注文送信前に内容をプレビューして検証
- 03MCPクライアントからアラートとGTTを管理
MCP 対応
stdioまたはHTTP経由で、Zerodha Kite Connect v3の機能をMCPクライアント向けのツールとして公開します。読み取り専用に設定でき、書き込み操作は既定でドライランです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx kite-connect-mcpKITE_API_KEYシークレットAPI key of your Kite Connect app (developers.kite.trade)KITE_API_SECRETシークレットAPI secret of your Kite Connect app, needed for the daily login (or use KITE_API_SECRET_FILE)KITE_MCP_AUTH_MODEシークレットmanaged (this server owns the daily login) or external (read a token file another program writes)KITE_TOKEN_FILEシークレットPath of the access-token file (default: ~/.local/state/kite-connect-mcp/access_token.json)KITE_MCP_TRADING_MODEdry_run (default: writes are only previewed) or live (writes need a confirmation token)KITE_MCP_READ_ONLYtrue hides every tool that can change the accountローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
53掲載時のツール一覧 · 4 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| verify | boolean | いいえ | Kite に 1 回問い合わせ(GET /user/profile)、トークンが引き続き有効か確認し、アカウントのユーザー ID または Kite のエラーを返します |
詳細
kite-connect-mcp
Zerodha Kite Connect v3 API 用のセルフホスト可能な Model Context Protocol サーバーです。 ご自身のマシンまたはサーバーで、ご自身の Kite Connect アプリを使って実行すれば、 AI アシスタントがアカウント、マーケットデータ、注文を読み取れるようになります。書き込み操作はすべて デフォルトで ドライラン になります。
ステータス:ベータ版(0.x)。 Kite Connect v3 のすべての機能を網羅しており、偽の Kite を使ったオフラインテストで検証済みです。読み取りツール、証拠金および手数料の計算ツール、ティッカーもライブ API で確認済みですが、ライブでの書き込み(注文、GTT、アラート、投資信託)は未確認のため、まだ不安定な部分がある可能性があります。問題を報告してください。変更点は CHANGELOG.md に記載されています。 このプロジェクトは Zerodha とは提携しておらず、同社の推薦も受けていません。
なぜ別の Kite MCP サーバーが必要なのですか?
Zerodha は公式サーバー(zerodha/kite-mcp-server)を公開し、
mcp.kite.trade でホストしています。このプロジェクトには、次の 3 つの違いがあります。
- 有料の Kite Connect API 全体をカバーしています。 アラート、GTT、注文とバスケットの証拠金、手数料、 ポジションの変換、保有資産の承認、オークション、投資信託、WebSocket ティッカーを含みます。
- 個人でのセルフホストを想定して構築されています。 日次トークンを永続化し、接続するすべてのクライアントで共有します。
- 注文の安全レイヤーを備えています: ドライラン、2 段階確認、取引額の上限、許可リスト、キルスイッチ、 監査ログ、レート制限を提供します。
評価と判断の詳細は docs/DECISION.md をご覧ください。
必要なもの
- Zerodha アカウントと、開発者コンソールで作成した Kite Connect アプリ。
- Connect(有料、API キーごとに月額 ₹500) には、ライブ相場、WebSocket、過去のローソク足が含まれます。
- Personal(無料) では、注文、GTT、アラート、ポートフォリオ、証拠金を利用できますが、マーケットデータは利用できません。マーケットデータ関連のツールは、 「有料プランが必要です」という明確なエラーを返します。
- Python 3.11 以降(または Docker)。
- ライブ注文を発注する場合:注文リクエストは、開発者コンソールに登録された静的 IP から送信する必要があります。 これは SEBI/NSE の規則で、2026 年 4 月から施行されています。読み取りはどの IP からでも可能です。
開発者コンソールでの手順(アプリ、API キーとシークレット、リダイレクト URL とポストバック URL、サブスクリプション、静的 IP の設定)は docs/KITE_SETUP.md をご覧ください。
クイックスタート(ローカル、stdio)
# install
uv tool install kite-connect-mcp # or: pipx install kite-connect-mcp / pip install kite-connect-mcp
# or run without installing: uvx kite-connect-mcp --help
# or the image: docker pull ghcr.io/techfreakworm/kite-connect-mcp
# configure: credentials from env vars or files (mode 600)
export KITE_API_KEY=your_api_key
export KITE_API_SECRET_FILE=~/.config/kite-connect-mcp/api_secret
kite-connect-mcp check-config # validates settings, never prints credentials
kite-connect-mcp login --listen # prints the Kite login link and waits for the redirect (managed mode)
kite-connect-mcp status # session and safety status
login --listen を使う場合は、アプリのリダイレクト URL として http://127.0.0.1:8765/callback を登録してください。すべての設定は
docs/CONFIGURATION.md に記載されています。
MCP クライアント(例:Claude Desktop(claude_desktop_config.json)や、stdio サーバーを起動する任意のクライアント)に追加します。
{
"mcpServers": {
"kite": {
"command": "kite-connect-mcp",
"args": ["serve"],
"env": { "KITE_API_KEY": "your_api_key", "KITE_API_SECRET_FILE": "/home/you/.config/kite-connect-mcp/api_secret" }
}
}
}
HTTP 経由でサーバー上で実行する方法は、docs/SELF_HOSTING.md をご覧ください。systemd と Docker、 TLS 対応のリバースプロキシ、ベアラートークン認証、ログインコールバックについて説明しています。
安全モデルの概要
| ガード | デフォルト |
|---|---|
すべての書き込みツールに dry_run が必要 | true:検証とチェックを実行し、正確なリクエストと Kite の証拠金計算をプレビューします。何も送信しません |
| ライブ取引スイッチ | オフ(KITE_MCP_TRADING_MODE=dry_run) |
| 確認 | ライブ書き込みには、同一の呼び出しをドライランしたときに発行される使い捨ての confirmation_token が必要です(または、オプトインした場合は、明示的に許可リストに登録した銘柄を使用できます) |
| 金額上限 | 1注文あたり ₹10,000、1日あたり ₹50,000、1日あたりライブ注文20件 |
| 許可リスト | 銘柄、取引所、商品、注文区分、注文タイプ、売買区分(すべて任意) |
| 読み取り専用モード | KITE_MCP_READ_ONLY=true にすると、すべての書き込みツールが非表示になり、HTTP クライアントも書き込みエンドポイントを拒否します |
| キルスイッチ | ファイルで管理します。ツールでオンにできますが、オフにできるのは人だけです |
| 監査ログ | すべてのドライラン、拒否、ライブ送信、結果を JSON Lines 形式で記録します。送信前に意図を fsync します |
| レート制限 | Kite の制限(相場情報は1秒あたり1件、過去データは1秒あたり3件、注文とその他は1秒あたり10件、1分あたり400注文)を超えないようにします |
| 再試行 | 読み取りは待機時間を延ばしながら再試行します。書き込みは再試行しません。タイムアウトは結果不明として報告されます。再試行する前に注文一覧を確認してください |
詳細:docs/SAFETY.md。
セッションと毎日のログイン
Kite アクセストークンは毎日 06:00 IST 頃に期限切れになります。リクエストトークンは1回限り使用できます。同じ API キーで再度ログインすると、以前のアクセストークンは無効になります。そのため、アプリごとに毎日のログインを管理するプログラムは1つだけにしてください。
managedモード(デフォルト)。 このサーバーがログインを管理します。loginツール(またはkite-connect-mcp login)がリンクを提供します。Kite はこのサーバーの/callbackにリダイレクトし、サーバーは1回限りのstateを検証してrequest_tokenと交換し、モード 600 でトークンを保存します。externalモード。 別のプログラムがログインを管理し、トークンファイルを書き込みます。このサーバーはそのファイルを読み取るだけで、再起動せずに毎朝新しいトークンを取り込み、そのトークンを書き込んだり、削除したり、ログアウトしたりすることはありません。
ツール
11のツールセットに58個のツールがあります(デフォルトでは53個。投資信託の書き込みはオプトインです)。公式サーバーが存在する場合、ツール名はそのサーバーに合わせているため、プロンプトをそのまま引き継げます。KITE_MCP_TOOLSETS でツールセットを選択し、KITE_MCP_EXCLUDED_TOOLS で個別のツールを非表示にできます。kite-connect-mcp tools を実行すると、設定で公開されるツールを確認できます。
| ツールセット | ツール |
|---|---|
| session | session_status, login, complete_login, logout |
| account | get_profile, get_margins |
| orders | place_order, modify_order, cancel_order, get_orders, get_order_history, get_trades, get_order_trades |
| gtt | get_gtts, get_gtt, place_gtt_order, modify_gtt_order, delete_gtt_order |
| alerts | get_alerts, get_alert, get_alert_history, create_alert(シンプルアラートと ATO)、modify_alert, delete_alerts |
| portfolio | get_holdings, get_positions, get_auctions, convert_position, authorise_holdings |
| market | get_quotes, get_ohlc, get_ltp, get_historical_data, search_instruments, get_instrument, get_instruments_status, refresh_instruments |
| margins | get_order_margins, get_basket_margins, get_order_charges |
| mf | get_mf_holdings, get_mf_orders, get_mf_sips, search_mf_instruments、オプトイン:place_mf_order, cancel_mf_order, place_mf_sip, modify_mf_sip, cancel_mf_sip |
| ticker | ticker_subscribe, ticker_unsubscribe, ticker_get_ticks, ticker_status, ticker_order_updates, ticker_stop |
| safety | get_safety_status, get_audit_log, engage_kill_switch |
すべてのツールのすべての引数については、docs/TOOLS.md を参照してください。
開発
git clone https://github.com/techfreakworm/kite-connect-mcp && cd kite-connect-mcp
python -m venv .venv && .venv/bin/pip install -e ".[dev]"
.venv/bin/pytest # never touches the network: Kite is faked in-process
.venv/bin/ruff check . && .venv/bin/ruff format --check .
CONTRIBUTING.md を参照してください。セキュリティに関する報告先:SECURITY.md。
免責事項
取引にはリスクが伴います。このソフトウェアは、設定によっては実際の証券口座で実際の注文を発注できます。 AI システムの動作は予測できません。上限を低く設定し、ドライランを実行し、確定する内容を確認してください。このソフトウェアは、いかなる保証もない「現状有姿」で提供されます(LICENSE を参照)。Zerodha の利用規約、SEBI の規則(固定 IP およびアルゴ取引に関する規則を含む)、ならびに取引所のデータポリシーを遵守する責任はお客様にあります。Kite Connect のデータを再配布することはできません。
ライセンス
MIT © 2026 Mayank Gupta
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。