Kite交易集成服务器

一个用于与Zerodha Kite API集成的模型上下文协议(MCP)服务器,提供投资组合管理、市场数据获取、订单管理和账户信息查询等功能。

  • by linkwithjoydeep
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 codeglyph/kite-mcp

使用说明

Kite MCP服务器

用于与Zerodha Kite API集成的模型上下文协议(MCP)服务器。此服务器为Claude提供了与您的Kite交易账户交互的工具。

特性

  • 投资组合管理:获取头寸、持有量和订单
  • 市场数据:实时报价、LTP和仪器数据
  • 订单管理:下单、修改和取消订单
  • 账户信息:配置文件、边距和身份验证状态
  • 安全认证:具有令牌持久性的OAuth 2.0流

先决条件

  1. Zerodha风筝连接应用程序:在以下位置创建应用程序 风筝连接
  2. API证书:获取API密钥和机密
  3. 包子:Bun运行时的最新版本

安装

  1. 克隆和安装依赖关系:
bun install
  1. 设置环境变量:
# Edit .env with your API credentials
  1. 使用重定向URL配置您的Kite Connect应用程序:
http://localhost:50000/zerodha/auth/redirect

快速开始

1.使用Kite API进行身份验证

bun run auth

这将:

  • 启动本地OAuth服务器
  • 打开浏览器登录Kite
  • 安全保存您的访问令牌

2.启动MCP服务器

bun start

3.配置克劳德桌面

添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "kite": {
      "command": "bun",
      "args": ["run", "/path/to/kite-mcp/src/index.ts"]
    }
  }
}

可用工具

投资组合工具

  • get_profile -获取用户配置文件信息
  • get_positions -获取当前交易头寸
  • get_holdings -获得长期持有
  • get_margins -获取账户利润和资金

订购工具

  • get_orders -获取今天的订单
  • place_order -下达新的交易订单
  • cancel_order -取消现有订单

市场数据工具

  • get_ltp -获取工具的最后交易价格
  • get_quote -获取详细的市场报价
  • get_instruments -获取可交易工具列表

实用工具

  • get_auth_status -检查身份验证状态

项目结构

src/
├── config/
│   └── environment.ts          # Configuration management
├── auth/
│   ├── token-manager.ts        # Token storage and validation
│   └── oauth-server.ts         # OAuth flow handling
├── api/
│   └── kite-client.ts          # Kite API wrapper
├── mcp/
│   ├── server.ts               # MCP server implementation
│   └── tools/
│       └── index.ts            # MCP tools definitions
├── auth.ts                     # Authentication entry point
└── index.ts                    # MCP server entry point

发展

构建(可选)

bun run build

发展模式

bun run dev          # Watch mode for MCP server
bun run dev:auth     # Watch mode for auth server

建筑

该项目遵循单一责任原则:

  • 配置管理器:环境和配置处理
  • 令牌管理器:令牌持久性和验证
  • OAuthServer:OAuth 2.0身份验证流程
  • KiteClient:带错误处理的Kite API包装
  • KiteMCPServer:MCP协议实施
  • 工具:单个MCP工具实现

环境变量

API_KEY=your_kite_api_key        # Required: Kite Connect API Key
API_SECRET=your_kite_api_secret  # Required: Kite Connect API Secret
OAUTH_PORT=50000                 # Optional: OAuth server port (default: 50000)

安全

  • 令牌存储在本地 access_token.json
  • OAuth流使用安全重定向处理
  • API凭据从未被记录或公开
  • 令牌自动过期以确保安全

故障排除

身份验证问题

  1. 在中验证API凭据 .env
  2. 在Kite Connect应用程序设置中检查重定向URL
  3. 确保OAuth端口(50000)可用

令牌到期

  • 风筝代币每约6小时过期一次
  • 重新运行 bun run auth 过期时
  • 服务器将通知您身份验证状态

MCP连接问题

  1. 验证克劳德桌面配置
  2. 检查服务器是否正在运行: bun start
  3. 在Claude Desktop日志中查找错误

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 遵循现有的代码结构和模式
  4. 添加适当的错误处理
  5. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件

免责声明

这是与Zerodha Kite API的非官方集成。使用风险自负。执行前始终验证交易和订单。