交易自动化服务器

一个与Zerodha Kite API集成的TypeScript MCP服务器,支持程序化交易、市场数据访问和智能自动化。

  • by Ujjval009
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Ujjval009/Zerodha-Trade-MCP-Server

使用说明

Zerodha交易MCP服务器

用.NET编写的模型上下文协议(MCP)服务器 TypeScript 与Zerodha(Kite API)集成,使用Claude(或任何其他兼容MCP的LLM)实现程序化交易、数据访问和智能自动化。


📌 概述

该项目实现了一个兼容MCP的服务器,充当以下之间的桥梁:

  • Zerodha Kite API(交易+市场数据)
  • Claude/AI代理
  • 外部工具或自动化工作流程

它允许Claude使用简单的对话直接从您的Zerodha帐户中自然地进行交易和获取市场数据。


🏗️ 项目结构

Zerodha-Trade-MCP-Server/
│
├── index.ts             # Entry point for MCP server
├── trade.ts             # Trading logic, AMO fallback, and Kite API wrappers
├── get_token.ts         # Utility script to generate a new Access Token
├── package.json         # Node.js dependencies
├── tsconfig.json        # TypeScript configuration
├── .env                 # API keys and Tokens (not committed)
└── README.md

注: 这是一个 Types/Node.js 项目,而不是Python项目。你不需要 requirements.txt 或一个 venv。所有依赖关系都通过以下方式管理 package.json.


🛠️ 安装和设置

1.克隆存储库

git clone https://github.com/Ujjval009/Zerodha-Trade-MCP-Server.git
cd Zerodha-Trade-MCP-Server

2.安装依赖项

这个项目主要使用Node.js。确保你已经安装了Node.js,然后运行标准安装:

npm install

(可选) 如果你将其绑定到Python环境中或需要等效的Python包,你可以安装需求文件中列出的依赖项:

pip install -r requirements.txt

3.设置环境变量

创建一个名为的文件 .env 在根目录中,并添加您的Zerodha API凭据:

KITE_API_KEY=your_api_key
KITE_API_SECRET=your_api_secret
KITE_ACCESS_TOKEN=your_access_token

4.如何生成访问令牌(每日)

Zerodha风筝访问令牌每天到期。要生成一个新的:

  1. 在浏览器中访问此URL: https://kite.zerodha.com/connect/login?v=3&api_key=YOUR_API_KEY
  2. 登录。重定向后,查看浏览器地址栏中的URL。
  3. 复制 request_token URL中的值。
  4. 打开 get_token.ts,粘贴您的 REQUEST_TOKEN 在5号线上。
  5. 立即运行脚本:
    npx tsx get_token.ts
    
  6. 将生成的访问令牌粘贴到您的 .env 归档 KITE_ACCESS_TOKEN.

5.将您的IP地址列入白名单(关键步骤)

Zerodha严格阻止来自未知IP地址的API交易。

  1. 获取计算机的公共IP地址(IPv4和IPv6)。
  2. 去你的 Kite开发人员控制台.
  3. 点击 个人资料 在顶部导航栏中。
  4. 将您的IP地址(最多允许2个,例如您的IPv4和IPv6)添加到 IP白名单 盒子。
  5. 保存配置文件。

⚙️ 连接到克劳德桌面

要允许Claude使用此服务器,请编辑您的Claude Desktop配置文件。 在Linux上,它位于 ~/.config/Claude/claude_desktop_config.json.

将以下内容添加到您的 mcpServers 对象:

"mcpServers": {
  "zerodha-trade": {
    "command": "npx",
    "args": [
      "tsx",
      "/absolute/path/to/Zerodha-Trade-MCP-Server/index.ts"
    ],
    "cwd": "/absolute/path/to/Zerodha-Trade-MCP-Server"
  }
}

重新启动克劳德桌面 完全为了改变(以及任何新的 .env 变量)生效!


🧠 智能交易执行

服务器使用智能执行策略(trade.ts)当您下订单时:

  1. 它首先尝试放置一个 市场 订单。
  2. 如果印度股市(NSE/BSE)关闭(周末或上午9:15至下午3:30以外),订单将失败。
  3. Claude和MCP服务器可以识别出这一点,并提出放置 AMO(售后订单) 改为限价订单!

⚠️ 重要免责声明

  • 这个项目是为了 教育和自动化测试目的.
  • 算法和程序化交易涉及重大的财务风险。
  • 不要 承诺你的 .env 文件到GitHub或公开您的API密钥。
  • 作者不对使用此代码时产生的任何经济损失负责。