Kite交易平台MCP服务器

一个基于Spring Boot的Java实现,作为Zerodha Kite API的模型上下文协议(MCP)服务器,提供OAuth认证、会话管理和交易信息访问工具,用于AI代理与Kite交易平台之间的通信桥梁。

  • by Kartikhub
  • Java
  • 混合部署
  • 更新于
在 GitHub 查看 kartikhub/zerodha-spring-mcp

使用说明

Kite Spring MCP服务器

Zerodha的Kite API的Java实现,作为使用Spring Boot构建的模型上下文协议(MCP)服务器。受官方启发 Kite MCP服务器 项目。

概述

该项目实现了一个基于Spring的模型上下文协议(MCP)服务器,该服务器提供了与Zerodha的风筝交易平台交互的工具。MCP是一种协议,它使AI代理能够以标准化的方式与外部工具和服务进行交互,将其功能扩展到语言生成之外。

该服务器在AI代理和Kite交易平台之间提供了一个通信桥梁,允许代理通过定义的工具对用户进行身份验证并访问他们的交易信息。

特性

  • 基于OAuth的Zerodha Kite身份验证
  • 用于维护用户上下文的会话管理
  • 用于与Kite API交互的MCP工具

已实施的工具

这种概念验证实现提供了以下工具:

  1. login -通过OAuth与Zerodha Kite进行身份验证,为用户提供登录URL。
  2. get_holdings -身份验证后检索用户的投资组合持有量。

技术栈

  • Spring Boot (v3.2.0):主要应用框架
  • Spring AI MCP WebVC:实现模型上下文协议服务器功能(https://docs.spring.io/spring-ai/reference/api/mcp/mcp-server-boot-starter-docs.html)
  • Zerodha风筝连接SDK (v3.5.0):用于访问Zerodha交易API的Java客户端(https://github.com/zerodha/javakiteconnect)
  • Java 21:目标JDK版本

运行服务器

先决条件

  • Java 21或更高版本
  • 梅文
  • 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代理进行配置

此项目支持服务器发送事件(SSE),用于与实现MCP协议的AI代理进行通信。

与VS代码一起使用

要将此MCP服务器与VS代码一起使用,请添加以下配置:

全局设置.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工具:

  1. 在中创建新的工具类 io.github.kartikhub.tool 包裹
  2. 使用 @Tool 将方法作为MCP工具公开的注释
  3. 在 ToolConfig 类

许可证

该项目在MIT许可证下发布。请参阅 许可证 文件以获取详细信息。

这一实施受到了官方的启发 Kite MCP服务器 由Zerodha Tech提供,也可在麻省理工学院许可证下使用。归因信息包含在 第三方许可证 文件。