返回市场
统一交换交易器-MCP

统一交换交易器-MCP

作者:kukapay34 星标更新:2025-05-08

项目介绍

Uniswap 交易者 MCP

smithery 徽章

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

功能

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

预备条件

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

安装

通过Smithery安装

要通过Smithery自动安装Uniswap交易者MCP到Claude桌面:

npx -y @smithery/cli install @kukapay/uniswap-trader-mcp --client claude

手动安装

  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": "你的infura密钥",
        "WALLET_PRIVATE_KEY": "你的私钥"
      }
    }
  }
}

使用方法

支持的链

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

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

工具和提示

1. getPrice

获取Uniswap交换的价格报价。

模式

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

示例提示:

给我一个在以太坊上用1 ETH交换DAI的价格报价。

输出:

{
  "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,在分钟内)

示例提示:

在以太坊上用1 ETH交换DAI,滑点容忍度为0.5%,截止时间为20分钟。

输出:

{
  "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