关于 Kite MCP Server
Kite MCP Server 是 Zerodha Kite Connect 交易 API 的 MCP 服务,面向使用 Kite 账户的交易者。它让 AI 助手通过统一接口查询行情、管理持仓并下单,官方提供免安装的托管版本。
主要功能
- 01查看持仓、仓位、保证金与共同基金投资
- 02下单、修改、撤单及订单历史查询
- 03GTT 订单的查询与管理
- 04实时报价、LTP、OHLC 与历史行情数据
- 05大数据集自动分页
- 06支持 stdio、HTTP、SSE 等部署模式
适用场景
- 01通过 AI 助手查看 Kite 账户的持仓与保证金
- 02让 AI 助手查询行情并分析历史价格数据
- 03在本地部署只读实例,排除下单类工具
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
22收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| order_id | string | 是 | 订单 ID |
| variety | enum | 是 | 订单类型regular | co | amo | iceberg | auction |
详细介绍
Kite MCP 服务
一个模型上下文协议(MCP)服务,可为 AI 助手提供对 Kite Connect 交易 API 的安全访问。该服务使 AI Agent 能够通过标准化接口获取市场数据、管理投资组合并执行交易。
交易者速览
想使用 AI 管理你的 Kite 交易账户?只需将 https://mcp.kite.trade/mcp 添加到 AI 客户端配置中即可。无需安装或 API 密钥——服务已托管,可直接使用。
功能
- 投资组合管理:查看持仓、头寸、保证金和共同基金投资
- 订单管理:下单、修改和取消订单,并查看完整订单历史记录
- GTT 订单:管理触发前有效(Good Till Triggered)订单
- 市场数据访问:实时行情、历史数据、OHLC 数据
- 分页支持:自动对大型数据集(持仓、订单、交易)进行分页
- 全面覆盖:实现了大多数 Kite Connect API 端点
- 多种部署模式:stdio、HTTP、SSE 和混合模式(生产环境)
- 内置文档:运行时自动提供文档
快速开始
托管版本(推荐)
开始使用的最简单方式是使用我们托管在 mcp.kite.trade 上的版本。/mcp 和 /sse 端点均可用——你无需安装或提供 API 密钥。
**快速设置:**将以下内容添加到 MCP 配置中:
https://mcp.kite.trade/mcp
**推荐:**使用新的 HTTP 模式(/mcp 端点),以获得更好的性能和可靠性。你可以使用 mcp-remote 连接到托管服务。
如需使用自己的 API 密钥自托管,请按照以下安装步骤操作。
先决条件
- 使用托管版本(推荐):无需任何准备!直接使用
https://mcp.kite.trade/mcp即可 - 自托管:Go 1.21 或更高版本
- 自托管:有效的 Kite Connect API 凭据
开始使用
git clone https://github.com/zerodha/kite-mcp-server
cd kite-mcp-server
配置
创建一个 .env 文件,填写你的 Kite Connect 凭据:
KITE_API_KEY=your_api_key
KITE_API_SECRET=your_api_secret
APP_MODE=http
APP_PORT=8080
APP_HOST=localhost
PUBLIC_BASE_URL=http://localhost:8080
你也可以使用提供的 justfile 初始化配置。
just init-env
运行服务
# Build and run
go build -o kite-mcp-server
./kite-mcp-server
# Or run directly
go run main.go
服务启动后,会在 http://localhost:8080/ 提供状态页面。
客户端集成
设置指南
- Claude Desktop(托管模式) - 推荐
- Claude Desktop(HTTP 模式) - 推荐
- Claude Desktop(SSE 模式)
- Claude Desktop(stdio 模式)
- 其他 MCP 客户端
Claude Desktop(托管模式)
使用托管版本时,将以下内容添加到 Claude Desktop 配置文件(~/.config/Claude/claude_desktop_config.json):
{
"mcpServers": {
"kite": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.kite.trade/mcp"]
}
}
}
Claude Desktop(HTTP 模式)
将以下内容添加到 Claude Desktop 配置文件(~/.config/Claude/claude_desktop_config.json):
{
"mcpServers": {
"kite": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8080/mcp", "--allow-http"],
"env": {
"APP_MODE": "http",
"KITE_API_KEY": "your_api_key",
"KITE_API_SECRET": "your_api_secret"
}
}
}
}
Claude Desktop(SSE 模式)
将以下内容添加到 Claude Desktop 配置文件(~/.config/Claude/claude_desktop_config.json):
{
"mcpServers": {
"kite": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8080/sse", "--allow-http"],
"env": {
"APP_MODE": "sse",
"KITE_API_KEY": "your_api_key",
"KITE_API_SECRET": "your_api_secret"
}
}
}
}
Claude Desktop(stdio 模式)
对于自托管安装,你必须先构建二进制文件:
go build -o kite-mcp-server
然后将以下内容添加到 Claude Desktop 配置文件(~/.config/Claude/claude_desktop_config.json):
{
"mcpServers": {
"kite": {
"command": "/full/path/to/your/kite-mcp-server",
"env": {
"APP_MODE": "stdio",
"KITE_API_KEY": "your_api_key",
"KITE_API_SECRET": "your_api_secret"
}
}
}
}
**重要:**请使用构建好的二进制文件的完整绝对路径。例如:
/home/username/kite-mcp-server/kite-mcp-server(Linux)/Users/username/kite-mcp-server/kite-mcp-server(macOS)C:\Users\username\kite-mcp-server\kite-mcp-server.exe(Windows)
其他 MCP 客户端
对于其他兼容 MCP 的客户端,可使用托管端点 https://mcp.kite.trade/mcp 搭配 mcp-remote,或将客户端配置为直接连接 HTTP 端点。
可用工具
设置与身份验证
login- 登录 Kite API 并生成授权链接
市场数据
get_quotes- 获取实时市场报价get_ltp- 获取最新成交价get_ohlc- 获取 OHLC 数据get_historical_data- 历史价格数据search_instruments- 搜索交易工具
投资组合与账户
get_profile- 用户个人资料信息get_margins- 账户保证金get_holdings- 投资组合持仓get_positions- 当前仓位get_mf_holdings- 共同基金持仓
订单与交易
place_order- 下单modify_order- 修改现有订单cancel_order- 取消订单get_orders- 列出所有订单get_trades- 交易历史get_order_history- 订单执行历史get_order_trades- 获取指定订单的成交记录
GTT 订单
get_gtts- 列出 GTT 订单place_gtt_order- 创建 GTT 订单modify_gtt_order- 修改 GTT 订单delete_gtt_order- 删除 GTT 订单
API 覆盖范围
此服务实现了大部分 Kite Connect API 端点,并提供额外的工具。
开发
开发环境
此项目包含一个 Nix flake,可提供一致的开发环境:
# Enter development shell
nix develop
# Or with direnv
direnv allow
使用 Just 命令
安装 Just,以便方便地运行开发命令:
just build # Build the project
just run # Run the server
just test # Run tests
just lint # Format and lint code
just coverage # Generate coverage report
运行测试
要求:
- Go 1.23+,并启用
GOEXPERIMENT=synctest(定时相关测试必需)
# Run all tests
just test
# With coverage
just coverage
# With race detector
just test-race
# Direct go command (if you prefer)
CGO_ENABLED=0 GOEXPERIMENT=synctest go test -v ./...
Synctest 集成
此项目的时间相关测试(会话过期、时钟偏差容差)需要 Go 的 synctest 包。所有定时测试都使用 synctest.Run(),以实现:
- 快速执行:时间相关测试在毫秒内完成,而非数分钟
- 确定性计时:避免因计时不稳定导致的测试失败
- 受控时间:测试可以推进时间,无需实际等待
justfile 会在所有测试命令中自动包含 GOEXPERIMENT=synctest。
配置选项
| 环境变量 | 默认值 | 描述 |
|---|---|---|
KITE_API_KEY | 必需 | 您的 Kite Connect API 密钥 |
KITE_API_SECRET | 必需 | 您的 Kite Connect API 密钥 |
APP_MODE | http | 服务模式:stdio、http、sse 或 hybrid |
APP_PORT | 8080 | 服务端口(HTTP/SSE/hybrid 模式) |
APP_HOST | localhost | 服务主机/绑定地址(HTTP/SSE/hybrid 模式) |
PUBLIC_BASE_URL | derived | 用于面向浏览器的身份验证链接的公共基础 URL |
EXCLUDED_TOOLS | (empty) | 要从注册中排除的工具名称列表,以逗号分隔 |
**注意:**在生产环境中,我们使用 hybrid 模式,该模式支持 /sse 和 /mcp 端点,可根据不同客户端的需求提供 HTTP 和 SSE 协议。
排除工具
您可以将逗号分隔的工具名称列表设置到 EXCLUDED_TOOLS 环境变量中,以排除特定工具。这适用于创建只读实例。
示例:
EXCLUDED_TOOLS=place_order,modify_order,cancel_order
托管版本 mcp.kite.trade 出于安全考虑,排除了可能造成破坏的交易操作。如需使用其他操作,您可以生成自己的 API 密钥并在本地运行服务。
贡献
- Fork 此仓库
- 创建功能分支
- 进行更改
- 为新功能添加测试
- 运行
just lint和just test - 提交拉取请求
许可证
此项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
支持
如需反馈错误或提出一般建议,请使用 GitHub Discussions。
如需查看 Kite Connect API 文档,请访问:https://kite.trade/docs/connect/
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。