mcpField
K
Kite Connect MCP

Kite Connect MCP

ローカル
github.com/techfreakworm金融データ05 日前に更新

Kite Connect MCP について

Kite Connect MCPは、AIアシスタントをZerodha Kite Connect v3 APIに接続するセルフホスト可能なMCPサーバーです。口座、マーケット、取引操作を提供し、書き込みは既定でドライランとなり、実行時には設定可能な安全策が適用されます。

主な機能

  1. 01口座、ポートフォリオ、注文ツール
  2. 02相場、過去データ、リアルタイムティッカー
  3. 03GTT、アラート、投資信託の操作
  4. 04書き込みはドライランと確認が既定
  5. 05上限、許可リスト、キルスイッチ、監査ログ

活用シーン

  1. 01AIアシスタントでポートフォリオと市場データを確認
  2. 02注文送信前に内容をプレビューして検証
  3. 03MCPクライアントからアラートとGTTを管理

MCP 対応

stdioまたはHTTP経由で、Zerodha Kite Connect v3の機能をMCPクライアント向けのツールとして公開します。読み取り専用に設定でき、書き込み操作は既定でドライランです。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"techfreakworm-kite-connect": {
"command": "uvx",
"args": [
"kite-connect-mcp"
],
"env": {
"KITE_API_KEY": "<KITE_API_KEY>",
"KITE_API_SECRET": "<KITE_API_SECRET>",
"KITE_MCP_AUTH_MODE": "<KITE_MCP_AUTH_MODE>",
"KITE_TOKEN_FILE": "<KITE_TOKEN_FILE>",
"KITE_MCP_TRADING_MODE": "<KITE_MCP_TRADING_MODE>",
"KITE_MCP_READ_ONLY": "<KITE_MCP_READ_ONLY>"
}
}
}
}
起動コマンドuvx kite-connect-mcp
設定が必要な環境変数
KITE_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypikite-connect-mcp0.1.1

ツール

53

掲載時のツール一覧 · 4 日前に更新

パラメーター型必須説明
verifybooleanいいえKite に 1 回問い合わせ(GET /user/profile)、トークンが引き続き有効か確認し、アカウントのユーザー ID または Kite のエラーを返します

詳細

kite-connect-mcp

CI PyPI Licence: MIT

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 を実行すると、設定で公開されるツールを確認できます。

ツールセットツール
sessionsession_status, login, complete_login, logout
accountget_profile, get_margins
ordersplace_order, modify_order, cancel_order, get_orders, get_order_history, get_trades, get_order_trades
gttget_gtts, get_gtt, place_gtt_order, modify_gtt_order, delete_gtt_order
alertsget_alerts, get_alert, get_alert_history, create_alert(シンプルアラートと ATO)、modify_alert, delete_alerts
portfolioget_holdings, get_positions, get_auctions, convert_position, authorise_holdings
marketget_quotes, get_ohlc, get_ltp, get_historical_data, search_instruments, get_instrument, get_instruments_status, refresh_instruments
marginsget_order_margins, get_basket_margins, get_order_charges
mfget_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
tickerticker_subscribe, ticker_unsubscribe, ticker_get_ticks, ticker_status, ticker_order_updates, ticker_stop
safetyget_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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。