mcpField
Z
Zerodha Kite Connect MCP Server

Zerodha Kite Connect MCP Server

ローカル
github.com/manucr619クラウド・インフラ080 週間前に更新

Zerodha Kite Connect MCP Server について

Zerodha Kite Connectの取引・ポートフォリオ機能にアクセスするCloudflare Worker製のMCPサーバーです。Zerodhaアカウントの利用者向けに、認証、保有資産、ポジション、GTT注文、過去の市場データをMCPクライアントへ提供します。

主な機能

  1. 01Zerodhaの認証とセッション管理
  2. 02保有資産とポジションの取得
  3. 03GTT注文の取得
  4. 04過去のローソク足データの取得
  5. 05Cloudflare KVでのトークン保存

活用シーン

  1. 01Zerodhaの保有資産とポジションを確認
  2. 02MCPクライアントからGTT注文を取得
  3. 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 アカウント
デプロイ
  1. このリポジトリをクローンします

  2. 依存関係をインストールします:

    npm install
    
  3. 設定ファイルを作成します:

    cp wrangler.jsonc.example wrangler.jsonc
    
  4. wrangler.jsonc ファイルで Zerodha API の認証情報を設定します:

    • ZERODHA_API_KEY と ZERODHA_API_SECRET の値を更新します
    • 注:機密情報のコミットを防ぐため、このファイルは gitignore に登録されています
  5. Cloudflare で KV 名前空間を作成します:

    wrangler kv:namespace create ZERODHA_KV
    
  6. KV 名前空間 ID で wrangler.jsonc ファイルを更新します

  7. crypto モジュールを使用できるように Node.js 互換性を追加します:

    {
      "compatibility_date": "2023-05-18",
      "compatibility_flags": ["nodejs_compat"],
      ...
    }
    
  8. 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 サーバーとして追加できます:

  1. Settings > MCP Servers に移動します
  2. Worker の URL(例:https://zerodha-mcp.your-subdomain.workers.dev)を指定して、新しいサーバーを追加します
  3. 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 の機能を追加するには:

  1. src/index.js の ZerodhaWorker クラスに新しいメソッドを追加します
  2. Kite Connect API を使用して、必要な Zerodha API 呼び出しを実装します
  3. MCP 仕様に従ってレスポンスをフォーマットします(content 配列形式を使用)
  4. 新しいメソッドを記載するため、docs.json ファイルを更新します
  5. 更新した Worker をデプロイします

レスポンス形式

すべてのメソッドは、MCP 互換形式のレスポンスを返します:

{
  "content": [
    {
      "type": "text",
      "text": "{ ... data as JSON string ... }"
    }
  ]
}

認証フロー

  1. ユーザーが getLoginUrl() で生成されたログイン URL にアクセスします
  2. ログインに成功すると、Zerodha はリクエストトークンを付けてコールバック URL にリダイレクトします
  3. /callback または /rdhandle エンドポイントがリクエストトークンを処理します
  4. アクセストークンが取得され、KV 名前空間に保存されます
  5. 以降の API 呼び出しでは、保存済みのアクセストークンが使用されます

セキュリティ

  • API キーとシークレットは Cloudflare の環境変数に安全に保存されます
  • アクセストークンは Cloudflare KV 名前空間に保存されます
  • 認証情報を含む wrangler.jsonc ファイルは、誤って公開されるのを防ぐため gitignore に登録されています
  • 攻撃対象領域を最小限に抑えるため、必要なエンドポイントのみを公開しています

開発

Worker をローカルで実行するには:

npx wrangler dev

Worker をテストするには:

npx wrangler dev --test

API ドキュメント

Zerodha Kite Connect API の詳細については、公式ドキュメントを参照してください:

MCP ドキュメント

Model Context Protocol(MCP)の詳細については、以下を参照してください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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