uniswap-pools-mcp
If you are the rightful owner of uniswap-pools-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
An MCP server for querying Uniswap pools/pairs by token address, delivering clean, structured results for easy integration and analysis.
Uniswap Pools MCP
An MCP server for querying Uniswap pools/pairs by token address, delivering clean, structured results for easy integration and analysis.
Features
- Query Uniswap Pools/Pairs:
- Fetch V2, V3, and V4 pools/pairs for a given token address.
- Retrieve specific pool/pair details by version (
v2
,v3
,v4
) and ID.
- Formatted Output:
- Returns data in markdown tables for combined pool queries.
- Provides markdown text summaries for specific pool/pair queries, including token addresses.
Installation
Prerequisites
- Python: Version 3.10 or higher.
- uv: A Python package manager (recommended for dependency management).
- The Graph API Key: Required for querying Subgraphs. Obtain one from The Graph.
Setup
-
Clone the Repository:
git clone https://github.com/kukapay/uniswap-pools-mcp.git cd uniswap-pools-mcp
-
Install Dependencies:
uv sync
-
Installing to Claude Desktop:
Install the server as a Claude Desktop application:
uv run mcp install main.py --name "Uniswap Pools"
Configuration file as a reference:
{ "mcpServers": { "Uniswap Pools": { "command": "uv", "args": [ "--directory", "/path/to/uniswap-pools-mcp", "run", "main.py" ], "env": { "THEGRAPH_API_KEY": "thegraph-api-key"} } } }
Replace
/path/to/uniswap-pools-mcp
with your actual installation path, andthegraph-api-key
with your API key from The Graph.
Usage
The server provides several tools to query Uniswap pool/pair data.
Tools
-
Get All Pools/Pairs for a Token:
def get_token_pools(token_address: str) -> str:
-
Description: Queries all Uniswap V2, V3, and V4 pools/pairs for a given token address.
-
Parameters:
token_address
(str): Ethereum address of the token (e.g.,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
for USDC).
-
Output: Markdown table with columns: Version, ID, Pair, Fee Tier, Volume USD, Liquidity/ReserveUSD, Fees USD.
-
Example:
Prompt:
Get Uniswap pools for token at address 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Output:
| Version | ID | Pair | Fee Tier | Volume USD | Liquidity/ReserveUSD | Fees USD | |---------|--------------------------------------------|-----------|----------|------------|---------------------|----------| | v2 | 0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc | USDC/WETH | 3000 | 2000000.0 | 500000.0 | N/A | | v3 | 0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640 | USDC/WETH | 500 | 1000000.0 | 123456789 | 5000.0 | | v4 | 0x1234567890abcdef1234567890abcdef12345678 | USDC/WETH | 1000 | 500000.0 | 987654321 | 2500.0 |
-
-
Get Specific Pool/Pair by Version and ID:
def get_pool_data(version: str, pool_id: str) -> str:
-
Description: Queries a specific Uniswap pool/pair by version (
v2
,v3
, orv4
) and ID. -
Parameters:
version
(str): Uniswap version (v2
,v3
, orv4
).pool_id
(str): Ethereum address of the pool or pair (e.g.,0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc
).
-
Output: Markdown text with details: Version, ID, Pair, Token0 Address, Token1 Address, Fee Tier, Volume USD, Liquidity/ReserveUSD, Fees USD.
-
Example:
Prompt:
Get Uniswap V2 pool data by ID 0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc
Output:
**Uniswap V2 Pair Details** - **Version**: v2 - **ID**: 0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc - **Pair**: USDC/WETH - **Token0 Address**: 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - **Token1 Address**: 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - **Fee Tier**: 3000 (0.3%) - **Volume USD**: 2000000.0 - **Liquidity/ReserveUSD**: 500000.0 - **Fees USD**: N/A
-
License
This project is licensed under the MIT License. See the file for details.