
uniswap-pools-mcp
An MCP server for querying Uniswap pools/pairs by token address, delivering clean, structured results for easy integration and analysis.
Tools
get_token_pools_v2
Query all Uniswap V2 pairs for a specific token and return as a formatted markdown table. Parameters: token_address (str): The Ethereum address of the token to query (e.g., '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'). ctx (Context): The API context for logging and error handling. Returns: A markdown-formatted string containing a table with columns: Version, ID, Pair, Volume USD, ReserveUSD.
get_pool_data
Query a specific Uniswap pool/pair by version (v2, v3, v4) and ID and return as markdown text. Parameters: version (str): The Uniswap version to query ('v2', 'v3', or 'v4'). pool_id (str): The Ethereum address of the pool or pair to query (e.g., '0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc'). ctx (Context): The API context for logging and error handling. Returns: A markdown-formatted string containing details of the pool/pair, including Version, ID, Pair, Token0 Address, Token1 Address, Fee Tier, Volume USD, Liquidity/ReserveUSD, and Fees USD.
get_token_pools
Query all Uniswap V2, V3, and V4 pools/pairs for a specific token and return as a formatted markdown table. Parameters: token_address (str): The Ethereum address of the token to query (e.g., '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'). ctx (Context): The API context for logging and error handling. Returns: A markdown-formatted string containing a table with columns: Version, ID, Pair, Fee Tier, Volume USD, Liquidity/ReserveUSD, Fees USD, sorted by Volume USD in descending order.
get_token_pools_v3
Query all Uniswap V3 pools for a specific token and return as a formatted markdown table. Parameters: token_address (str): The Ethereum address of the token to query (e.g., '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'). ctx (Context): The API context for logging and error handling. Returns: A markdown-formatted string containing a table with columns: Version, ID, Pair, Fee Tier, Volume USD, Liquidity.
get_token_pools_v4
Query all Uniswap V4 pools for a specific token and return as a formatted markdown table. Parameters: token_address (str): The Ethereum address of the token to query (e.g., '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'). ctx (Context): The API context for logging and error handling. Returns: A markdown-formatted string containing a table with columns: Version, ID, Pair, Fee Tier, Volume USD, Liquidity.
README
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 LICENSE file for details.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.