🚀 MCP交易机器人
与Kite Connect API集成的现代、全方位的交易应用程序。具有React前端、专业交易界面和安全的Express.js后端。
✨ 特性
- 🔐 安全认证:使用Kite Connect实现类似OAuth的流
- 📊 交易界面:通过实时反馈下达买入/卖出订单
- 💼 投资组合管理:查看持仓、头寸和订单历史记录
- 🎨 现代用户界面:响应式设计,灵感来自顺风
- 🔒 安全:基于环境的凭证管理
- ⚡ 快速:内置Bun运行时和Vite,实现最佳性能
🏗️ 建筑
├── backend/ # Express.js API server
│ ├── server.ts # Main server file
│ └── routes/ # API route handlers
├── frontend/ # React frontend application
│ ├── src/
│ │ ├── components/ # React components
│ │ └── App.tsx # Main app component
│ └── package.json # Frontend dependencies
├── trade.ts # Kite Connect integration
└── package.json # Backend dependencies🚀 快速开始
先决条件
- 包子 安装在您的系统上
- Kite Connect API证书(API密钥和机密)
安装
- 克隆和安装依赖关系:
bun install
cd frontend && bun install- 设置环境变量:
cp .env.example .env- 在中配置您的Kite Connect凭据
.env:
KITE_API_KEY=your_api_key_here
KITE_API_SECRET=your_api_secret_here
PORT=3001
NODE_ENV=development
FRONTEND_URL=http://localhost:3000运行应用程序
选项1:同时运行前端和后端:
bun run dev选项2:单独运行:
后端(终端1):
bun run server前端(2号航站楼):
bun run client该应用程序将在以下网址提供:
- 前端: http://localhost:3000
- 后端API: http://localhost:3001
🔧 用法
1.身份验证
- 在浏览器中打开应用程序
- 输入您的Kite Connect API密钥和秘密
- 点击“获取登录URL”打开Kite Connect登录
- 在Kite Connect上完成身份验证
- 从重定向URL复制请求令牌
- 粘贴令牌并完成身份验证
2.交易
- 一旦通过身份验证,您将看到交易界面
- 输入交易符号(例如,RELIANCE、TCS)
- 指定数量
- 选择购买或出售
- 点击“下单”执行交易
3.投资组合管理
- 查看您当前持有的资产
- 与P&L核实未结头寸
- 查看最近的订单
- 随时刷新数据
🛠️ 发展
项目结构
- 后端:使用TypeScript的Express.js服务器
- 前端:使用TypeScript和Vite进行反应
- API:所有交易操作的RESTful端点
- 安全:环境变量和输入验证
关键文件
backend/server.ts-主Express服务器backend/routes/auth.ts-身份验证端点backend/routes/trade.ts-交易操作frontend/src/App.tsx-主要React应用程序trade.ts-Kite Connect集成服务
API终点
身份验证:
POST /api/auth/login-url-获取Kite Connect登录URLPOST /api/auth/generate-token-将请求令牌替换为访问令牌GET /api/auth/profile/:sessionId-获取用户资料POST /api/auth/logout/:sessionId-注销并清除会话
交易:
POST /api/trade/place-order-下达交易订单GET /api/trade/orders/:sessionId-获取订单历史记录GET /api/trade/positions/:sessionId-获取当前职位GET /api/trade/holdings/:sessionId-获取投资组合持有量
🔒 安全功能
- 凭据的环境变量管理
- 使用Zod模式进行输入验证
- 基于会话的身份验证
- CORS配置
- 无信息泄露的错误处理
📝 环境变量
创建一个 .env 包含以下变量的文件:
# Kite Connect API Credentials
KITE_API_KEY=your_api_key_here
KITE_API_SECRET=your_api_secret_here
# Server Configuration
PORT=3001
NODE_ENV=development
# Frontend URL (for CORS)
FRONTEND_URL=http://localhost:3000🚨 重要提示
- 永远不要承诺你的
.env文件 -它包含敏感凭据 - 使用
.env.example作为所需变量的模板 - Kite Connect凭据 是应用程序工作所必需的
- 会话管理 当前在内存中(使用Redis进行生产)
🐛 故障排除
常见问题
- “必须设置KITE_API_KEY和KITE_API_SECRET”
- 确保您的 .env 文件存在并包含所需变量
- “未找到会话”
- 使用Kite Connect重新进行身份验证 - 检查您的会话是否已过期
- CORS 错误
- 确保后端在端口3001上运行 - 检查您的FRONTEND_URL .env 文件
- 下单失败
- 确认您有足够的资金 - 检查市场是否开放 - 确保交易品种正确
📚 文档
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
📄 许可证
这个项目是为了教育目的。请确保遵守Kite Connect的服务条款和适用法规。
______________________________________________________________________
内置于❤️ 使用Bun、React和TypeScript
