Zerodha MCP
Zerodha mcp服务器的回购
📈 Zerodha Kite Connect的MCP交易服务器
  
用于Zerodha Kite Connect API集成的符合MCP-标准的生产型交易服务器。在Google Colab中开发,可在任何地方部署,具有完整的模拟代理,用于无API密钥的开发。
✨ 特性
- 🤖 MCP协议 -与Claude和其他MCP客户无缝协作
- 📊 完成订单管理 -从信号到执行的全生命周期跟踪
- 🛡️ 风险管理 -可配置的限制、断路器、位置控制
- 💼 投资组合跟踪 -实时损益计算和头寸管理
- 🎭 模拟经纪人 -在没有API访问的情况下进行开发的真实模拟
- 🔌 风筝连接就绪 -附带详细集成指南的插入式适配器
- 📝 结构化日志记录 -订单、风险事件和系统操作的JSON日志
- ✅ 综合测试 -单元和集成测试覆盖率超过80%
🚀 快速开始
选项1:Google Colab(建议用于开发)
- 打开Colab笔记本:
- 在Colab开放 并从粘贴笔记本 colab_notebook.md
- 运行安装单元:
!pip install fastmcp pydantic sqlalchemy structlog
# Run all cells in order- 测试系统:
# Quick test included in notebook
await test_system()- 下载并推送到GitHub:
!zip -r trading-server.zip src/ tests/ docs/
# Download ZIP and push to your GitHub repo方案2:地方发展
# Clone repository
git clone https://github.com/YOUR_USERNAME/zerodha-trading-mcp.git
cd zerodha-trading-mcp
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env with your settings
# Run tests
pytest tests/ -v
# Start MCP server
python src/server.py📁 项目结构
zerodha-trading-mcp/
├── src/
│ ├── server.py # MCP server entry point
│ ├── config.py # Configuration management
│ ├── mcp/ # MCP protocol handlers
│ ├── core/ # Trading engine
│ │ ├── risk_manager.py
│ │ ├── order_manager.py
│ │ └── portfolio_tracker.py
│ ├── adapters/ # Broker adapters
│ │ ├── base.py
│ │ ├── mock_broker.py
│ │ └── kite_adapter.py # Placeholder for Kite Connect
│ ├── models/ # Data models
│ │ ├── signal.py
│ │ ├── order.py
│ │ ├── position.py
│ │ └── portfolio.py
│ └── utils/ # Utilities
│ └── logger.py
├── tests/ # Test suite
│ ├── unit/
│ └── integration/
├── docs/ # Documentation
│ ├── API.md
│ ├── SETUP.md
│ └── KITE_INTEGRATION.md
├── logs/ # Log files (gitignored)
├── data/ # Database (gitignored)
├── .env.example # Environment template
├── requirements.txt
└── README.md🎯 使用MCP客户端
示例:与克劳德交易
User: Buy 10 shares of SBIN at market price
Claude: I'll place that order for you.
[Calls place_order tool with symbol=SBIN, action=BUY, quantity=10]
Server Response:
✅ Order Submitted Successfully
- Symbol: SBIN
- Action: BUY
- Quantity: 10
- Status: SUBMITTED
Order ID: abc-123-def可用的MCP工具
- 下单 -提交交易订单(买入/卖出)
- get_positions -查看P&L的所有未结头寸
- get_portfolio -完整的投资组合摘要
- 取消订单 -取消待处理订单
- 获取订单状态 -检查具体订单状态
- 获取订单历史 -查看过去的订单
- get_risk_metrics -当前风险敞口和限额
⚙️ 配置
编辑 .env 要配置的文件:
# Environment
ENVIRONMENT=development
DEBUG=true
DRY_RUN=false # Set to true for testing without real orders
# Broker
BROKER_TYPE=mock # Change to 'kite' when ready
# Risk Limits
MAX_POSITION_SIZE=500000.0 # ₹5 lakhs per position
MAX_TOTAL_EXPOSURE=2000000.0 # ₹20 lakhs total
MAX_POSITIONS=10 # Max concurrent positions
MAX_DAILY_LOSS_PCT=5.0 # Circuit breaker at -5%
# Kite Connect (fill when ready)
KITE_API_KEY=your_key_here
KITE_API_SECRET=your_secret_here
KITE_ACCESS_TOKEN=🧪 测试
# Run all tests
pytest tests/ -v
# Run with coverage
pytest tests/ --cov=src --cov-report=html
# Run specific test file
pytest tests/unit/test_trading.py -v
# Run integration tests only
pytest tests/integration/ -v📊 模拟经纪人功能
模拟经纪商模拟真实的交易行为:
- ✅ 随机顺序延迟(50-200ms)
- ✅ 滑移模拟(0.05-0.15%)
- ✅ 部分填充场景
- ✅ 订单拒绝案例(5%)
- ✅ 市场价格变动
- ✅ 买卖价差
非常适合在没有API访问的情况下进行开发和测试!
🔌 Kite Connect集成
先决条件
- Zerodha交易账户
- Kite Connect API订阅(2000卢比/月)
- 在中创建应用程序 Kite Connect仪表板
集成步骤
# 1. Get API credentials
KITE_API_KEY=your_key
KITE_API_SECRET=your_secret
# 2. Update .env
BROKER_TYPE=kite
# 3. Install kiteconnect
pip install kiteconnect
# 4. Uncomment Kite adapter code
# See src/adapters/kite_adapter.py for detailed instructions
# 5. Authenticate
# Run authentication flow to get access_token
# 6. Start with dry-run
DRY_RUN=true
# 7. Test with small orders
# Place 1-share orders first
# 8. Go live
DRY_RUN=false看 docs/KITE_INTEGRATION.md 完整的指南。
📈 风险管理
内置风险控制:
| 控件 | 默认值 | 描述 |
|---|---|---|
| 最大位置大小 | ₹5,00000 | 每符号限制 |
| 最大总曝光量 | ₹20,00000 | 投资组合限额 |
| 最多职位 | 10 | 并发职位 |
| 日损失限额 | -5% | 断路器 |
| 持仓集中度 | 25% | 单股最大百分比 |
所有限制均可通过以下方式配置 .env.
📝 日志记录
结构化JSON日志 logs/ 目录:
orders_{date}.jsonl-所有订单活动risk_{date}.jsonl-风险检查结果system_{date}.jsonl-系统事件errors_{date}.jsonl-错误跟踪
🛠️ 开发工作流程
第一阶段:模拟交易(当前)
- ✅ 在Google Colab中开发
- ✅ 使用模拟经纪人进行测试
- ✅ 完善你的策略
- ✅ 存储在GitHub
第2阶段:API集成
- 🔶 获取Kite Connect凭据
- 🔶 实施身份验证
- 🔶 纸质交易测试
- 🔶 小额实际订单
第三阶段:生产
- ⏳ 逐步扩大规模
- ⏳ 监测性能
- ⏳ 添加增强功能
- ⏳ 优化策略
🚦 状态
- ✅ 完成:模拟交易、风险管理、投资组合跟踪
- 🔶 待定:Kite Connect集成(需要API密钥)
- ⏳ 未来:仪表板、高级分析、AI信号集成
🤝 贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 为新功能编写测试
- 确保所有测试通过
- 提交拉取请求
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
⚠️ 免责声明
此软件用于教育目的。交易涉及风险。始终:
- 从小职位开始
- 使用适当的风险管理
- 在现场交易前进行彻底测试
- 永远不要交易超过你能承受的损失
📧 支持
🙏 致谢
- 专为 模型上下文协议
- 专为 Zerodha风筝连接
- 与开发 克劳德
______________________________________________________________________
准备好开始使用AI进行交易了吗?克隆、配置,然后开始! 🚀
