使用说明
MCP驱动的交易自动化
一个概念验证交易服务器,允许AI代理通过模型上下文协议(MCP)放置真实的Zerodha订单。
📦 技术栈
- 语言与运行时: Node.js(v16+),TypeScript
- 交易API: KiteConnect(可译为“风筝连接”或根据上下文意译为更贴切的名称,如“风筝互联服务”等,但“KiteConnect”本身作为专有名词,直接翻译时保留原样或采用音译加意译结合的方式)
- 协议SDK: @modelcontextprotocol/sdk(MCP服务器 + 标准I/O传输)
- 验证: 佐德
- 构建工具: npm,ts-node / tsc
🚀 功能特性
-
MCP 服务器
通过STDIO运行一个双向MCP服务器,以暴露自定义的“工具”用于AI驱动的工作流程。 -
OAuth 集成
使用KiteConnect的requestToken → accessToken流程来认证Zerodha并下达真实的市价订单。 -
定制MCP工具
add– 简单相加placeOrder– 在KiteConnect上触发买入/卖出操作
(易于扩展:获取报价、取消订单等)
-
类型安全的模式(或架构)
所有工具输入在执行前都会根据Zod模式进行验证。
⚙️ 开始使用
1. 克隆并安装
git clone https://github.com/yourusername/mcp-trading-automation.git
cd mcp-trading-automation
npm install
2. 配置凭据
创建一个 .env 在项目根目录下放置您的KiteConnect密钥和令牌:
KITE_API_KEY=your_api_key_here
KITE_API_SECRET=your_api_secret_here
REQUEST_TOKEN=your_request_token_here
ACCESS_TOKEN=your_access_token_here
3. 以开发模式运行
npm run dev
这将即时编译TypeScript并启动MCP服务器以监听STDIO。
4. 构建并运行(生产环境)
npm run build
node dist/index.js
🔍 项目结构
.
├── src/
│ ├── index.ts # MCP server setup & transport
│ └── trade.ts # placeOrder tool + KiteConnect integration
├── package.json
├── tsconfig.json
└── .gitignore
🛠️ 延伸/扩展
- 注册更多工具 在
src/index.ts(例如。getQuote,cancelOrder,getPortfolio)。 - 连接AI代理 通过STDIO或套接字(sockets)讨论MCP。
- 添加持久性 (例如,使用 Redis 或数据库)来跟踪订单和持仓。