Uniswap交易MCP服务

一个用于AI代理在多链Uniswap DEX上自动执行代币交换的MCP服务器,提供实时价格报价、交换执行、交易建议和多链支持。

  • by kukapay
  • JavaScript
  • 本地部署
  • 40 星标
  • 更新于
在 GitHub 查看 kukapay/uniswap-trader-mcp

使用说明

Uniswap交易商MCP

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

特性

  • 价格行情:通过多跳路由优化获得代币交换的实时报价。
  • 交换执行:在Uniswap V3上执行掉期,具有可配置的滑差容忍度和截止日期。
  • 交换建议:根据流动性、费用和最佳路径生成交易建议。
  • 多链支持:与以太坊、乐观主义、多边形、Arbitrum、Celo、BNB链、雪崩和Base兼容。

先决条件

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

安装

通过Smithery安装

通过以下方式自动安装克劳德桌面版Uniswap Trader MCP 史密瑟里:

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": "your infura key",
        "WALLET_PRIVATE_KEY": "your private key"
      }
    }
  }
}

用法

支撑链

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

链ID 名称 注释
1 以太坊 主网,广泛用于Uniswap交易
10 乐观 第2层,需要乐观RPC
137 多边形 快速且低成本,使用MATIC作为原生
42161 Arbitrum 第2层,Arbitrum One网络
42220 Celo 移动优先区块链,使用Celo
56 BNB链 币安智能链,使用BNB
43114 雪崩 高吞吐量,使用AVAX
8453 基础 Coinbase的第2层,建立在乐观主义之上

工具和提示

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许可证。看 许可证 了解详情。