
Uniswap Trader MCP
An MCP server for AI agents to automate token swaps on Uniswap DEX across multiple blockchains.
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.
how to use Uniswap Trader MCP?
To use Uniswap Trader MCP, clone the repository from GitHub, install the necessary dependencies, and configure your wallet and RPC endpoints. You can then execute token swaps using the provided tools and prompts.
key features of Uniswap Trader MCP?
- 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 various blockchains including Ethereum, Optimism, Polygon, and more.
use cases of Uniswap Trader MCP?
- Automating token swaps for trading strategies.
- Fetching real-time price quotes for market analysis.
- Executing trades across multiple blockchains seamlessly.
FAQ from Uniswap Trader MCP?
- Can I use Uniswap Trader MCP on any blockchain?
Yes! It supports multiple blockchains including Ethereum, BNB Chain, and Avalanche.
- Do I need a funded wallet to use this project?
Yes, a funded wallet with a private key is required to execute swaps.
- Is there any cost associated with using Uniswap Trader MCP?
The project is open-source and free to use, but transaction fees on the blockchain apply.
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
-
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
getPrice
1. 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"
}
executeSwap
2. 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.