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-Server2.安装依赖项
这个项目主要使用Node.js。确保你已经安装了Node.js,然后运行标准安装:
npm install*(可选)* 如果你将其绑定到Python环境中或需要等效的Python包,你可以安装需求文件中列出的依赖项:
pip install -r requirements.txt3.设置环境变量
创建一个名为的文件 .env 在根目录中,并添加您的Zerodha API凭据:
KITE_API_KEY=your_api_key
KITE_API_SECRET=your_api_secret
KITE_ACCESS_TOKEN=your_access_token4.如何生成访问令牌(每日)
Zerodha风筝访问令牌每天到期。要生成一个新的:
- 在浏览器中访问此URL:
https://kite.zerodha.com/connect/login?v=3&api_key=YOUR_API_KEY
- 登录。重定向后,查看浏览器地址栏中的URL。
- 复制
request_tokenURL中的值。 - 打开
get_token.ts,粘贴您的REQUEST_TOKEN在5号线上。 - 立即运行脚本:
npx tsx get_token.ts- 将生成的访问令牌粘贴到您的
.env归档KITE_ACCESS_TOKEN.
5.将您的IP地址列入白名单(关键步骤)
Zerodha严格阻止来自未知IP地址的API交易。
- 获取计算机的公共IP地址(IPv4和IPv6)。
- 去你的 Kite开发人员控制台.
- 点击 个人资料 在顶部导航栏中。
- 将您的IP地址(最多允许2个,例如您的IPv4和IPv6)添加到 IP白名单 盒子。
- 保存配置文件。
______________________________________________________________________
⚙️ 连接到克劳德桌面
要允许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)当您下订单时:
- 它首先尝试放置一个 市场 订单。
- 如果印度股市(NSE/BSE)关闭(周末或上午9:15至下午3:30以外),订单将失败。
- Claude和MCP服务器可以识别出这一点,并提出放置 AMO(售后订单) 改为限价订单!
______________________________________________________________________
⚠️ 重要免责声明
- 这个项目是为了 教育和自动化测试目的.
- 算法和程序化交易涉及重大的财务风险。
- 不要 承诺你的
.env文件到GitHub或公开您的API密钥。 - 作者不对使用此代码时产生的任何经济损失负责。
