MCP ExplorerExplorer

Uniswap Trader Mcp

@kukapayon 9 months ago
17 MIT
FreeCommunity
AI Systems
An MCP server for AI agents to automate token swaps on Uniswap DEX across multiple blockchains.

Overview

What is Uniswap Trader Mcp

Uniswap-Trader-MCP is an MCP server designed for AI agents to automate token swaps on the Uniswap decentralized exchange (DEX) across multiple blockchains.

Use cases

Use cases include automated trading strategies, arbitrage opportunities between different blockchains, and optimizing token swaps for users seeking the best prices and lowest fees.

How to use

To use Uniswap-Trader-MCP, clone the repository, install dependencies using npm, configure the server with your Infura key and wallet private key, and ensure the supported blockchains are set up with valid RPC URLs.

Key features

Key features include real-time price quotes with multi-hop route optimization, configurable swap execution on Uniswap V3, trading suggestions based on liquidity and fees, and support for multiple blockchains such as Ethereum, Optimism, and Polygon.

Where to use

Uniswap-Trader-MCP can be used in the decentralized finance (DeFi) sector, particularly for automated trading and liquidity management across various blockchain networks.

Content

Uniswap Trader MCP

smithery badge

An MCP server for AI agents to automate token swaps on Uniswap DEX across multiple blockchains.

Features

  • Price Quotes: Get real-time price quotes for token swaps with multi-hop route optimization.
  • Swap Execution: Execute swaps on Uniswap V3 with configurable slippage tolerance and deadlines.
  • Swap Suggestions: Generate trading suggestions based on liquidity, fees, and optimal paths.
  • Multi-Chain Support: Compatible with Ethereum, Optimism, Polygon, Arbitrum, Celo, BNB Chain, Avalanche, and Base.

Prerequisites

  • Node.js: Version 14.x or higher.
  • npm: For package management.
  • Wallet: A funded wallet with a private key for executing swaps.
  • RPC Endpoints: Access to blockchain RPC URLs (e.g., Infura, Alchemy) for supported chains.

Installation

Installing via Smithery

To install Uniswap Trader MCP for Claude Desktop automatically via Smithery:

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

Manual Installation

  1. Clone the Repository:

    git clone https://github.com/kukapay/uniswap-trader-mcp.git
    cd uniswap-trader-mcp
    
  2. Install Dependencies:

    npm install
    

Configuration

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

Usage

Supported Chains

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

Tools and Prompts

1. getPrice

Fetches 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"
}

2. executeSwap

Executes a swap on Uniswap.

Schema:

  • chainId: Number (default: 1)
  • tokenIn: String
  • tokenOut: String
  • amountIn: 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"
}

License

MIT License. See LICENSE for details.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers