UNPKG

@dbotx/conditional-order-mcp-server

Version:

Conditional Order MCP Server - Supports creating and managing conditional orders, automatically executing trades based on specific conditions

338 lines (264 loc) 9.97 kB
[English](./README.md) | [中文](./README.zh-CN.md) # 专业的多链 DEX 交易 MCP 服务 条件单交易 MCP Server - 支持创建和管理开盘卖出跟随Dev卖出等自动化交易任务 ## 功能特性 - 🚀 **开盘卖出**: 当代币从Pump迁移到Raydium时自动卖出 - 👥 **跟随Dev卖出**: 当开发者卖出达到指定比例时自动跟随卖出 - **智能监控**: 实时监控代币状态和开发者行为 - 🔧 **灵活管理**: 创建编辑开关删除任务 - 📊 **状态跟踪**: 查看任务状态和执行历史 - 🤖 **自动执行**: 满足条件时自动触发交易 - 🎯 **精准控制**: 支持自定义费用滑点重试等参数 ## 快速开始 ### 在MCP客户端中配置 在你的MCP客户端配置中添加: ```json { "mcpServers": { "conditional-order": { "command": "npx", "args": ["-y", "@dbotx/conditional-order-mcp-server"], "env": { "DBOT_API_KEY": "your-api-key", "DBOT_WALLET_ID": "your-wallet-id" } } } } ``` **Get your api-key and wallet-id at [www.dbotx.com](https://www.dbotx.com)** ## 📚 典型场景 - **开盘卖出**- "帮我创建一个开盘卖出任务,卖出SOLANA代币 {{地址}} ,80%仓位" - **跟随Dev卖出**- "帮我创建一个跟随Dev卖出任务,当Dev卖出SOLANA代币 {{地址}} 60%仓位时,卖出我80%仓位" - **管理任务**- "获取我的开盘卖出任务列表" - "查看所有跟随Dev卖出任务" - "显示进行中的任务" - "暂停我的条件单任务" - "修改开盘卖出任务的卖出比例为90%" - "修改跟随dev卖出任务的卖出比例为90%" - "删除指定的条件单任务" ## 环境变量 ### 必需的环境变量 - `DBOT_API_KEY`: DBot API密钥(必需) - `DBOT_WALLET_ID`: 默认钱包ID(必需) ### 可选的默认参数配置 以下环境变量可用于配置默认参数值这些默认值可以在调用时被覆盖 #### 基础配置 - `DBOT_CHAIN`: 默认链类型 (solana) - `DBOT_CUSTOM_FEE_AND_TIP`: 是否使用自定义费用 (true/false) - `DBOT_PRIORITY_FEE`: 优先费,例如:"0.0001" - `DBOT_JITO_ENABLED`: 是否启用防夹模式 (true/false) - `DBOT_JITO_TIP`: 防夹小费,例如:0.001 - `DBOT_MAX_SLIPPAGE`: 最大滑点 (0.00-1.00),例如:0.1 - `DBOT_CONCURRENT_NODES`: 并发节点数 (1-3),例如:2 - `DBOT_RETRIES`: 重试次数 (0-10),例如:1 - `DBOT_EXPIRE_DELTA`: 任务有效时长(毫秒),例如:360000000 - `DBOT_MIN_DEV_SELL_PERCENT`: 跟随Dev卖出触发比例,例如:0.5 **配置示例:** ```json { "env": { "DBOT_API_KEY": "your-api-key", "DBOT_WALLET_ID": "your-wallet-id", "DBOT_CHAIN": "solana", "DBOT_CUSTOM_FEE_AND_TIP": "false", "DBOT_PRIORITY_FEE": "", "DBOT_JITO_ENABLED": "true", "DBOT_JITO_TIP": "0.001", "DBOT_MAX_SLIPPAGE": "0.1", "DBOT_CONCURRENT_NODES": "2", "DBOT_RETRIES": "1", "DBOT_EXPIRE_DELTA": "360000000", "DBOT_MIN_DEV_SELL_PERCENT": "0.5" } } ``` ## 可用工具 ### create_migrate_order 创建开盘卖出任务 **功能说明:** 当代币从Pump.fun迁移到Raydium时自动执行卖出操作 **参数:** - `pair` (string): Pump代币地址 **[必需]** - `amountOrPercent` (number): 卖出比例(0-1),例如 0.5 表示卖出50% **[必需]** - `walletId` (string): 钱包ID(可选,如未提供将使用环境变量 DBOT_WALLET_ID) - `chain` (string): 区块链名称 (solana,默认:solana) - `pairType` (string): 代币类型 (pump/raydium_amm,默认:pump) - `customFeeAndTip` (boolean): 是否自定义费用和小费设置(默认:false- `priorityFee` (string): 优先费(SOL),空字符串表示使用自动优先费(默认:""- `jitoEnabled` (boolean): 是否启用防夹模式(默认:true- `jitoTip` (number): 防夹模式使用的贿赂费(默认:0.001- `expireDelta` (number): 任务有效时长(毫秒),最大值为432000000(默认:360000000- `maxSlippage` (number): 最大滑点(0.00-1.00)(默认:0.1- `concurrentNodes` (number): 并发节点数(1-3)(默认:2- `retries` (number): 失败后的重试次数(0-10)(默认:1**示例:** ```json { "pair": "9BB6NFEcjBCtnNLFko2FqVQBq8HHM13kCyYcdQbgpump", "amountOrPercent": 0.5, "jitoEnabled": true, "jitoTip": 0.001 } ``` ### create_dev_order 创建跟随Dev卖出任务 **功能说明:** 当开发者卖出代币达到指定比例时,自动跟随卖出 **参数:** - `pair` (string): Pump代币地址或交易对地址 **[必需]** - `amountOrPercent` (number): 卖出比例(0-1),例如 0.5 表示卖出50% **[必需]** - `minDevSellPercent` (number): 触发比例(0-1),当Dev卖出超过这个比例时卖出你的代币(默认:0.5- `walletId` (string): 钱包ID(可选,如未提供将使用环境变量 DBOT_WALLET_ID) - 其他参数与 `create_migrate_order` 相同 **示例:** ```json { "pair": "9BB6NFEcjBCtnNLFko2FqVQBq8HHM13kCyYcdQbgpump", "minDevSellPercent": 0.3, "amountOrPercent": 0.8, "jitoEnabled": true } ``` ### update_migrate_order 编辑开盘卖出任务 **参数:** - `id` (string): 开盘卖出任务的ID **[必需]** - `pair` (string): Pump代币地址 **[必需]** - `walletId` (string): 钱包ID **[必需]** - `amountOrPercent` (number): 卖出比例(0-1**[必需]** - 其他参数与 `create_migrate_order` 相同 ### update_dev_order 编辑跟随Dev卖出任务 **参数:** - `id` (string): 跟随Dev卖出任务的ID **[必需]** - `pair` (string): Pump代币地址或交易对地址 **[必需]** - `walletId` (string): 钱包ID **[必需]** - `amountOrPercent` (number): 卖出比例(0-1**[必需]** - 其他参数与 `create_dev_order` 相同 ### toggle_migrate_order 开启/关闭开盘卖出任务 **参数:** - `id` (string): 开盘卖出任务的ID **[必需]** - `enabled` (boolean): 任务启用状态:true表示启用,false表示禁用 **[必需]** ### toggle_dev_order 开启/关闭跟随Dev卖出任务 **参数:** - `id` (string): 跟随Dev卖出任务的ID **[必需]** - `enabled` (boolean): 任务启用状态:true表示启用,false表示禁用 **[必需]** ### delete_migrate_order 删除开盘卖出任务 **参数:** - `id` (string): 开盘卖出任务的ID **[必需]** ### delete_dev_order 删除跟随Dev卖出任务 **参数:** - `id` (string): 跟随Dev卖出任务的ID **[必需]** ### get_migrate_orders 获取开盘卖出任务列表 **功能说明:** 获取用户的所有开盘卖出任务,支持分页和状态筛选 **参数:** - `page` (number): 页码,从0开始(默认:0- `size` (number): 每页数量,1-100(默认:20- `chain` (string): 区块链名称 (solana,默认:solana) - `state` (string): 任务状态筛选(可选) - `init`: 初始化 - `processing`: 处理中 - `done`: 已完成 - `fail`: 失败 - `expired`: 已过期 - `source` (string): 任务来源筛选(可选) **示例:** ```json { "page": 0, "size": 10, "state": "init" } ``` ### get_dev_orders 获取跟随Dev卖出任务列表 **功能说明:** 获取用户的所有跟随Dev卖出任务,支持分页和状态筛选 **参数:** - `page` (number): 页码,从0开始(默认:0- `size` (number): 每页数量,1-100(默认:20- `chain` (string): 区块链名称 (solana,默认:solana) - `state` (string): 任务状态筛选(可选) - `init`: 初始化 - `processing`: 处理中 - `done`: 已完成 - `fail`: 失败 - `expired`: 已过期 - `source` (string): 任务来源筛选(可选) **示例:** ```json { "page": 0, "size": 10, "state": "processing" } ``` ## 使用场景 ### 1. 开盘卖出策略 当你持有Pump.fun代币,希望在代币迁移到Raydium时立即卖出获利: ```json { "pair": "代币地址", "amountOrPercent": 1.0, "jitoEnabled": true, "jitoTip": 0.001 } ``` ### 2. 跟随Dev卖出策略 当你担心开发者抛售,希望在开发者开始大量卖出时及时止损: ```json { "pair": "代币地址", "minDevSellPercent": 0.2, "amountOrPercent": 0.5, "jitoEnabled": true } ``` ### 3. 风险控制 结合开盘卖出和跟随Dev卖出,实现多层风险控制: - 设置开盘卖出任务,在迁移时卖出50% - 设置跟随Dev卖出任务,当Dev卖出超过30%时卖出剩余的50% ## 技术特性 ### 费用控制 - **自动费用模式**: 系统自动选择最优费用设置 - **自定义费用模式**: 可精确控制优先费和贿赂费 - **防夹模式**: 启用Jito防夹,避免MEV攻击 ### 滑点保护 - 支持设置最大滑点限制 - 自动根据市场情况调整交易策略 ### 可靠性保证 - 多节点并发执行,提高成功率 - 失败自动重试机制 - 任务有效期限制,避免过期执行 ## 注意事项 1. **钱包配置**: `walletId` 参数是可选的,如果不提供将自动使用环境变量 `DBOT_WALLET_ID` 中的钱包ID 2. **代币类型**: - `pump`: 表示代币还未上Raydium - `raydium_amm`: 表示代币已上Raydium 3. **任务监控**: 系统会持续监控条件状态,满足条件时自动执行 4. **费用设置**: - `customFeeAndTip=false`: 高速模式下只有优先费有效,防夹模式下只有贿赂费有效 - `customFeeAndTip=true`: 优先费和贿赂费均有效 5. **风险控制**: 建议设置合理的卖出比例和滑点限制 ## 错误处理 所有工具调用都会返回详细的错误信息,帮助快速定位和解决问题常见错误包括: - API密钥错误 - 钱包ID无效 - 代币地址格式错误 - 参数范围超出限制 ## 📚 API文档 完整的API文档请参考:[DBot API](https://dbotx.com/docs). ## 📄 许可证 MIT ## 💡 支持 如有问题或建议,请访问:[GitHub Issues](https://github.com/dbotx/dbot-mcp-servers/issues).