跨链交换MCP服务器
一种模型上下文协议(MCP)服务器,支持使用1英寸Fusion+协议进行跨链令牌交换。该服务器提供用于在不同区块链网络之间执行交换并监控其状态的工具。
特性
- 跨链代币互换:使用1英寸Fusion在Base和Arbitrum网络之间执行交换+
- 投资组合管理:查询投资组合值、令牌详细信息和协议信息
- 订单监控:使用守护进程服务对掉期订单进行自动后台监控
- 状态跟踪:所有掉期订单的实时状态更新
- MCP集成:支持AI助手集成的完整模型上下文协议
先决条件
- Node.js(v16或更高版本)
- 纱线
- 1英寸API密钥(开发人员门户)
- 钱包操作私钥
安装
- 克隆存储库:
git clone https://github.com/ekailabs/1inch_mcp_server.git
cd 1inch_mcp_server- 安装依赖项:
yarn install用法
启动MCP服务器
{
"mcpServers": {
"one-inch-mcp-server": {
"command": "node",
"args": [
"Path/mcpServer.js"
]
}
}
}这将:
- 在后台启动监控守护进程
- 启动MCP服务器进行工具交互
可用脚本
npm start-使用监控守护进程启动MCP服务器npm run status-检查所有掉期订单的状态npm run monitor-查看监控服务状态npm run monitor:start-启动监控守护进程npm run monitor:stop-停止监控守护进程
MCP工具
服务器提供了几个可通过MCP访问的工具:
swap
执行跨链代币交换。
参数:
srcChainId(可选):源链ID(默认值:8453代表Base)dstChainId(可选):目标链ID(默认值:Arbitrum为42161)srcTokenAddress(可选):源代币合约地址dstTokenAddress(可选):目标令牌合约地址amount(可选):以基本单位交换的金额(默认值:1000000=1 USDC)invert(可选):反转交换方向
swap-status
检查掉期订单的状态。
参数:
orderHash(可选):要检查的特定订单哈希(所有订单省略)
投资组合工具
portfolio-protocols-value-获取当前协议值portfolio-tokens-details-获取详细的令牌信息portfolio-general-value-获取总体投资组合价值portfolio-value-chart-获取投资组合价值图数据
资源
swap-status
通过URI访问交换订单状态: swaps://{orderHash}
建筑
核心组件
index.js-使用1英寸跨链SDK的主交换执行逻辑mcpServer.js-使用工具和资源实现MCP服务器monitor-service.js-后台订单监控守护进程服务monitor-worker.js-个人订单监控的工人流程status.js-用于检查订单状态的实用程序
监控系统
该项目包括一个复杂的监控系统:
- 守护进程:在后台运行,自动检测新订单
- 工人流程:单个流程监控每个掉期订单
- 状态持久性:订单状态已保存到
order-status.json - 自动清理:订单完成时流程终止
支持的网络
- 基础 (链ID:8453)
- 仲裁 (链ID:42161)
默认令牌:
- USDC基准:
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 - Arbitrum的美元兑加元:
0xaf88d065e77c8cC2239327C5EDb3A432268e5831
网络配置
该项目支持中的自定义网络配置 index.js:
const networkConfigs = {
8453: "https://rpc.ankr.com/base",
42161: "https://arb1.arbitrum.io/rpc"
};订单状态跟踪
订单通过几个州进行跟踪:
pending-订单已提交,等待执行executed-订单已成功完成- 基于1英寸协议响应的自定义状态
状态信息包括:
- 订单哈希
- 订单执行的秘密和秘密哈希
- 开始时间和上次更新时间戳
- 监控过程状态
