股票交易代理

一个基于Bun.js和Zerodha Kite Connect API的智能股票交易代理,支持自动买卖股票、安全认证和访问令牌自动刷新。

  • by thisizmvk
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 mvk24199/zerodha-trade

使用说明

🚀 Zerodha交易代理(MCP x Bun.js)

这是一个智能 股票交易代理 构建使用:

  • Bun.js (快速JavaScript运行时)
  • Zerodha Kite Connect API
  • Claude MCP服务器集成

代理人允许您 地点交易, 汽车买卖股票 基于触发器,以及(未来路线图) 预测股票走势 使用历史数据和实时新闻。


📋 特性

  • 🔥 地方 买 和 卖 通过MCP代理自动下单
  • 🛡️ 验证 安全地使用Kite Connect
  • 🔄 自动刷新访问令牌 定期
  • 🎯 (即将推出) 类似智能GTT的基于观察名单的买卖
  • 🧠 (即将推出) 使用图表和新闻分析进行股票期货预测
  • ⚡ 内置于 Bun.js 用于超高速运行时
  • 🎯 完全兼容 克劳德工具链/MCP代理

📂 项目结构

zerodha-trade/
├── index.ts          # MCP Server setup, defines trading tools
├── trade.ts          # Trading logic: place order, generate session
├── refreshToken.ts   # Refreshes access token using request_token
├── login.ts          # (One time) Generate new access token
├── tokenStore.json   # Stores API key, secret, access token
├── watchlist.json    # (Coming soon) GTT trigger rules
├── README.md         # Project documentation

⚙️ 安装说明

1.安装依赖项

bun install

(确保你已经安装了Bun.js:)

curl -fsSL https://bun.sh/install | bash

2.配置API凭据

更新 tokenStore.json 与:

{
  "apiKey": "YOUR_KITE_API_KEY",
  "apiSecret": "YOUR_KITE_API_SECRET",
  "accessToken": "YOUR_ACCESS_TOKEN"
}

如果你没有 accessToken 但是,运行:

bun login.ts

手动生成一个。


3.运行代理服务器

bun index.ts

✅ 这将:

  • 每24小时自动刷新您的访问令牌
  • 通过MCP服务器向Claude Agent公开交易功能
  • 在上运行服务器 http://localhost:3000

4.本地使用HTTPS(通过ngrok)

由于Kite Connect需要HTTPS URL,您可以使用 ngrok 安全地通过隧道连接您的本地服务器。

brew install ngrok   # Install ngrok (if not already installed)
ngrok http 3000      # Expose port 3000 via HTTPS

运行后,您将获得一个公共HTTPS URL,如下所示 https://abc1234.ngrok.io.使用此URL作为您的 重定向URL 创建Kite Connect应用程序时。


5.创建Kite Connect应用程序(获取API密钥/机密)

  1. 首选 Kite开发人员控制台
  2. 点击 创建新应用程序
  3. 填写:
    • 应用程序名称: (任何有意义的名字)
    • 重定向URL: (粘贴您的 https://xyz.ngrok.io URL)
    • 回邮URL: (相同或另一个ngrok HTTPS URL)
    • 产品: 风筝连接
    • 交换: NSE、BSE等。
  4. 创建后,您将获得 API密钥 和 API秘密
  5. 更新 tokenStore.json 相应地

🚀 MCP服务器配置示例

{
  "mcpServers": {
    "zerodha-trade": {
      "command": "/Users/vamsi/.bun/bin/bun",
      "args": [
        "--directory",
        "/Users/vamsi/Projects/zerodha-trade",
        "index.ts"
      ]
    }
  }
}

🛠️ 未来增强功能(路线图)

  • 🔔 智能GTT触发系统:当价格超过目标时买入/卖出
  • 📈 股票期货预测代理(使用历史价格+实时新闻)
  • 📊 Nifty50等ETF的自动SIP Bot
  • 📬 订单执行成功后的电报/Slack警报
  • 📉 投资组合持股的止损自动化

🤖 工作原理(高级)

  1. MCP代理请求 buyStock(symbol, quantity) 或 sellStock(symbol, quantity)
  2. 代理服务器使用Kite Connect API下订单
  3. 访问令牌每天自动刷新
  4. (即将推出) 后台服务监控价格以自动触发类似GTT的订单
  5. (即将推出) 新闻+图表分析预测股票走势

✨ 鸣谢