使用说明

项目简介

Uniswap PoolSpy Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,专门用于监控去中心化交易平台 Uniswap V3 上新创建的流动性池子。它能够跨越包括 Ethereum, Base, Optimism 等九个区块链网络,实时抓取并提供最新的交易池数据。该服务器旨在为 DeFi (去中心化金融) 领域的分析师、交易员和开发者提供及时、全面的链上信息,方便他们进行市场分析、交易策略制定和应用开发。

主要功能点

  • 多链支持: 监控 Ethereum, Base, Optimism, Arbitrum, Polygon, BNB Smart Chain, Avalanche, Celo 和 Blast 九个区块链网络上的 Uniswap V3 交易池。
  • 实时数据: 实时追踪新创建的流动性池,确保数据的及时性。
  • 灵活查询: 允许用户自定义查询的时间范围和结果数量,并支持按时间戳、交易计数、交易量或总锁仓价值 (TVL) 进行排序。
  • 数据丰富: 提供包括池地址、代币对、创建时间、区块号、交易计数、交易量和总锁仓价值等关键数据。
  • MCP 协议支持: 作为 MCP 服务器,能够与 MCP 客户端(如 Claude Desktop)无缝集成,通过标准化的 JSON-RPC 协议提供数据服务。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/kukapay/uniswap-poolspy-mcp.git
    cd uniswap-poolspy-mcp
  2. 安装 uv (可选): 如果还没有安装 'uv',请先安装 'uv' 包管理器 (推荐使用 'uv' 进行依赖管理):

    curl -LsSf https://astral.sh/uv/install.sh | sh
  3. 安装依赖: 使用 'uv' 同步 'pyproject.toml' 文件中声明的依赖:

    uv sync
  4. 配置 The Graph API Key: 在项目根目录下创建 '.env' 文件,并填入你的 The Graph API Key。你需要先在 The Graph Studio 获取 API Key。

    echo "THEGRAPH_API_KEY=YOUR_API_KEY_HERE" > .env

    将 'YOUR_API_KEY_HERE' 替换为你的实际 API Key。

服务器配置

为了让 MCP 客户端(例如 Claude Desktop)能够发现并连接到 Uniswap PoolSpy Server,你需要在 MCP 客户端的配置文件(通常是 'mcpServers' 文件)中添加以下服务器配置信息。以下配置信息为 JSON 格式,请复制到你的 MCP 客户端配置文件中。

{
  "mcpServers": {
    "Uniswap-PoolSpy": {
      "command": "uv",  // 启动服务器的命令,这里使用 uv 包管理器
      "args": ["--directory", "path/to/uniswap-poolspy-mcp", "run", "main.py"], // 命令参数,包括指定项目目录和运行主程序
      "env": {
        "THEGRAPH_API_KEY": "your api key from The Graph" // 环境变量,用于传递 The Graph API Key,请替换为你的实际 API Key
      }
    }
  }
}

注意:

  • 请将 'path/to/uniswap-poolspy-mcp' 替换为你的 'uniswap-poolspy-mcp' 仓库在本地文件系统中的实际路径。
  • 请务必将 '"your api key from The Graph"' 替换为你在 The Graph 获取的 API Key。虽然这里作为注释,但实际配置时应替换为真实 API Key,或者确保你的 '.env' 文件中的 'THEGRAPH_API_KEY' 环境变量能够被正确读取。

基本使用方法

  1. 启动服务器: 在仓库根目录下,使用以下命令启动 Uniswap PoolSpy Server:

    uv run main.py

    或者使用开发模式启动(用于 MCP Inspector 等开发工具):

    uv run mcp dev main.py
  2. 在 MCP 客户端中使用工具: 在支持 MCP 协议的客户端(如 Claude Desktop)中,你可以使用 'get_new_pools' 工具查询新创建的 Uniswap 交易池。你可以使用自然语言指令,例如:

    • "Show me new pools on Ethereum from the last 10 minutes" (展示以太坊上过去 10 分钟内的新交易池)
    • "List pools on Base sorted by volume, limit to 50" (列出 Base 链上按交易量排序的前 50 个交易池)
    • "What pools were created on Polygon in the past hour, ordered by TVL?" (Polygon 链上过去一小时内按 TVL 排序的新交易池有哪些?)

    'get_new_pools' 工具接受以下参数:

    • 'chain': 区块链网络 (例如 "ethereum", "base", "optimism" 等,具体支持的网络请参考“支持的链”部分)。
    • 'order_by': 排序字段 ("timestamp", "txcount", "volume", "tvl")。
    • 'time_range_seconds': 查询的时间范围,单位为秒 (默认 300 秒,即 5 分钟)。
    • 'limit': 返回的交易池数量上限 (默认 100 个)。

支持的链

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

信息

分类

开发者工具