一个提供给AI助手安全访问Kite Connect交易API的Model Context Protocol (MCP)服务器。此服务器使AI代理能够通过标准化接口检索市场数据、管理投资组合并执行交易。
想用AI与您的Kite交易账户结合吗?只需在您的AI客户端配置中添加https://mcp.kite.trade/mcp。无需安装或API密钥——它是托管并随时可用的。
最简单的方式是使用我们托管的版本mcp.kite.trade。/mcp和/sse端点都可用——您无需安装或API密钥。
快速设置:在您的MCP配置中添加以下内容:
https://mcp.kite.trade/mcp
推荐:使用新的HTTP模式(/mcp端点)以获得更好的性能和可靠性。您可以使用mcp-remote连接到托管服务器。
对于自托管并使用自己的API密钥,请遵循下面的安装步骤。
https://mcp.kite.trade/mcpgit clone https://github.com/zerodha/kite-mcp-server
cd kite-mcp-server
创建一个包含您的Kite Connect凭证的.env文件:
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
# 构建并运行
go build -o kite-mcp-server
./kite-mcp-server
# 或直接运行
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"]
}
}
}
在您的Claude Desktop配置中添加(~/.config/Claude/claude_desktop_config.json):
{
"mcpServers": {
"kite": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8[080/mcp", "--allow-http"],
"env": {
"APP_MODE": "http",
"KITE_API_KEY": "your_api_key",
"KITE_API_SECRET": "your_api_secret"
}
}
}
}
在您的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"
}
}
}
}
对于自托管安装,首先构建二进制文件:
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的客户端,使用托管端点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 - 获取特定订单的交易get_gtts - 列出GTT订单place_gtt_order - 创建GTT订单modify_gtt_order - 修改GTT订单delete_gtt_order - 删除GTT订单此服务器实现了大多数Kite Connect API端点,并提供了额外的工具。
此项目包括一个Nix flake用于一致的开发环境:
# 进入开发shell
nix develop
# 或使用direnv
direnv allow
安装Just以方便开发命令:
just build # 构建项目
just run # 运行服务器
just test # 运行测试
just lint # 格式化和检查代码
just coverage # 生成覆盖率报告
需求:
GOEXPERIMENT=synctest(用于依赖时间的测试)# 运行所有测试
just test
# 带有覆盖率
just coverage
# 带有竞态检测器
just test-race
# 直接使用go命令(如果您更喜欢)
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许可证发布——详情请参阅LICENSE文件。
对于错误和一般建议,请使用GitHub讨论。
对于Kite Connect API文档,请访问:https://kite.trade/docs/connect/