Kite MCP服务器
模型上下文协议(MCP)服务器,为人工智能助手提供对Kite Connect交易API的安全访问。该服务器使AI代理能够通过标准化的界面检索市场数据、管理投资组合和执行交易。
TL;交易员DR
想在您的Kite交易账户中使用人工智能吗?只需添加 https://mcp.kite.trade/mcp 到您的AI客户端配置。无需安装或API密钥-它已托管并可随时使用。
特性
- 投资组合管理:查看持股、头寸、保证金和共同基金投资
- 订单管理:使用完整的订单历史记录下订单、修改和取消订单
- GTT订单:良好,直到触发订单管理
- 市场数据访问:实时报价、历史数据、OHLC数据
- 分页支持:大型数据集(持仓、订单、交易)的自动分页
- 全面覆盖:实现大多数Kite Connect API端点
- 多种部署模式:stdio、HTTP、SSE和混合模式(生产)
- 内置文档:运行时自动提供文档
快速开始
托管版本(推荐)
最简单的入门方法是使用我们的托管版本 mcp.kite.trade两者都有 /mcp 和 /sse 端点可用-不需要在您的端上安装或API密钥。
快速设置: 将以下内容添加到MCP配置中:
https://mcp.kite.trade/mcp推荐: 使用新的HTTP模式(/mcp 端点)以获得更好的性能和可靠性。您可以使用 mcp遥控器 连接到托管服务器。
对于使用您自己的API密钥的自托管,请按照以下安装步骤进行操作。
先决条件
- 对于托管版本(推荐):没什么!只需使用
https://mcp.kite.trade/mcp - 用于自托管:转到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您还可以使用提供的 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配置中(~/.config/Claude/claude_desktop_config.json):
{
"mcpServers": {
"kite": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.kite.trade/mcp"]
}
}
}克劳德桌面(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"
}
}
}
}克劳德桌面(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"
}
}
}
}克劳德桌面(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遥控器 或者将您的客户端配置为直接连接到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薄片:
# Enter development shell
nix develop
# Or with direnv
direnv allow仅使用命令
安装 就 为了方便开发命令:
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运行测试
要求:
- 使用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 ./...同步测试集成
此项目需要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/混合模式) |
APP_HOST | localhost | 服务器主机(HTTP/SSE/混合模式) |
EXCLUDED_TOOLS | _(空)_ | 以逗号分隔的要从注册中排除的工具列表 |
注: 在生产中,我们使用混合模式,支持两者 /sse 和 /mcp 端点,使HTTP和SSE协议可用于不同的客户端需求。
工具排除
您可以通过设置来排除特定工具 EXCLUDED_TOOLS 带有逗号分隔的工具名称列表的环境变量。这对于创建只读实例非常有用。
例子:
EXCLUDED_TOOLS=place_order,modify_order,cancel_order托管版本位于 mcp.kite.trade 为了安全起见,不包括潜在的破坏性交易操作。为了访问其他操作,您可以生成自己的API密钥并在本地运行服务器。
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 添加新功能的测试
- 跑
just lint和just test - 提交拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
支持
有关错误和一般建议,请使用GitHub讨论。
欲了解Kite Connect API文档,请访问:https://kite.trade/docs/connect/
