U

UniswapTrader-MCP跨链交易工具

@kukapay/uniswap-trader-mcp
0 Stars 393 次浏览 kukapay 更新于 2026-08-23

一个MCP服务器,用于AI代理在多个区块链上的Uniswap去中心化交易所自动进行代币交换。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "Uniswap-Trader-MCP": {
      "args": [
        "path/to/uniswap-trader-mcp/server/index.js"
      ],
      "command": "node",
      "env": {
        "INFURA_KEY": "your infura key",
        "WALLET_PRIVATE_KEY": "your private key"
      }
    }
  }
}

该服务需要配置环境变量:INFURA_KEY、WALLET_PRIVATE_KEY

服务介绍

Uniswap Trader MCP

一个用于AI代理在多个区块链上自动化Uniswap DEX代币交换的MCP服务器。

功能

  • 价格报价: 获取具有多跳路线优化的实时代币交换价格报价。
  • 执行交换: 在Uniswap V3上执行带有可配置滑点容忍度和截止时间的交换。
  • 交换建议: 根据流动性、费用和最优路径生成交易建议。
  • 多链支持: 兼容以太坊、Optimism、Polygon、Arbitrum、Celo、BNB Chain、Avalanche和Base。

前提条件

  • Node.js: 版本14.x或更高。
  • npm: 用于包管理。
  • 钱包: 一个拥有私钥的资金充足的钱包,用于执行交换。
  • RPC端点: 对于支持的链访问区块链RPC URL(例如,Infura, Alchemy)。

安装

  1. 克隆仓库:

    git clone https://github.com/kukapay/uniswap-trader-mcp.git
    cd uniswap-trader-mcp
    
  2. 安装依赖:

    npm install
    

配置

{
  "mcpServers": {
    "Uniswap-Trader-MCP": {
      "command": "node",
      "args": ["path/to/uniswap-trader-mcp/server/index.js"],
      "env": {
        "INFURA_KEY": "your infura key",
        "WALLET_PRIVATE_KEY": "your private key"
      }
    }
  }
}

使用

支持的链

支持以下区块链。确保每条链都在chainConfigs.js中配置了有效的RPC URL、WETH地址和SwapRouter地址。

链ID 名称 备注
1 以太坊 主网,广泛用于Uniswap交易
10 Optimism 第二层,需要Optimism RPC
137 Polygon 快速且低成本,使用MATIC作为原生代币
42161 Arbitrum 第二层,Arbitrum One网络
42220 Celo 移动优先区块链,使用CELO
56 BNB Chain Binance智能链,使用BNB
43114 Avalanche 高吞吐量,使用AVAX
8453 Base Coinbase的第二层,基于Optimism构建

工具和提示

1. getPrice

获取Uniswap交换的价格报价。

模式:

  • chainId: 数字 (默认: 1)
  • tokenIn: 字符串 (例如, "NATIVE" 或代币地址)
  • tokenOut: 字符串 (例如, "NATIVE" 或代币地址)
  • amountIn: 字符串 (可选, 对于"exactIn"是必需的)
  • amountOut: 字符串 (可选, 对于"exactOut"是必需的)
  • tradeType: "exactIn""exactOut" (默认: "exactIn")

示例提示:

Get me a price quote for swapping 1 ETH to DAI on Ethereum.

输出:

{
  "chainId": 1,
  "tradeType": "exactIn",
  "price": "3000.50",
  "inputAmount": "1.000000",
  "outputAmount": "3000.50",
  "minimumReceived": "2985.50",
  "maximumInput": "1.005000",
  "route": [
    {
      "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
      "tokenOut": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
      "fee": 3000
    }
  ],
  "estimatedGas": "150000"
}

2. executeSwap

在Uniswap上执行交换。

模式:

  • chainId: 数字 (默认: 1)
  • tokenIn: 字符串
  • tokenOut: 字符串
  • amountIn: 字符串 (可选, 对于"exactIn"是必需的)
  • amountOut: 字符串 (可选, 对于"exactOut"是必需的)
  • tradeType: "exactIn""exactOut" (默认: "exactIn")
  • slippageTolerance: 数字 (默认: 0.5, 百分比)
  • deadline: 数字 (默认: 20, 分钟)

示例提示:

Swap 1 ETH for DAI on Ethereum with a 0.5% slippage tolerance and a 20-minute deadline.

输出:

{
  "chainId": 1,
  "txHash": "0x1234...abcd",
  "tradeType": "exactIn",
  "amountIn": "1.000000",
  "outputAmount": "2990.75",
  "minimumReceived": "2985.50",
  "maximumInput": "1.005000",
  "fromToken": "NATIVE",
  "toToken": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
  "route": [
    {
      "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
      "tokenOut": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
      "fee": 3000
    }
  ],
  "gasUsed": "145000"
}

许可证

MIT许可证。详情请参见LICENSE

相关 MCP 服务