使用说明
项目简介
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 协议提供数据服务。
安装步骤
-
克隆仓库:
git clone https://github.com/kukapay/uniswap-poolspy-mcp.git cd uniswap-poolspy-mcp -
安装 uv (可选): 如果还没有安装 'uv',请先安装 'uv' 包管理器 (推荐使用 'uv' 进行依赖管理):
curl -LsSf https://astral.sh/uv/install.sh | sh -
安装依赖: 使用 'uv' 同步 'pyproject.toml' 文件中声明的依赖:
uv sync -
配置 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' 环境变量能够被正确读取。
基本使用方法
-
启动服务器: 在仓库根目录下,使用以下命令启动 Uniswap PoolSpy Server:
uv run main.py或者使用开发模式启动(用于 MCP Inspector 等开发工具):
uv run mcp dev main.py -
在 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
信息
分类
开发者工具