Zerodha Kite Connect MCP Server について
Zerodha Kite Connectの取引・ポートフォリオ機能にアクセスするCloudflare Worker製のMCPサーバーです。Zerodhaアカウントの利用者向けに、認証、保有資産、ポジション、GTT注文、過去の市場データをMCPクライアントへ提供します。
主な機能
- 01Zerodhaの認証とセッション管理
- 02保有資産とポジションの取得
- 03GTT注文の取得
- 04過去のローソク足データの取得
- 05Cloudflare KVでのトークン保存
活用シーン
- 01Zerodhaの保有資産とポジションを確認
- 02MCPクライアントからGTT注文を取得
- 03銘柄の過去データを取得
MCP 対応
Claude DesktopなどのMCPクライアントに、Zerodha Kite Connectの認証、ポートフォリオ、注文、過去データのメソッドをMCP互換の応答で公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Zerodha Kite Connect MCP サーバー
これは、Zerodha Kite Connect API と連携するための MCP(Model Context Protocol)サーバーとして機能する Cloudflare Worker です。Zerodha を通じた取引とポートフォリオ管理のための包括的なインターフェースを提供します。
機能
- Zerodha の認証とセッション管理
- ポートフォリオ管理(保有銘柄、ポジション)
- GTT(Good Till Triggered)注文
- 過去のデータの取得
- Claude Desktop などの MCP クライアントとシームレスに統合できる、MCP 互換のレスポンス
セットアップ
前提条件
- Zerodha Kite Connect API の認証情報(API Key と Secret)
- Cloudflare アカウント
デプロイ
-
このリポジトリをクローンします
-
依存関係をインストールします:
npm install -
設定ファイルを作成します:
cp wrangler.jsonc.example wrangler.jsonc -
wrangler.jsoncファイルで Zerodha API の認証情報を設定します:ZERODHA_API_KEYとZERODHA_API_SECRETの値を更新します- 注:機密情報のコミットを防ぐため、このファイルは gitignore に登録されています
-
Cloudflare で KV 名前空間を作成します:
wrangler kv:namespace create ZERODHA_KV -
KV 名前空間 ID で
wrangler.jsoncファイルを更新します -
crypto モジュールを使用できるように Node.js 互換性を追加します:
{ "compatibility_date": "2023-05-18", "compatibility_flags": ["nodejs_compat"], ... } -
Worker をデプロイします:
npx wrangler deploy
利用可能なメソッド
認証
getLoginUrl()- 設定済みの API key を使用して Zerodha のログイン URL を生成しますhandleRedirect(requestToken)- ログイン成功後にリクエストトークンを処理しますrdhandle(requestToken)- 認証リダイレクトを処理するための代替エンドポイントです
ポートフォリオ管理
getHoldings()- Zerodha の株式保有銘柄の一覧を取得しますgetPositions()- 当日およびネットポジションを取得します
注文
getGTTOrders()- Good Till Triggered 注文を取得します
市場データ
getHistoricalData(instrumentToken, interval, from, to, continuous, oi)- 指定した銘柄の過去のローソク足データを取得します
使用方法
Claude Desktop またはその他の MCP クライアントで使用する
デプロイ後、Claude Desktop に Worker を MCP サーバーとして追加できます:
- Settings > MCP Servers に移動します
- Worker の URL(例:
https://zerodha-mcp.your-subdomain.workers.dev)を指定して、新しいサーバーを追加します - Claude が利用可能なメソッドを自動的に検出します
JavaScript で使用する
// Example of using the MCP worker in JavaScript
const loginUrl = await zerodhaWorker.getLoginUrl();
console.log('Please login at:', loginUrl);
// Authentication flow
window.location.href = loginUrl;
// After redirect back with request_token in URL...
const urlParams = new URLSearchParams(window.location.search);
const requestToken = urlParams.get('request_token');
// Get holdings after authentication
const holdingsResponse = await zerodhaWorker.getHoldings();
const holdings = JSON.parse(holdingsResponse.content[0].text);
console.log('Your holdings:', holdings);
// Get historical data
const historicalData = await zerodhaWorker.getHistoricalData(
'5633', // instrument_token (NSE:INFY)
'minute', // interval
'2023-01-01 09:15:00', // from
'2023-01-01 09:30:00', // to
false, // continuous
false // oi
);
console.log('Historical data:', JSON.parse(historicalData.content[0].text));
機能の拡張
Zerodha API の機能を追加するには:
src/index.jsのZerodhaWorkerクラスに新しいメソッドを追加します- Kite Connect API を使用して、必要な Zerodha API 呼び出しを実装します
- MCP 仕様に従ってレスポンスをフォーマットします(content 配列形式を使用)
- 新しいメソッドを記載するため、docs.json ファイルを更新します
- 更新した Worker をデプロイします
レスポンス形式
すべてのメソッドは、MCP 互換形式のレスポンスを返します:
{
"content": [
{
"type": "text",
"text": "{ ... data as JSON string ... }"
}
]
}
認証フロー
- ユーザーが
getLoginUrl()で生成されたログイン URL にアクセスします - ログインに成功すると、Zerodha はリクエストトークンを付けてコールバック URL にリダイレクトします
/callbackまたは/rdhandleエンドポイントがリクエストトークンを処理します- アクセストークンが取得され、KV 名前空間に保存されます
- 以降の API 呼び出しでは、保存済みのアクセストークンが使用されます
セキュリティ
- API キーとシークレットは Cloudflare の環境変数に安全に保存されます
- アクセストークンは Cloudflare KV 名前空間に保存されます
- 認証情報を含む wrangler.jsonc ファイルは、誤って公開されるのを防ぐため gitignore に登録されています
- 攻撃対象領域を最小限に抑えるため、必要なエンドポイントのみを公開しています
開発
Worker をローカルで実行するには:
npx wrangler dev
Worker をテストするには:
npx wrangler dev --test
API ドキュメント
Zerodha Kite Connect API の詳細については、公式ドキュメントを参照してください:
- Kite Connect API ドキュメント
- Kite Connect API - 認証
- Kite Connect API - ポートフォリオ
- Kite Connect API - GTT 注文
- Kite Connect API - 過去のデータ
MCP ドキュメント
Model Context Protocol(MCP)の詳細については、以下を参照してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。