Uniswap交易员
STDIO多链Uniswap自动代币交易服务
多链Uniswap自动代币交易服务
An MCP server for AI agents to automate token swaps on Uniswap DEX across multiple blockchains.
To install Uniswap Trader MCP for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @kukapay/uniswap-trader-mcp --client claude
Clone the Repository:
git clone https://github.com/kukapay/uniswap-trader-mcp.git cd uniswap-trader-mcp
Install Dependencies:
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" } } } }
The following blockchains are supported. Ensure each chain is configured in chainConfigs.js with a valid RPC URL, WETH address, and SwapRouter address.
| Chain ID | Name | Notes | 
|---|---|---|
| 1 | Ethereum | Mainnet, widely used for Uniswap trades | 
| 10 | Optimism | Layer 2, requires Optimism RPC | 
| 137 | Polygon | Fast and low-cost, uses MATIC as native | 
| 42161 | Arbitrum | Layer 2, Arbitrum One network | 
| 42220 | Celo | Mobile-first blockchain, uses CELO | 
| 56 | BNB Chain | Binance Smart Chain, uses BNB | 
| 43114 | Avalanche | High-throughput, uses AVAX | 
| 8453 | Base | Coinbase’s Layer 2, built on Optimism | 
getPriceFetches a price quote for a Uniswap swap.
Schema:
chainId: Number (default: 1)tokenIn: String (e.g., "NATIVE" or token address)tokenOut: String (e.g., "NATIVE" or token address)amountIn: String (optional, required for "exactIn")amountOut: String (optional, required for "exactOut")tradeType: "exactIn" or "exactOut" (default: "exactIn")Example prompt:
Get me a price quote for swapping 1 ETH to DAI on Ethereum.
Output:
{
  "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"
}
executeSwapExecutes a swap on Uniswap.
Schema:
chainId: Number (default: 1)tokenIn: StringtokenOut: StringamountIn: String (optional, required for "exactIn")amountOut: String (optional, required for "exactOut")tradeType: "exactIn" or "exactOut" (default: "exactIn")slippageTolerance: Number (default: 0.5, in percentage)deadline: Number (default: 20, in minutes)Example prompt:
Swap 1 ETH for DAI on Ethereum with a 0.5% slippage tolerance and a 20-minute deadline.
Output:
{
  "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. See LICENSE for details.