关于 Zerodha Kite Connect MCP Server
这是一个用于访问 Zerodha Kite Connect 交易和投资组合功能的 Cloudflare Worker MCP 服务,面向 Zerodha 账户用户,向 MCP 客户端提供身份验证、持仓、仓位、GTT 订单和历史市场数据。
主要功能
- 01Zerodha 身份验证与会话管理
- 02获取持仓和仓位
- 03获取 GTT 订单
- 04获取历史 K 线数据
- 05使用 Cloudflare KV 存储令牌
适用场景
- 01查看 Zerodha 持仓和仓位
- 02通过 MCP 客户端获取 GTT 订单
- 03查询指定证券的历史数据
MCP 相关
向 Claude Desktop 等 MCP 客户端提供 Zerodha Kite Connect 身份验证、投资组合、订单和历史数据方法,并返回兼容 MCP 的响应。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Zerodha Kite Connect MCP 服务
这是一个 Cloudflare Worker,作为 MCP(Model Context Protocol)服务运行,用于与 Zerodha Kite Connect API 交互。它提供了全面的接口,可通过 Zerodha 进行交易和投资组合管理。
功能
- Zerodha 身份验证和会话管理
- 投资组合管理(持仓、仓位)
- GTT(触发前有效)订单
- 历史数据检索
- 与 MCP 兼容的响应,可与 Claude Desktop 和其他 MCP 客户端无缝集成
设置
先决条件
- Zerodha Kite Connect API 凭据(API Key 和 Secret)
- Cloudflare 账户
部署
-
克隆此仓库
-
安装依赖项:
npm install -
创建配置文件:
cp wrangler.jsonc.example wrangler.jsonc -
在
wrangler.jsonc文件中配置 Zerodha API 凭据:- 更新
ZERODHA_API_KEY和ZERODHA_API_SECRET的值 - 注意:此文件已添加到 gitignore,以防止提交敏感信息
- 更新
-
在 Cloudflare 中创建 KV 命名空间:
wrangler kv:namespace create ZERODHA_KV -
在
wrangler.jsonc文件中更新 KV 命名空间 ID -
为 crypto 模块添加 Node.js 兼容性:
{ "compatibility_date": "2023-05-18", "compatibility_flags": ["nodejs_compat"], ... } -
部署 Worker:
npx wrangler deploy
可用方法
身份验证
getLoginUrl()- 使用已配置的 API Key 生成 Zerodha 登录 URLhandleRedirect(requestToken)- 登录成功后处理请求令牌rdhandle(requestToken)- 用于处理身份验证重定向的替代端点
投资组合管理
getHoldings()- 获取 Zerodha 的股票持仓列表getPositions()- 获取当日和净仓位
订单
getGTTOrders()- 获取触发前有效订单
市场数据
getHistoricalData(instrumentToken, interval, from, to, continuous, oi)- 获取指定交易品种的历史蜡烛图数据
使用方法
配合 Claude Desktop 或其他 MCP 客户端使用
部署后,你可以在 Claude Desktop 中将 Worker 添加为 MCP 服务:
- 前往 Settings > MCP Servers
- 使用你的 Worker URL 添加新服务(例如:
https://zerodha-mcp.your-subdomain.workers.dev) - Claude 会自动发现可用方法
使用 JavaScript
// Example of using the MCP worker in JavaScript
const loginUrl = await zerodhaWorker.getLoginUrl();
console.log('Please login at:', loginUrl);
// Authentication flow
window.location.href = loginUrl;
// After redirect back with request_token in URL...
const urlParams = new URLSearchParams(window.location.search);
const requestToken = urlParams.get('request_token');
// Get holdings after authentication
const holdingsResponse = await zerodhaWorker.getHoldings();
const holdings = JSON.parse(holdingsResponse.content[0].text);
console.log('Your holdings:', holdings);
// Get historical data
const historicalData = await zerodhaWorker.getHistoricalData(
'5633', // instrument_token (NSE:INFY)
'minute', // interval
'2023-01-01 09:15:00', // from
'2023-01-01 09:30:00', // to
false, // continuous
false // oi
);
console.log('Historical data:', JSON.parse(historicalData.content[0].text));
扩展功能
要添加更多 Zerodha API 功能:
- 在
src/index.js中向ZerodhaWorker类添加新方法 - 使用 Kite Connect API 实现所需的 Zerodha API 调用
- 按照 MCP 规范格式化响应(使用 content 数组格式)
- 更新 docs.json 文件,记录新方法
- 部署更新后的 Worker
响应格式
所有方法均以兼容 MCP 的格式返回响应:
{
"content": [
{
"type": "text",
"text": "{ ... data as JSON string ... }"
}
]
}
身份验证流程
- 用户访问由
getLoginUrl()生成的登录 URL - 登录成功后,Zerodha 会将用户重定向至回调 URL,并附带请求令牌
/callback或/rdhandle端点处理请求令牌- 获取访问令牌并将其存储在 KV 命名空间中
- 后续 API 调用会使用已存储的访问令牌
安全性
- API Key 和 Secret 安全地存储在 Cloudflare 环境变量中
- 访问令牌存储在 Cloudflare KV 命名空间中
- 包含凭据的 wrangler.jsonc 文件已添加到 gitignore,以防意外泄露
- 仅开放必要的端点,尽可能缩小攻击面
开发
要在本地运行 Worker:
npx wrangler dev
要测试 Worker:
npx wrangler dev --test
API 文档
有关 Zerodha Kite Connect API 的更多信息,请参阅官方文档:
- Kite Connect API 文档
- Kite Connect API - 身份验证
- Kite Connect API - 投资组合
- Kite Connect API - GTT 订单
- Kite Connect API - 历史数据
MCP 文档
如需了解有关 Model Context Protocol(MCP)的更多信息,请参阅:
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。