mcpField
K
Kite Connect MCP

Kite Connect MCP

本地服务
github.com/techfreakworm金融数据05 天前更新

关于 Kite Connect MCP

Kite Connect MCP 是可自托管的 MCP 服务,用于将 AI 助手连接到 Zerodha Kite Connect v3 API。它涵盖账户、市场和交易操作,写入默认采用 dry run,并为实盘操作提供可配置的安全措施。

主要功能

  1. 01账户、投资组合和订单工具
  2. 02行情、历史数据和实时行情订阅
  3. 03GTT、提醒和共同基金操作
  4. 04写入默认预演并需确认
  5. 05限额、允许列表、紧急开关和审计日志

适用场景

  1. 01通过 AI 助手查看投资组合和市场数据
  2. 02提交前预览并验证订单
  3. 03通过 MCP 客户端管理提醒和 GTT

MCP 相关

该服务通过 stdio 或 HTTP 向 MCP 客户端提供 Zerodha Kite Connect v3 功能。可配置为只读模式,写入操作默认采用 dry run。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"techfreakworm-kite-connect": {
"command": "uvx",
"args": [
"kite-connect-mcp"
],
"env": {
"KITE_API_KEY": "<KITE_API_KEY>",
"KITE_API_SECRET": "<KITE_API_SECRET>",
"KITE_MCP_AUTH_MODE": "<KITE_MCP_AUTH_MODE>",
"KITE_TOKEN_FILE": "<KITE_TOKEN_FILE>",
"KITE_MCP_TRADING_MODE": "<KITE_MCP_TRADING_MODE>",
"KITE_MCP_READ_ONLY": "<KITE_MCP_READ_ONLY>"
}
}
}
}
启动命令uvx kite-connect-mcp
需要配置的环境变量
KITE_API_KEY密钥API key of your Kite Connect app (developers.kite.trade)
KITE_API_SECRET密钥API secret of your Kite Connect app, needed for the daily login (or use KITE_API_SECRET_FILE)
KITE_MCP_AUTH_MODE密钥managed (this server owns the daily login) or external (read a token file another program writes)
KITE_TOKEN_FILE密钥Path of the access-token file (default: ~/.local/state/kite-connect-mcp/access_token.json)
KITE_MCP_TRADING_MODEdry_run (default: writes are only previewed) or live (writes need a confirmation token)
KITE_MCP_READ_ONLYtrue hides every tool that can change the account

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypikite-connect-mcp0.1.1

工具

53

收录的工具列表 · 更新于 4 天前

参数类型必填说明
verifyboolean否同时向 Kite 发起一次请求(GET /user/profile),确认其是否仍接受该令牌,并返回账户的用户 ID 或 Kite 错误

详细介绍

kite-connect-mcp

CI PyPI Licence: MIT

适用于 Zerodha Kite Connect v3 API 的可自托管模型上下文协议服务。 在自己的计算机或服务上使用自己的 Kite Connect 应用运行它,让 AI 助手读取账户、市场数据和订单。所有写入操作默认均为 试运行。

状态:测试版(0.x)。 已涵盖 Kite Connect v3 的所有功能,并通过模拟 Kite 离线测试。读取工具、保证金和费用计算器以及行情订阅器也已使用实时 API 进行验证;实时写入操作(订单、GTT、提醒、共同基金)尚未验证,因此这些功能可能不够完善,欢迎报告问题。变更 详见 CHANGELOG.md。 本项目与 Zerodha 无关,也未获得 Zerodha 的认可。

为什么还要开发另一个 Kite MCP 服务?

Zerodha 发布了官方服务(zerodha/kite-mcp-server),并将其托管在 mcp.kite.trade。本项目有三点不同:

  • 涵盖完整的付费 Kite Connect API。 包括提醒、GTT、订单和篮子保证金、费用、持仓转换、持仓授权、拍卖、共同基金和 WebSocket 行情订阅器。
  • 专为个人自托管打造。 每日令牌会持久化保存,并由你连接的所有客户端共用。
  • 为订单提供安全层: 试运行、两步确认、价值上限、允许列表、紧急停止开关、审计日志和速率限制。

完整评估和理由见 docs/DECISION.md。

所需条件

  • 拥有 Zerodha 账户,以及在开发者控制台创建的 Kite Connect 应用。
    • Connect(付费,每个 API 密钥每月 ₹500) 包含实时报价、WebSocket 和历史 K 线。
    • Personal(免费) 支持订单、GTT、提醒、投资组合和保证金,但不包含市场数据。市场数据工具 会返回明确的“需要付费套餐”错误。
  • Python 3.11+(或 Docker)。
  • 如需下达实时订单:订单请求必须来自在开发者控制台注册的静态 IP。 这是 SEBI/NSE 规定,自 2026 年 4 月起生效。读取操作可从任何 IP 执行。

开发者控制台的操作步骤见 docs/KITE_SETUP.md:创建应用、API 密钥和密钥、重定向和回调 URL、订阅及静态 IP。

快速开始(本地,stdio)

# install
uv tool install kite-connect-mcp        # or: pipx install kite-connect-mcp  /  pip install kite-connect-mcp
# or run without installing:  uvx kite-connect-mcp --help
# or the image:               docker pull ghcr.io/techfreakworm/kite-connect-mcp

# configure: credentials from env vars or files (mode 600)
export KITE_API_KEY=your_api_key
export KITE_API_SECRET_FILE=~/.config/kite-connect-mcp/api_secret

