关于 MCP Server for Zerodha Kite Connect API
Kite MCP Server 是连接 AI 客户端与 Zerodha Kite Connect 的开源 MCP 服务,支持投资组合、市场数据和交易工作流。它结合分析与回测、模拟交易、提醒、订单控制及交易前风险检查;托管演示版为只读。
主要功能
- 01查看持仓、仓位、保证金和盈亏
- 02获取报价、K 线及技术指标
- 03分析期权并回测策略
- 04创建价格和成交量提醒
- 05通过模拟交易演练下单
- 06通过交易前检查提交和管理订单
适用场景
- 01检查投资组合风险敞口和表现
- 02使用历史市场数据测试策略
- 03在模拟交易模式中练习下单
- 04通过提醒监控价格或成交量条件
MCP 相关
向 MCP 客户端提供 Kite 账户、市场数据、分析、提醒和交易工具。托管实例为只读;在本地运行并启用交易后可下单。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://kite-mcp-server.fly.dev/mcpclaude mcp add --transport http sundeepg98-kite https://kite-mcp-server.fly.dev/mcp{"mcpServers":{"sundeepg98-kite":{"type":"http","url":"https://kite-mcp-server.fly.dev/mcp"}}}在 Cursor 中打开{"servers":{"sundeepg98-kite":{"type":"http","url":"https://kite-mcp-server.fly.dev/mcp"}}}在 VS Code 中打开{"mcpServers":{"sundeepg98-kite":{"type":"http","url":"https://kite-mcp-server.fly.dev/mcp"}}}{"mcpServers":{"sundeepg98-kite":{"serverUrl":"https://kite-mcp-server.fly.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Kite MCP Server
让 Claude 或 ChatGPT 直接访问你的 Zerodha Kite 交易账户,支持下单、模拟交易、期权 Greeks、回测、Telegram 警报和 11 项交易前安全检查。110 多种工具。开源,采用 MIT 许可证。
试用托管演示(只读) · 60 秒内自行托管(完整交易功能) · 与 Zerodha 官方 MCP 对比
claude mcp add --transport http kite https://kite-mcp-server.fly.dev/mcp
然后说:“帮我登录 Kite。显示我的投资组合。对 INFY 回测 SMA 交叉策略。为 RELIANCE 下跌 2% 设置警报。”
可在 Claude Desktop、Claude Code、claude.ai、ChatGPT Connectors、Cursor、VS Code Copilot、Windsurf 中使用,适用于任何兼容 MCP 的环境。可与 Zerodha 官方只读 MCP 互补使用(22 种工具,仅支持 GTT);本服务还提供下单、警报、模拟交易、期权 Greeks 和分析功能。
为什么值得信赖
- 约 9,000 项测试,分布在 493 个测试文件中(部署仓库中有 44 个,32 个外置的
algo2go/kite-mcp-*模块中有 449 个)——在每个模块中运行go test ./... -count=1 - 安全审计:通过 27 项人工分析,归档了 181 个发现——6 个高危问题均已修复;中危/低危/信息类问题正在分类处理(截至 2026-05-16,74 个已修复/107 个待处理)。有关逐项状态表,请参阅 SECURITY_AUDIT_FINDINGS.md;有关原始审计说明,请参阅 SECURITY_AUDIT_REPORT.md;有关渗透测试证据,请参阅 SECURITY_PENTEST_RESULTS.md。
- 所有敏感值均采用 AES-256-GCM 静态加密——包括 Kite 令牌、API 密钥和 OAuth 客户端密钥;密钥通过 HKDF 从
OAUTH_JWT_SECRET派生 - RiskGuard(11 项交易前检查)——单笔订单金额上限(默认 Rs 50,000)、数量限制、每日订单数(20 单/天)、速率限制(10 次/分钟)、每秒速率限制、重复检测(30 秒窗口)、每日累计金额上限(Rs 2,00,000)、幂等去重、必须确认、异常检测 μ+3σ、非交易时段拦截——另有熔断开关、断路器、全局冻结层、OTR 区间和保证金充足性边界检查。最后于 2026-05-16 对照
algo2go/kite-mcp-riskguard/guard.go验证(共 16 个 RejectionReason 常量;每笔交易都会触发其中 11 项检查)。 - 逐次工具调用审计跟踪,保留 90 天——每次 MCP 调用都会记录到 SQLite,并可通过仪表板导出 CSV/JSON
- 每次推送都会运行 CI——执行
go build、go vet、go test -race(参见.github/workflows/ci.yml) - MIT 许可证,开源——可检查所有内容。已在 LICENSE 中保留对 Zerodha Tech 的上游致谢
- 威胁模型:THREAT_MODEL.md。安全策略:SECURITY.md
快速开始
选项 A — 托管演示(只读)
将 MCP 客户端指向:
https://kite-mcp-server.fly.dev/mcp
根据 NSE/INVG/69255 Annexure I Para 2.8,托管实例已禁用下单工具。只读工具(投资组合、市场数据、回测、分析)可正常使用。你仍需自备 Kite 开发者应用(每位用户使用各自的 OAuth)。
选项 B — 本地运行(个人使用,功能完整)
git clone https://github.com/Sundeepg98/kite-mcp-server && cd kite-mcp-server
cp .env.example .env # edit: set OAUTH_JWT_SECRET (required)
docker compose up -d # builds Dockerfile.selfhost and starts it
curl http://localhost:8080/healthz # should return "ok"
将客户端指向 http://localhost:8080/mcp(如果客户端有此要求,请使用 --allow-http)。使用自己的 Kite 账户在本地运行,是个人使用的安全港方式——你仍然是 Zerodha 客户;该软件只是帮助你下单。
Go 用户可以跳过 Docker:go build -o kite-mcp-server && ./kite-mcp-server。
选项 C — 从 MCP 客户端连接
将以下内容添加到客户端配置(~/.claude.json、claude_desktop_config.json、.vscode/mcp.json 等):
{
"mcpServers": {
"kite": {
"command": "npx",
"args": ["mcp-remote", "https://kite-mcp-server.fly.dev/mcp"]
}
}
}
然后说:“帮我登录 Kite”——在浏览器中完成 OAuth 流程——接着提出任何问题:“显示我的投资组合”、“对 INFY 回测 SMA 交叉策略”、“启用模拟交易模式”。
刚接触这个?从模拟交易开始:“启用模拟交易模式”——虚拟投资组合为 Rs 1 crore,不会有真实资金风险。
Windows + Claude Code 注意事项:在 Windows 上,
cmd /c会静默吞掉包含转义引号(\")的 JSON 参数。如果需要向mcp-remote传递静态 OAuth 客户端信息,请将 JSON 写入文件,并通过--static-oauth-client-info @path/to/client-info.json引用,而不要直接内联。标准 Windows 配置中的示例客户端信息文件位于~/.claude/mcp-servers/kite-fly-client.json。
OAuth 发现遵循以下标准:RFC 8414(位于 /.well-known/oauth-authorization-server 的 OAuth 2.0 授权服务器元数据)和 RFC 9728(位于 /.well-known/oauth-protected-resource 的 OAuth 2.0 受保护资源元数据)。mcp-remote 会通过这些端点自动发现——客户端无需手动配置身份验证。
功能
- 投资组合分析 — 持仓、头寸、保证金、盈亏、行业敞口(映射了 150 多只股票)、税损收割、集中度、股息
- 市场数据 — 报价、LTP、OHLC、历史蜡烛图、工具搜索、10 多种技术指标(SMA、EMA、RSI、MACD、布林带)
- 期权 — Black-Scholes 希腊值(delta、gamma、theta、vega、IV)、期权链、8 种多腿策略模板
- 回测 — 4 种内置策略(SMA 交叉、RSI 反转、突破、均值回归),包含夏普比率和最大回撤
- 警报 — 价格高于/低于阈值、百分比下跌/上涨、复合条件、成交量激增、通过 Telegram 发送 + Kite 原生 GTT 警报
- 模拟交易 — Rs 1 crore 虚拟投资组合、模拟订单、后台 LIMIT 成交监控、开关控制
- RiskGuard — 每笔订单送达交易所前运行 11 项交易前检查(紧急停止开关、订单价值上限、数量限制、每日订单数、速率限制、每秒速率限制、重复检测、每日名义金额上限、幂等去重、异常 μ+3σ、非交易时段拦截)——另有断路器 + 全局冻结层
- MCP Apps 小组件 — 在 claude.ai、Claude Desktop 和 ChatGPT 上内嵌投资组合 / 订单 / 警报 / 活动界面
- Telegram 机器人 —
/buy、/sell、/quick、/setalert,支持内联键盘确认;晨间简报(IST 上午 9 点)和每日盈亏(IST 下午 3:35) - 下单 — 下单、修改、取消、GTT、转换头寸、全部平仓(仅本地构建支持;托管部署为只读)
各类别的完整工具分类及数量见 ARCHITECTURE.md。
架构
整洁 / 六边形架构:
AI Client <-> MCP Protocol <-> Tool Handler <-> Use Case <-> CQRS Command/Query <-> Broker Port <-> Kite Adapter <-> Kite Connect API <-> NSE/BSE
Go 1.25 + mcp-go v0.46.0。使用 SQLite 持久化(凭据、警报、会话、审计跟踪均采用 AES-256-GCM 加密),并通过 Litestream 持续复制到 Cloudflare R2。OAuth 2.1 + PKCE,每位用户使用自己的 Kite 开发者应用。中间件链:Timeout -> Audit -> Hooks -> RiskGuard -> Rate Limiter -> Billing -> Paper Trading -> Dashboard URL。部署在 Fly.io(孟买区域),使用静态出口 IP,以满足 SEBI 强制要求的白名单配置。参见 ARCHITECTURE.md。
法律/合规状态
并非 SEBI 注册的中介机构。 这是基础设施软件,不提供投资顾问或经纪服务。
- 每位用户使用自己的 Kite 开发者应用(BYO)——您仍是 Zerodha 的登记客户。 服务端不持有汇集的用户资金,也不会以自身名义执行交易。
- 托管部署
kite-mcp-server.fly.dev为只读;根据 NSE/INVG/69255 Annexure I Para 2.8,下单工具已禁用。要下单,必须在本地运行服务端并连接您自己的账户。- 在个人 Kite 账户上本地运行服务端属于个人使用的安全港路径——类似于运行自己的算法脚本。请参阅 OpenAlgo 对印度算法交易供应商合规环境的解读。
- 已公布静态出口 IP(
209.71.68.157,孟买),供用户根据 SEBI 2026 年 4 月的规定,在 Kite 开发者控制台中将其加入白名单。- TERMS.md 和 PRIVACY.md 均为草案,正在接受独立法律审查。请勿将其视为最终法律协议。
- 交易涉及风险。本软件不构成财务建议。与 Zerodha 无关联。
环境变量
多用户 HTTP 部署唯一必需的变量是 OAUTH_JWT_SECRET。其他变量均为可选,设置后会启用相应功能。完整列表:
| 变量 | 必需 | 默认值 | 用途 |
|---|---|---|---|
OAUTH_JWT_SECRET | 是(HTTP) | — | 为 OAuth 会话签署 JWT 令牌;同时用作 AES-256-GCM 加密密钥的种子 |
KITE_API_KEY | 否 | — | 全局 Kite 应用 API 密钥(未设置时使用各用户的 OAuth) |
KITE_API_SECRET | 否 | — | 全局 Kite 应用 API 密钥密文 |
KITE_ACCESS_TOKEN | 否 | — | 预先验证的 Kite 令牌(绕过浏览器登录,仅用于本地开发) |
ENABLE_TRADING | 否 | false | 启用下单工具(托管部署中已禁用) |
EXTERNAL_URL | 否 | http://localhost:8080 | OAuth 回调的公开 URL |
APP_MODE | 否 | http | http、sse 或 stdio |
APP_PORT | 否 | 8080 | HTTP 监听端口 |
ALERT_DB_PATH | 否 | alerts.db | SQLite 数据库路径 |
TELEGRAM_BOT_TOKEN | 否 | — | 用于发送提醒和每日简报的 Telegram 机器人 |
ADMIN_EMAILS | 否 | — | 以逗号分隔的管理员邮箱列表 |
GOOGLE_CLIENT_ID / _SECRET | 否 | — | 用于控制面板的 Google SSO |
STRIPE_* | 否 | — | 计费层级限制 |
LITESTREAM_* | 否 | — | R2/S3 SQLite 复制 |
EXCLUDED_TOOLS | 否 | — | 以逗号分隔的要禁用的工具名称 |
LOG_LEVEL | 否 | info | debug、info、warn、error |
客户端设置
任何兼容 MCP 的客户端都可以使用上文相同的 mcp-remote 桥接程序。各客户端的配置文件位置:
- Claude Code —
~/.claude.json(mcpServers键) - Claude Desktop —
%APPDATA%\Claude\claude_desktop_config.json(Windows)或~/.config/Claude/claude_desktop_config.json(macOS/Linux) - ChatGPT Desktop — 设置 -> 工具与集成 -> MCP 服务 -> 添加 URL
- VS Code / Cursor / Windsurf —
.vscode/mcp.json或等效文件
文档
面向用户
- 快速开始 — 本地运行或连接托管服务
- 服务条款 与 隐私政策(目前为草案,正在接受法律审查)
- 自带 Anthropic API 密钥 — 绕过 Claude.ai Pro 的工具调用次数限制
- 卸载 + DPDP 数据删除 — 断开连接或彻底清除已存储的数据
面向开发者
运维
合规 / 法律
- NSE 算法框架状态 — 路径 1-4 对比
- Kite v4 迁移风险对冲 — 依赖风险缓解
- SBOM 生成 — 软件物料清单,用于供应链透明度
- SECURITY.md
资金 / 生态系统
- FLOSS/fund 申请 — Zerodha 开源资助申请
- funding.json — 机器可读的资助清单
Claude Skills 封装
- 8 个 Skills — /kite:morning、/kite:trade、/kite:eod 等
研究 / 战略
仪表板
通过 MCP OAuth 登录后,仪表板 Cookie 会自动设置(无需再次登录)。
| 页面 | 路径 | 描述 |
|---|---|---|
| 投资组合 | /dashboard | 持仓、头寸、盈亏图表、订单归因 |
| 活动 | /dashboard/activity | 带筛选条件的 AI 工具调用审计轨迹,支持导出 CSV/JSON |
| 订单 | /dashboard/orders | 带 AI 归因的订单历史记录 |
| 警报 | /dashboard/alerts | 活跃价格警报及增强的市场数据 |
| 安全 | /dashboard/safety | RiskGuard 状态、冻结控制、限额配置 |
| 模拟交易 | /dashboard/paper | 模拟投资组合、模拟订单、头寸 |
| 管理运维 | /admin/ops | 所有用户、会话、日志、指标(仅限管理员) |
对比
| 功能 | 本服务 | Kite 官方 MCP | Streak |
|---|---|---|---|
| 工具 | 111 | 22 | 不适用 |
| 下单 | 是(本地) | 仅 GTT | 是 |
| 模拟交易 | 是 | 否 | 否 |
| 安全检查 | 11 | 0 | 0 |
| 回测 | 4 种策略 | 否 | 是 |
| 期权希腊值 | 是 | 否 | 否 |
| Telegram 警报 | 是 | 否 | 否 |
| 可自托管 | 是 | 否 | 不适用 |
| 费用 | Kite Connect 应用(Rs 500/月) | 免费 | 免费 + 付费 |
只读且无需设置的场景适合使用官方服务。本服务面向需要下单、安全防护和分析功能的交易者。
前置条件
- 一个 Kite Connect 开发者应用(Zerodha 收费 Rs 500/月)
- 用于运行
mcp-remote的npx(Node.js 18+)——或 Go 1.25+,以从源码自托管
注册表
提交至官方 MCP 注册表的申请尚在等待处理——io.github.Sundeepg98/kite-mcp-server 命名空间已通过 server.json 预留,最终发布前验证完成后即可发布。Smithery 和 Glama 会在注册表发布后自动编入索引。
贡献 / 资助
-
问题 / PR — github.com/Sundeepg98/kite-mcp-server/issues。请参阅 CONTRIBUTING.md。
-
基于 — zerodha/kite-mcp-server(MIT)。衷心感谢 Kailash Nadh 和 Zerodha 团队将基础项目开源。
-
开发 —
nix develop # or: install Go 1.25+ just build # compile just test # run the full test suite just lint # format + vet + golangci-lint
许可证
MIT。保留原始 Zerodha Tech 贡献的版权声明。
免责声明
商标:kite-mcp-server 与 Zerodha Broking Ltd. 无关联,也未获得其认可或赞助。“Kite”和“Kite Connect”是 Zerodha Broking Ltd. 的商标。本项目是一个独立的开源项目,实现了面向 Kite Connect 开发者 API 的 Model Context Protocol 服务。
**非投资建议:**本软件是一款开发者工具。本代码仓库、其文档或服务生成的任何输出,均不构成投资、财务、法律或税务建议。交易决策完全由使用自己的 Kite Connect 开发者应用的用户负责。
**个人使用范围:**本服务旨在供使用自己的 Kite Connect 开发者应用的散户投资者个人自用,符合 SEBI 2025 年 2 月 4 日零售算法交易框架 §I(c) 中“家庭成员”豁免条款(本人、配偶、受抚养子女、受抚养父母),且订单速率低于每秒 10 笔。根据 SEBI §III(a) 和 NSE/INVG/67858,多用户托管需要经纪商备案;本代码仓库不支持此类用途。
合规性
适用的监管制度(印度):
- SEBI(证券经纪商)条例 2026 — 零售算法交易框架(自 2026 年 4 月 1 日起生效)
- 《数字个人数据保护法》2023(DPDP Act)— 2026 年起逐步加强执法;部分规则已发布
- CERT-In 指令(2022 年 4 月)— 网络安全事件报告
此服务开箱即用时强制执行的措施:
| 控制措施 | 默认设置 | 执行位置 |
|---|---|---|
| 每个日历秒的订单上限(9 单/秒) | 已强制执行 | algo2go/kite-mcp-riskguard/per_second.go(防御性限制;SEBI 阈值 = 10) |
| 每分钟订单上限(10 单/分钟) | 已强制执行 | algo2go/kite-mcp-riskguard/guard.go |
| 每日订单数量上限 | 20 单/天 | algo2go/kite-mcp-riskguard/guard.go |
| 单笔订单金额上限 | Rs 50,000 | algo2go/kite-mcp-riskguard/guard.go |
| 每日累计金额上限 | Rs 2,00,000 | algo2go/kite-mcp-riskguard/guard.go |
| 每笔订单均需人工确认 | 必须(MCP 征询) | mcp/common/elicit.go |
| 审计哈希链 | 可检测篡改 | algo2go/kite-mcp-audit/ |
| 每用户 OAuth + 加密凭据 | 通过 HKDF 使用 AES-256-GCM | algo2go/kite-mcp-alerts/crypto.go |
| 静态出口 IP 白名单 | 209.71.68.157(Fly.io bom) | 运营方的 Kite 开发者控制台 |
| ENABLE_TRADING 标志 | 托管环境中为 false | 合规路径 2 |
SEBI 框架立场:
- SEBI §I(c) 零售算法框架(2025 年 2 月 4 日通告)中的本人及家庭范围:允许零售投资者为本人编写算法,用于本人账户,低于 10 OPS 阈值,适用于本人/配偶/受抚养子女/受抚养父母
- 多用户托管 = 根据 §III(a) 必须获得备案资格,并遵守 NSE/INVG/67858 §I(h) 下的经纪商托管要求。本仓库不支持此场景。
- 算法 ID 标记(自 2026 年 4 月 1 日起强制要求):对于低于 10 OPS 的零售用户,由 Zerodha OMS 在服务端注入 — 客户端无需采取任何操作
DPDP 立场:
- 数据受托方:部署的运营方
- 静态加密:通过 HKDF 派生密钥使用 AES-256-GCM
- 传输加密:TLS
- 审计日志保留期限:90 天(可通过
AUDIT_RETENTION_DAYS配置) - 应请求删除:发送邮件至
<grievance officer email>,或使用仪表板工具 - 违规通知:6 小时内通知 CERT-In,72 小时内通知用户
- DPDP s.17(2)(a) 下的个人/家庭豁免:适用于仅供本人使用的自托管场景;任何外部用户都会使豁免失效
**如果你选择自托管:**你是该部署的数据受托方。本节介绍代码具备的能力;法律责任由运营方承担。
此代码无法提供帮助的事项:
- SEBI 投资顾问 / 研究分析师注册(属于不同制度;不在范围内)
- 税务合规 / GST(独资企业适用 44ADA,请咨询你的 CA)
- Kite Connect 每月 Rs 500 订阅费(直接支付给 Zerodha)
本仓库中的参考文档:
docs/PRIVACY.md— 符合 DPDP 要求的隐私声明(托管前需自定义)docs/TERMS.md— 符合 SEBI 要求的服务条款docs/incident-response.md— 违规事件应对方案docs/algo2go-tm-search.md— 商标搜索流程(更名时适用)
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。