Kite MCP Server について
Kite MCP Server は、Zerodha Kite Connect 取引 API の MCP サーバーです。AI アシスタントから相場データの取得、ポートフォリオと注文の確認、取引の実行ができます。インストール不要のホスト版が提供されています。
主な機能
- 01保有銘柄、ポジション、証拠金、投資信託の保有状況の確認
- 02注文の発注、変更、取消と注文履歴の参照
- 03GTT 注文の管理
- 04リアルタイム株価、LTP、OHLC、過去データの取得
- 05大量データのための自動ページネーション
- 06stdio、HTTP、SSE、ハイブリッドの各モードに対応
活用シーン
- 01AI アシスタントを通じた Kite 口座の保有状況と証拠金の確認
- 02分析のための株価と過去データの照会
- 03取引系ツールを除外した読み取り専用のセルフホスト運用
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
22掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| order_id | string | はい | 注文 ID |
| variety | enum | はい | 注文種別regular | co | amo | iceberg | auction |
詳細
Kite MCP サーバー
AI アシスタントに Kite Connect 取引 API への安全なアクセスを提供する Model Context Protocol(MCP)サーバーです。このサーバーを使うと、AI エージェントは標準化されたインターフェースを通じて、市場データの取得、ポートフォリオの管理、取引の実行を行えます。
トレーダー向け概要
Kite の取引アカウントで AI を使いたいですか?AI クライアントの設定に https://mcp.kite.trade/mcp を追加するだけです。インストールも API キーも不要です。ホスト済みで、すぐに利用できます。
機能
- ポートフォリオ管理:保有資産、ポジション、証拠金、投資信託への投資を確認できます
- 注文管理:注文履歴を含め、注文の発注、変更、キャンセルを行えます
- GTT 注文:Good Till Triggered 注文を管理できます
- 市場データへのアクセス:リアルタイムの相場情報、過去のデータ、OHLC データを利用できます
- ページネーション対応:大規模なデータセット(保有資産、注文、取引)を自動的にページネーションします
- 幅広い API 対応:Kite Connect API エンドポイントの大半を実装しています
- 複数のデプロイモード:stdio、HTTP、SSE、ハイブリッドモード(本番環境)に対応しています
- 組み込みドキュメント:実行時にドキュメントを自動で提供します
クイックスタート
ホスト版(推奨)
最も簡単に始める方法は、mcp.kite.trade のホスト版を利用することです。/mcp と /sse の両方のエンドポイントを利用できます。お使いの環境でのインストールや API キーは不要です。
クイックセットアップ: MCP の設定に以下を追加します。
https://mcp.kite.trade/mcp
推奨: パフォーマンスと信頼性を高めるため、新しい HTTP モード(/mcp エンドポイント)を使用してください。mcp-remote を使って、ホストされたサーバーに接続できます。
独自の API キーを使ってセルフホストする場合は、以下のインストール手順に従ってください。
前提条件
- ホスト版(推奨)の場合:何も必要ありません。
https://mcp.kite.trade/mcpを使うだけです - セルフホストする場合:Go 1.21 以降
- セルフホストする場合:有効な Kite Connect API 認証情報
はじめに
git clone https://github.com/zerodha/kite-mcp-server
cd kite-mcp-server
設定
Kite Connect の認証情報を記述した .env ファイルを作成します。
KITE_API_KEY=your_api_key
KITE_API_SECRET=your_api_secret
APP_MODE=http
APP_PORT=8080
APP_HOST=localhost
PUBLIC_BASE_URL=http://localhost:8080
用意されている justfile を使って設定を初期化することもできます。
just init-env
サーバーの起動
# Build and run
go build -o kite-mcp-server
./kite-mcp-server
# Or run directly
go run main.go
サーバーが起動し、http://localhost:8080/ でステータスページが提供されます。
クライアントとの連携
セットアップガイド
- Claude Desktop(ホストモード) - 推奨
- Claude Desktop(HTTP モード) - 推奨
- Claude Desktop(SSE モード)
- Claude Desktop(stdio モード)
- その他の MCP クライアント
Claude Desktop(ホストモード)
ホスト版を使う場合は、Claude Desktop の設定(~/.config/Claude/claude_desktop_config.json)に以下を追加します。
{
"mcpServers": {
"kite": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.kite.trade/mcp"]
}
}
}
Claude Desktop(HTTP モード)
Claude Desktop の設定(~/.config/Claude/claude_desktop_config.json)に以下を追加します。
{
"mcpServers": {
"kite": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8080/mcp", "--allow-http"],
"env": {
"APP_MODE": "http",
"KITE_API_KEY": "your_api_key",
"KITE_API_SECRET": "your_api_secret"
}
}
}
}
Claude Desktop(SSE モード)
Claude Desktop の設定(~/.config/Claude/claude_desktop_config.json)に以下を追加します。
{
"mcpServers": {
"kite": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8080/sse", "--allow-http"],
"env": {
"APP_MODE": "sse",
"KITE_API_KEY": "your_api_key",
"KITE_API_SECRET": "your_api_secret"
}
}
}
}
Claude Desktop(stdio モード)
セルフホスト環境にインストールする場合は、まずバイナリをビルドする必要があります。
go build -o kite-mcp-server
次に、Claude Desktop の設定(~/.config/Claude/claude_desktop_config.json)に以下を追加します。
{
"mcpServers": {
"kite": {
"command": "/full/path/to/your/kite-mcp-server",
"env": {
"APP_MODE": "stdio",
"KITE_API_KEY": "your_api_key",
"KITE_API_SECRET": "your_api_secret"
}
}
}
}
重要: ビルドしたバイナリの絶対パスを指定してください。例:
/home/username/kite-mcp-server/kite-mcp-server(Linux)/Users/username/kite-mcp-server/kite-mcp-server(macOS)C:\Users\username\kite-mcp-server\kite-mcp-server.exe(Windows)
その他の MCP クライアント
その他の MCP 対応クライアントでは、ホストされたエンドポイント https://mcp.kite.trade/mcp を mcp-remote で利用するか、クライアントが HTTP エンドポイントに直接接続するよう設定してください。
利用可能なツール
セットアップと認証
login- Kite API にログインし、認証リンクを生成します
市場データ
get_quotes- リアルタイムの市場気配値を取得しますget_ltp- 最終取引価格を取得しますget_ohlc- OHLC データを取得しますget_historical_data- 過去の価格データを取得しますsearch_instruments- 取引商品を検索します
ポートフォリオとアカウント
get_profile- ユーザープロフィール情報を取得しますget_margins- アカウントの証拠金を取得しますget_holdings- ポートフォリオの保有資産を取得しますget_positions- 現在のポジションを取得しますget_mf_holdings- 投資信託の保有資産を取得します
注文と取引
place_order- 新しい注文を発注しますmodify_order- 既存の注文を変更しますcancel_order- 注文をキャンセルしますget_orders- すべての注文を一覧表示しますget_trades- 取引履歴を取得しますget_order_history- 注文の約定履歴を取得しますget_order_trades- 特定の注文の取引を取得します
GTT 注文
get_gtts- GTT 注文を一覧表示しますplace_gtt_order- GTT 注文を作成しますmodify_gtt_order- GTT 注文を変更しますdelete_gtt_order- GTT 注文を削除します
API の対応範囲
このサーバーは Kite Connect API エンドポイントの大部分を実装し、さらに追加のツールも提供します。
開発
開発環境
このプロジェクトには、一貫した開発環境を構築するための Nix flake が含まれています。
# Enter development shell
nix develop
# Or with direnv
direnv allow
Just コマンドの使用
開発コマンドを手軽に実行するには、Just をインストールしてください。
just build # Build the project
just run # Run the server
just test # Run tests
just lint # Format and lint code
just coverage # Generate coverage report
テストの実行
要件:
- Go 1.23+ と
GOEXPERIMENT=synctest(時間に依存するテストに必要)
# Run all tests
just test
# With coverage
just coverage
# With race detector
just test-race
# Direct go command (if you prefer)
CGO_ENABLED=0 GOEXPERIMENT=synctest go test -v ./...
Synctest の統合
このプロジェクトでは、時間に依存するテスト(セッションの有効期限、クロックスキューの許容など)に Go の synctest パッケージが必要です。すべての時間関連テストでは synctest.Run() を使用し、次のメリットがあります。
- 高速な実行:時間に依存するテストを、数分ではなく数ミリ秒で完了できます
- 決定論的なタイミング:タイミングに基づく不安定なテスト失敗が発生しません
- 時間の制御:実際に待機することなく、テスト内で時間を進められます
justfile では、すべてのテストコマンドに GOEXPERIMENT=synctest が自動的に含まれます。
設定オプション
| 環境変数 | デフォルト値 | 説明 |
|---|---|---|
KITE_API_KEY | 必須 | Kite Connect API キー |
KITE_API_SECRET | 必須 | Kite Connect API シークレット |
APP_MODE | http | サーバーモード:stdio、http、sse、または hybrid |
APP_PORT | 8080 | サーバーのポート(HTTP/SSE/hybrid モード) |
APP_HOST | localhost | サーバーのホスト/バインドアドレス(HTTP/SSE/hybrid モード) |
PUBLIC_BASE_URL | derived | ブラウザー向けの認証リンクで使用する公開ベース URL |
EXCLUDED_TOOLS | (empty) | 登録対象から除外するツール名をカンマ区切りで指定したリスト |
注: 本番環境では、/sse と /mcp の両方のエンドポイントに対応する hybrid モードを使用しており、クライアントのニーズに応じて HTTP と SSE の両プロトコルを利用できます。
ツールの除外
EXCLUDED_TOOLS 環境変数にツール名をカンマ区切りで指定すると、特定のツールを除外できます。これは、読み取り専用のインスタンスを作成する場合に便利です。
例:
EXCLUDED_TOOLS=place_order,modify_order,cancel_order
ホスト版の mcp.kite.trade では、セキュリティ上の理由から、破壊的な操作につながる可能性のある取引機能を除外しています。それ以外の操作を利用するには、ご自身の API キーを生成し、サーバーをローカルで実行してください。
コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- 新しい機能のテストを追加します
just lintとjust testを実行します- プルリクエストを送信します
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
サポート
バグの報告や一般的な提案には、GitHub Discussions をご利用ください。
Kite Connect API のドキュメントについては、こちらをご覧ください:https://kite.trade/docs/connect/
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。