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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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