Kite Spring MCP Server について
Kite Spring MCP Serverは、Spring Bootで構築され、AIエージェントをZerodhaのKite取引APIに接続するサーバーです。概念実証として、2つのMCPツールでOAuthログインとポートフォリオ保有銘柄の取得に対応します。
主な機能
- 01Zerodha KiteのOAuth認証
- 02ユーザーセッション管理
- 03ポートフォリオ保有銘柄の取得
活用シーン
- 01Zerodha Kiteでユーザーを認証
- 02AIエージェントから保有銘柄を確認
MCP 対応
`login`と`get_holdings`をMCPツールとして公開します。Server-Sent Events(SSE)でMCPクライアントと通信します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Kite Spring MCP Server
Spring Boot で構築された、Zerodha の Kite API を実装する Java 製の Model Context Protocol(MCP)サーバーです。公式の Kite MCP server プロジェクトに着想を得ています。
概要
このプロジェクトは、Zerodha の Kite 取引プラットフォームとやり取りするためのツールを提供する、Spring ベースの Model Context Protocol(MCP)サーバーを実装しています。MCP は、AI エージェントが標準化された方法で外部のツールやサービスとやり取りできるようにするプロトコルで、言語生成を超えてその能力を拡張します。
このサーバーは、AI エージェントと Kite 取引プラットフォームの間の通信を仲介し、定義されたツールを通じて、エージェントがユーザーを認証し、取引情報にアクセスできるようにします。
機能
- Zerodha Kite との OAuth ベースの認証
- ユーザーコンテキストを維持するためのセッション管理
- Kite API とやり取りするための MCP ツール
実装済みのツール
この概念実証の実装では、以下のツールを提供します。
login- OAuth を介して Zerodha Kite で認証し、ユーザーにログイン URL を提供します。get_holdings- 認証後にユーザーのポートフォリオ保有銘柄を取得します。
技術スタック
- Spring Boot(v3.2.0):メインアプリケーションフレームワーク
- Spring AI MCP WebMVC:Model Context Protocol サーバー機能を実装します(https://docs.spring.io/spring-ai/reference/api/mcp/mcp-server-boot-starter-docs.html)
- Zerodha Kite Connect SDK(v3.5.0):Zerodha の取引 API にアクセスするための Java クライアント(https://github.com/zerodha/javakiteconnect)
- Java 21:対象の JDK バージョン
サーバーの実行
前提条件
- Java 21 以降
- Maven
- Zerodha Kite API の認証情報
環境変数
以下の環境変数を設定する必要があります。
KITE_API_KEY=your_kite_api_key
KITE_API_SECRET=your_kite_api_secret
ビルドと実行
mvn clean package
java -jar target/kite-spring-mcp-1.0-SNAPSHOT.jar
サーバーはデフォルトでポート 8080 で起動します。
AI エージェントでの設定
このプロジェクトは、MCP プロトコルを実装する AI エージェントとの通信に Server-Sent Events(SSE)をサポートしています。
VS Code での使用
この MCP サーバーを VS Code で使用するには、以下の設定を追加します。
グローバル settings.json
"mcp": {
"servers": {
"kite_java": {
"type": "sse",
"url": "http://localhost:8080/mcp/sse"
}
}
},
ワークスペースの mcp.json
または、ワークスペースレベルで設定を追加できます。
"servers": {
"kite_java": {
"type": "sse",
"url": "http://localhost:8080/mcp/sse"
}
}
サーバーの拡張
この実装は、以下の手順で追加の Kite API ツールを簡単に拡張できるように設計されています。
io.github.kartikhub.toolパッケージに新しいツールクラスを作成します@Toolアノテーションを使って、メソッドを MCP ツールとして公開しますToolConfigクラスに登録します
ライセンス
このプロジェクトは MIT License の下で公開されています。詳細については、LICENSE ファイルをご覧ください。
この実装は、Zerodha Tech による公式の Kite MCP server に着想を得ており、こちらも MIT License の下で公開されています。帰属表示に関する情報は THIRD_PARTY_LICENSES ファイルに記載されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。