跨链交换服务器

一个提供跨链交换报价的Model Context Protocol (MCP)服务器,使用deBridge DLN协议实现不同区块链网络之间的资产交换。

  • by RookieCol
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 RookieCol/debridge-mcp

使用说明

deBridge MCP服务器

一种模型上下文协议(MCP)服务器,使用deBridge DLN协议提供跨链交换报价。

特性

  • 获取不同区块链网络之间的跨链交换报价
  • 只读操作(无需交易签名)
  • 通过deBridge API快速获取报价

安装

bun install

用法

运行MCP服务器

启动服务器以与Claude Desktop或其他MCP客户端一起使用:

bun run dev

测试

运行测试套件:

bun test

建筑

构建TypeScript项目:

bun run build

启动已编译的服务器:

bun run start

MCP工具

1. quoteSwap

通过deBridge DLN获取潜在交换的最佳跨链路由和呼叫数据。

参数:

  • srcChainId -源链ID(例如,Arbitrum的“42161”)
  • srcToken -源链上的令牌地址(ERC20)
  • amount -最小单位金额(wei/代币小数)
  • dstChainId -目标链ID(例如,以太坊主网的“1”)
  • dstToken -目标链上的令牌地址(ERC20)
  • userAddress (可选)-发件人的钱包地址(启用交易数据生成)
  • recipientAddress (可选)-目标链上的收件人地址

模式:

  • 预览模式 (无地址):仅返回估计值,不返回tx数据
  • 完全模式 (使用userAddress):返回估计值+准备签名的交易数据

答复包括:

  • 预计目的地金额和费用汇总
  • 令牌信息(符号、小数)
  • 交易预览(到、数据、值)
  • 来自deBridge的原始估算数据

2. getSupportedChains

获取支持跨链交换的区块链网络列表。

参数: 无

答复包括:

  • 包含链ID和名称的受支持链数组
  • 支持的链总数

3. getTokensInfo

获取特定区块链网络上可用代币的信息。

参数:

  • chainId -要查询的链ID(例如,以太坊为'1',BSC为'56')

答复包括:

  • 包含地址、符号和小数的可用令牌列表
  • 链的令牌总数

4. getOrderStatus

通过订单ID检查跨链订单的状态。

参数:

  • orderId -创建订单时获得的订单ID

答复包括:

  • 订单状态(已创建、已完成等)
  • 源和目标链交易哈希
  • 订单跟踪链接
  • 错误信息(如适用)

环境变量

可选环境变量:

  • DLN_API_BASE -自定义deBridge API基础URL(默认值: https://dln.debridge.finance/v1.0)

示例

1.获取从Arbitrum到以太坊的USDC掉期报价(预览模式)

{
  "srcChainId": "42161",
  "srcToken": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
  "amount": "1000000",
  "dstChainId": "1",
  "dstToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
}

2.使用交易数据获取报价(完整模式)

{
  "srcChainId": "42161",
  "srcToken": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
  "amount": "1000000",
  "dstChainId": "1",
  "dstToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "userAddress": "0xYourWalletAddress"
}

3.获得支撑链

无需参数-只需调用 getSupportedChains

4.在以太坊上获取可用代币

{
  "chainId": "1"
}

5.检查订单状态

{
  "orderId": "0x..."
}

建筑

  • src/index.ts -MCP服务器设置和工具注册
  • src/tools/ -所有MCP工具实施
    • quoteSwap.ts -跨链掉期报价
    • getSupportedChains.ts -列出支持的链
    • getTokensInfo.ts -按链列出的令牌信息
    • getOrderStatus.ts -订单状态跟踪
  • src/debridgeClient.ts -deBridge API客户端
  • src/types/deBridge.ts -TypeScript类型定义
  • src/__tests__/ -所有工具的测试套件

参考文献

许可证

麻省理工学院