交易服务器

Zerodha MCP交易服务器是一个生产就绪的MCP兼容交易服务器,用于与Zerodha Kite Connect API集成,提供完整的订单管理、风险控制和模拟经纪商功能。

  • by Parth2004124
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 parth2004124/zerodha-mcp

使用说明

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(建议用于开发)

  1. 打开Colab笔记本:

  2. 运行安装单元:

    !pip install fastmcp pydantic sqlalchemy structlog
    # Run all cells in order
    
  3. 测试系统:

    # Quick test included in notebook
    await test_system()
    
  4. 下载并推送到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工具

  1. 下单 -提交交易订单(买入/卖出)
  2. get_positions -查看P&L的所有未结头寸
  3. get_portfolio -完整的投资组合摘要
  4. 取消订单 -取消待处理订单
  5. 获取订单状态 -检查具体订单状态
  6. 获取订单历史 -查看过去的订单
  7. 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集成

先决条件

  1. Zerodha交易账户
  2. Kite Connect API订阅(2000卢比/月)
  3. 在中创建应用程序 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信号集成

🤝 贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 为新功能编写测试
  4. 确保所有测试通过
  5. 提交拉取请求

📄 许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

⚠️ 免责声明

此软件用于教育目的。交易涉及风险。始终:

  • 从小职位开始
  • 使用适当的风险管理
  • 在现场交易前进行彻底测试
  • 永远不要交易超过你能承受的损失

📧 支持

🙏 致谢


准备好开始使用AI进行交易了吗?克隆、配置,然后开始! 🚀