README.md•2.38 kB
# Uniswap V3 Price MCP Server
An MCP server that delivers real-time token prices from Uniswap V3 across multiple chains — optimized for AI agents and DeFi automation.



## Features
- **Supported Chains**: Ethereum Mainnet (1), Polygon (137), Arbitrum (42161), Optimism (10).
- **Token Price Fetching**: Queries Uniswap V3 pools for token prices against USDT, USDC, or WETH (in that order) with automatic decimal and symbol retrieval.
- **USD Conversion**: Optional USD price conversion using CryptoCompare API for all quote tokens.
## Prerequisites
- **Node.js** (v18 or higher recommended) and **npm**.
- **Infura Account**: Obtain an `INFURA_PROJECT_ID` with access to Ethereum, Polygon, Arbitrum, and Optimism (sign up at [Infura](https://infura.io/)).
## Installation
1. Clone the repository:
```bash
git clone https://github.com/kukapay/uniswap-price-mcp.git
cd uniswap-price-mcp
```
2. Install dependencies:
```bash
npm install
```
3. **Client Configuration**:
```json
{
"mcpServers": {
"Uniswap Price": {
"command": "node",
"args": ["path/to/uniswap-price-mcp/index.js"],
"env": {
"INFURA_PROJECT_ID": "your_infura_project_id"
}
}
}
}
```
Replace `your_infura_project_id` with your Infura project ID.
## Usage
Interact with the server using MCP-compatible clients.
### Tools
#### getSupportedChains
**Prompt**:
```
Show me a list of all blockchain networks supported by the server, formatted as a table.
```
**Result**:
| Chain ID | Chain Name |
|----------|------------------|
| 1 | Ethereum Mainnet |
| 137 | Polygon |
| 42161 | Arbitrum |
| 10 | Optimism |
#### getTokenPrice
**Prompt**:
```
What is the current price of DAI in USD on the Ethereum Mainnet?
```
**Result**:
```
Price of token DAI on chain 1 in USD: 1.00
```
**Prompt**:
```
Get the USD price of Chainlink (LINK) on the Polygon network.
```
**Result**:
```
Price of token LINK on chain 137 in USD: 18.50
```
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.