About Uniswap Trader MCP
Uniswap Trader MCP is an MCP server that lets AI agents automate token swaps on the Uniswap DEX across several blockchains. It provides tools for price quotes, swap execution and trading suggestions, and supports eight chains.
Key features
- 01Price quotes with multi-hop route optimization
- 02Swap execution on Uniswap V3
- 03Configurable slippage tolerance and deadline
- 04Trading suggestions based on liquidity and fees
- 05Support for eight chains including Ethereum and Base
Use cases
- 01Letting an agent fetch live token swap quotes
- 02Executing token swaps with set slippage and deadline
- 03Comparing swap routes and costs across chains
MCP support
This project is an MCP server that exposes tools such as getPrice and executeSwap to MCP clients for quoting and executing swaps.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEUniswap 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
-
Clone the Repository:
git clone https://github.com/kukapay/uniswap-trader-mcp.git cd uniswap-trader-mcp -
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: 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"
}
License
MIT License. See LICENSE for details.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.