Uniswap PoolSpy MCP server

Tracks newly created Uniswap V3 liquidity pools across nine blockchain networks, providing detailed metrics like transaction count, volume, and TVL for cryptocurrency traders and researchers.
Back to servers
Setup instructions
Provider
kukapay
Release date
Mar 19, 2025
Language
Python
Stats
4 stars

The Uniswap PoolSpy MCP Server tracks newly created liquidity pools on Uniswap across nine blockchain networks in real-time. It provides valuable data for DeFi analysts, traders, and developers who need to monitor pool creation and related metrics across multiple chains.

Features

  • Monitors Uniswap V3 pool creation across 9 blockchain networks
  • Customizable time range and result limits for querying new pools
  • Supports sorting by timestamp, transaction count, volume, or TVL

Prerequisites

Before installing the PoolSpy server, ensure you have:

  • Python 3.10 or higher
  • uv for package management
  • A valid The Graph API key
  • MCP-compatible environment (e.g., Claude Desktop) for full functionality

Installation

Clone the Repository

git clone https://github.com/yourusername/uniswap-poolspy-mcp.git
cd uniswap-poolspy-mcp

Set Up Environment

Install uv if you haven't already:

curl -LsSf https://astral.sh/uv/install.sh | sh

Install Dependencies

Use uv to sync dependencies from pyproject.toml:

uv sync

Configure API Key

Create a .env file in the project root:

echo "THEGRAPH_API_KEY=your-api-key-here" > .env

Replace your-api-key-here with your actual The Graph API key.

Usage

Running the Server

Start the MCP server with:

uv run main.py

For development with MCP Inspector:

uv run mcp dev main.py

Integrating with Claude Desktop

Install the server as an MCP plugin:

uv run mcp install main.py --name "UniswapPoolSpy"

Configuration

To make the server discoverable by MCP clients (e.g., Claude Desktop), configure it in an mcpServers file:

{
  "mcpServers": {
    "Uniswap-PoolSpy": {
      "command": "uv",
      "args": ["--directory", "path/to/uniswap-poolspy-mcp", "run", "main.py"],
      "env": {
        "THEGRAPH_API_KEY": "your api key from The Graph"
      }
    }
  }
}

Querying New Pools

Use the get_new_pools tool in Claude Desktop with natural language queries like:

  • "Show me new pools on Ethereum from the last 10 minutes"
  • "List pools on Base sorted by volume, limit to 50"
  • "What pools were created on Polygon in the past hour, ordered by TVL?"

The tool accepts these parameters:

  • chain: Blockchain network (e.g., "ethereum", "base", "optimism")
  • order_by: Sort field ("timestamp", "txcount", "volume", "tvl")
  • time_range_seconds: Lookback period in seconds (default: 300)
  • limit: Maximum number of pools to return (default: 100)

Example Output

Newly Created Trading Pools (Last 5 Minutes, Limit: 100):
Pool Address: 0x1234...abcd
Tokens: WETH/USDC
Created At: 2025-03-18 12:34:56
Block Number: 12345678
Transaction Count: 5
Volume (USD): 15000.25
Total Value Locked (USD): 50000.75

Pool Address: 0x5678...efgh
Tokens: DAI/USDT
Created At: 2025-03-18 12:33:45
Block Number: 12345670
Transaction Count: 3
Volume (USD): 8000.50
Total Value Locked (USD): 25000.00

Supported Chains

The server monitors pool creation on these networks:

  • Ethereum
  • Base
  • Optimism
  • Arbitrum
  • Polygon
  • BNB Smart Chain (BSC)
  • Avalanche
  • Celo
  • Blast

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "Uniswap-PoolSpy" '{"command":"uv","args":["--directory","path/to/uniswap-poolspy-mcp","run","main.py"],"env":{"THEGRAPH_API_KEY":"your api key from The Graph"}}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "Uniswap-PoolSpy": {
            "command": "uv",
            "args": [
                "--directory",
                "path/to/uniswap-poolspy-mcp",
                "run",
                "main.py"
            ],
            "env": {
                "THEGRAPH_API_KEY": "your api key from The Graph"
            }
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "Uniswap-PoolSpy": {
            "command": "uv",
            "args": [
                "--directory",
                "path/to/uniswap-poolspy-mcp",
                "run",
                "main.py"
            ],
            "env": {
                "THEGRAPH_API_KEY": "your api key from The Graph"
            }
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later