deBridge MCP服务器
一种模型上下文协议(MCP)服务器,使用deBridge DLN协议提供跨链交换报价。
特性
- 获取不同区块链网络之间的跨链交换报价
- 只读操作(无需交易签名)
- 通过deBridge API快速获取报价
安装
bun install用法
运行MCP服务器
启动服务器以与Claude Desktop或其他MCP客户端一起使用:
bun run dev测试
运行测试套件:
bun test建筑
构建TypeScript项目:
bun run build启动已编译的服务器:
bun run startMCP工具
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__/-所有工具的测试套件
参考文献
许可证
麻省理工学院
