Skip to main content
Glama

Uniswap Trader MCP

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.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/catwhisperingninja/uniswap-trader-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server