使用说明
Kite MCP服务器+OneApp投资组合管理器
此存储库包含两个集成系统:
- Kite MCP服务器:模型上下文协议(MCP)服务器 Zerodha风筝连接 交易API
- OneApp投资组合经理:具有XIRR跟踪功能的多账户投资组合管理web应用程序
🚀 快速入门-MCP | 📖 MCP使用示例 | 🎯 投资组合应用指南 | 📊 项目状态
🎉 新:OneApp投资组合管理器
一个全面的投资组合管理系统,用于通过历史数据导入和XIRR计算跟踪多个Zerodha账户。
特性
- 📊 多账户支持:在一个地方管理3个以上Zerodha帐户
- 📥 CSV导入:上传交易簿和分类账数据(5年以上)
- 💰 XIRR跟踪:计算投资组合和股票层面的年化回报率
- 🔄 综合视图和个人视图:在所有帐户或特定帐户之间切换
- 📈 持股分析:每只股票的详细损益和绩效指标
- 🎨 现代用户界面:干净、响应迅速的界面,带有数据隐私切换功能
快速入门(投资组合应用程序)
# Start DDEV environment
ddev start
# Access the application
open https://oneapp.ddev.site
有关详细的设置说明:参见 GETTING_STARTED.md
完整的实施细节:参见 项目状态.md
Kite MCP服务器
特性
- 🔐 认证:使用API密钥和访问令牌管理的安全登录流
- 📊 市场数据:实时报价、OHLC、LTP和历史数据
- 📈 交易:下单、修改和取消订单(常规、AMO、CO、冰山、拍卖)
- 💼 投资组合:查看持有量、头寸和共同基金持有量
- 🎯 GTT订单:下达和管理触发前有效的订单
- 🔍 仪器搜索:搜索和筛选交易工具
- 📉 订单管理:跟踪订单历史和交易
安装
先决条件
- Node.js v18.0.0或更高版本
- 拥有API访问权限的Zerodha Kite Connect帐户
- API密钥和API机密来自 Kite Connect开发者控制台
设置
- 克隆此存储库:
git clone <repository-url>
cd oneapp
- 安装依赖项:
npm install
- 构建项目:
npm run build
- 测试安装:
npm test
你应该看到:”✅ 成功!MCP服务器已正确启动。"
配置
适用于克劳德桌面
将以下内容添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"kite": {
"command": "node",
"args": ["/absolute/path/to/oneapp/dist/index.js"]
}
}
}
对于其他MCP客户端
配置您的MCP客户端以运行:
node /path/to/oneapp/dist/index.js
用法
1.身份验证
首先,使用Kite Connect进行身份验证:
Use the login tool with your API key and API secret
服务器将返回一个登录URL。单击它以授权应用程序。授权后,您将被重定向到包含以下内容的URL request_token 参数。
Use the generate_session tool with the request_token
这将完成身份验证过程,并将您的访问令牌本地存储在 ~/.kite-mcp-credentials.json.
2.可用工具
通过身份验证后,您可以使用以下任何工具:
个人资料和帐户
- get_profile:获取用户配置文件信息
- get_margins:获取账户保证金详细信息
交易
- 下单:下新订单
- 修改订单:修改现有订单
- 取消订单:取消订单
- 获取订单:获取所有订单
- 获取订单历史:获取特定订单的订单历史记录
- 获取订单交易:获取特定订单的交易
投资组合
- get_positions:获取当前职位
- get_holdings:获取持股
- get_mf_holdings:持有共同基金
- get_trades:获取交易历史记录
市场数据
- 搜索_仪器:搜索交易工具
- get_quotes:获取仪器的详细报价
- get_ohlc:获取OHLC数据
- get_ltp:获取最后交易价格
- 获取历史数据:获取历史蜡烛数据
GTT订单
- 地点_订单:下GTT订单
- 修改gtt_order:修改GTT订单
- 删除gtt_order:删除GTT订单
- get_gtts:获取所有有效的GTT订单
对话示例
示例1:检查轮廓和边距
User: What's my profile information?
Assistant: [Uses get_profile tool]
User: How much margin do I have?
Assistant: [Uses get_margins tool]
示例2:下市价单
User: Buy 10 shares of INFY at market price
Assistant: [Uses place_order tool with parameters:
- variety: "regular"
- exchange: "NSE"
- tradingsymbol: "INFY"
- transaction_type: "BUY"
- quantity: 10
- product: "CNC"
- order_type: "MARKET"
]
示例3:获取市场数据
User: What's the current price of Reliance?
Assistant: [Uses search_instruments to find the instrument, then get_ltp]
User: Show me the OHLC data for TCS
Assistant: [Uses get_ohlc tool with instruments: ["NSE:TCS"]]
示例4:查看位置
User: What positions do I have open?
Assistant: [Uses get_positions tool]
User: Show me my holdings
Assistant: [Uses get_holdings tool]
安全
- 凭据存储:API密钥和访问令牌存储在本地
~/.kite-mcp-credentials.json - 从不提交凭据:The
.gitignore文件配置为排除凭据 - API安全:遵循Zerodha关于API使用的安全最佳实践
发展
构建
npm run build
观看模式
npm run dev
项目结构
oneapp/ # Root project directory
├── equity/ # Next.js portfolio management app
│ ├── app/ # Next.js app directory
│ ├── lib/ # Library files
│ ├── components/ # React components
│ └── package.json # Next.js app dependencies
├── src/ # MCP server source code
│ ├── index.ts # Main MCP server implementation
│ └── config.ts # Configuration helpers
├── dist/ # Compiled JavaScript (generated, gitignored)
├── .ddev/ # DDEV configuration
├── docs/ # Documentation
├── documentation/ # Additional documentation
├── package.json # MCP server dependencies
├── tsconfig.json # TypeScript configuration
└── README.md
API 参考
此服务器包装官方 kiteconnectjs 图书馆。有关API的详细文档,请参阅:
故障排除
“未通过身份验证”错误
如果您看到此错误,则需要进行身份验证:
- 打电话给
login带有API密钥和机密的工具 - 遵循登录URL
- 呼叫
generate_session使用请求令牌
会话已过期
Kite Connect访问令牌在整个交易日有效。如果您的会话到期:
- 通过访问登录URL获取新的请求令牌
- 呼叫
generate_session使用新的请求令牌
API费率限制
Kite Connect有速率限制:
- 每秒3个请求
- 某些端点有特定的限制
服务器没有实现速率限制,因此请注意您的请求频率。
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交拉取请求。
免责声明
这是Kite Connect的非官方MCP服务器。使用风险自负。在使用真钱之前,一定要用小额和纸笔交易进行测试。作者不对任何交易损失负责。
支持
有关Kite Connect API问题,请联系 Zerodha支持
对于MCP服务器问题,请在此存储库上打开问题。