kite-connect-mcp check-config   # validates settings, never prints credentials
kite-connect-mcp login --listen # prints the Kite login link and waits for the redirect (managed mode)
kite-connect-mcp status         # session and safety status

对于 login --listen,请将 http://127.0.0.1:8765/callback 注册为应用的重定向 URL。所有设置详见 docs/CONFIGURATION.md。

将其添加到 MCP 客户端,例如 Claude Desktop(claude_desktop_config.json),或任何可启动 stdio 服务的客户端:

{
  "mcpServers": {
    "kite": {
      "command": "kite-connect-mcp",
      "args": ["serve"],
      "env": { "KITE_API_KEY": "your_api_key", "KITE_API_SECRET_FILE": "/home/you/.config/kite-connect-mcp/api_secret" }
    }
  }
}

要通过 HTTP 在服务上运行,请参阅 docs/SELF_HOSTING.md。其中介绍了 systemd 和 Docker、 使用 TLS 的反向代理、Bearer 令牌身份验证以及登录回调。

简要安全模型

防护措施默认值
每个写入工具都接受 dry_runtrue:验证、运行检查、预览确切请求和 Kite 的保证金计算;不发送任何内容
实盘交易开关关闭(KITE_MCP_TRADING_MODE=dry_run)
确认实盘写入需要来自完全相同调用的 dry run 所生成的单次使用 confirmation_token(或者,如果你选择启用,则需要明确列入允许列表的工具标的)
价值上限每笔订单 ₹10,000,每日 ₹50,000,每天 20 笔实盘订单
允许列表工具标的、交易所、产品、类别、订单类型、买卖方向(均为可选)
只读模式KITE_MCP_READ_ONLY=true 会隐藏所有写入工具,HTTP 客户端也会拒绝写入端点
紧急停止开关一个文件;工具可以将其开启,只有人可以将其关闭
审计日志将每次 dry run、拒绝、实盘发送和结果记录为 JSON 行;发送前会对意图执行 fsync
速率限制控制在 Kite 的限制以内:报价 1 次/秒、历史数据 3 次/秒、订单及其他请求 10 次/秒、每分钟 400 笔订单
重试读取请求会退避并重试;写入请求绝不重试。超时会报告为结果未知:再次尝试前请检查订单簿

详情:docs/SAFETY.md。

会话与每日登录

Kite 访问令牌每天约在 06:00 IST 过期。请求令牌只能使用一次。使用同一个 API 密钥重新登录会使之前的访问令牌失效。因此,每个应用都应当只有一个程序负责每日登录。

  • managed 模式(默认)。 此服务负责登录。login 工具(或 kite-connect-mcp login)会提供链接。Kite 会重定向到此服务的 /callback,由其检查一次性 state、交换 request_token,并以权限模式 600 存储令牌。
  • external 模式。 由另一个程序负责登录并写入令牌文件。此服务只读取该文件,每天早晨无需重启即可获取新令牌,并且绝不会写入、删除或注销该令牌。

工具

共 11 个工具集中的 58 个工具(默认启用 53 个:共同基金写入工具需选择启用)。如果存在官方服务,工具名称会与其保持一致,方便沿用提示词。使用 KITE_MCP_TOOLSETS 选择工具集,并使用 KITE_MCP_EXCLUDED_TOOLS 隐藏单个工具;kite-connect-mcp tools 会列出你的配置所公开的内容。

工具集工具
session(会话)session_status、login、complete_login、logout
account(账户)get_profile、get_margins
orders(订单)place_order、modify_order、cancel_order、get_orders、get_order_history、get_trades、get_order_trades
gttget_gtts、get_gtt、place_gtt_order、modify_gtt_order、delete_gtt_order
alerts(提醒)get_alerts、get_alert、get_alert_history、create_alert(简单提醒和 ATO)、modify_alert、delete_alerts
portfolio(投资组合)get_holdings、get_positions、get_auctions、convert_position、authorise_holdings
market(市场)get_quotes、get_ohlc、get_ltp、get_historical_data、search_instruments、get_instrument、get_instruments_status、refresh_instruments
margins(保证金)get_order_margins、get_basket_margins、get_order_charges
mf(共同基金)get_mf_holdings、get_mf_orders、get_mf_sips、search_mf_instruments;需选择启用:place_mf_order、cancel_mf_order、place_mf_sip、modify_mf_sip、cancel_mf_sip
ticker(行情推送)ticker_subscribe、ticker_unsubscribe、ticker_get_ticks、ticker_status、ticker_order_updates、ticker_stop
safety(安全)get_safety_status、get_audit_log、engage_kill_switch

所有工具的每个参数都列于 docs/TOOLS.md。

开发

git clone https://github.com/techfreakworm/kite-connect-mcp && cd kite-connect-mcp
python -m venv .venv && .venv/bin/pip install -e ".[dev]"
.venv/bin/pytest            # never touches the network: Kite is faked in-process
.venv/bin/ruff check . && .venv/bin/ruff format --check .

请参阅 CONTRIBUTING.md。安全问题报告:SECURITY.md。

免责声明

交易涉及风险。配置本软件后,它可以在真实经纪账户上执行真实订单。 AI 系统具有不可预测性:请设置较低的上限,使用模拟运行,并仔细检查你确认的内容。本软件按“现状”提供,不提供任何形式的保证(参见 LICENSE)。你有责任遵守 Zerodha 的条款、SEBI 的规则(包括静态 IP 和算法交易规则)以及交易所的数据政策。Kite Connect 数据不得再分发。

许可

MIT © 2026 Mayank Gupta

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。