使用说明

项目简介

Dune Analytics MCP 服务器是一个基于Model Context Protocol (MCP) 构建的应用后端,旨在为AI代理提供访问Dune Analytics数据的能力。它通过标准化的JSON-RPC接口,将Dune Analytics的强大查询功能暴露为可调用的工具(Tools)。

主要功能点

  • 获取最新结果: AI代理可以通过调用工具,获取指定Dune Analytics查询的最新执行结果,无需重新运行。
  • 执行查询: AI代理可以触发并执行指定的Dune Analytics查询,并在查询完成后获取结果。
  • CSV 输出: 所有查询结果均以CSV格式的字符串返回,方便AI代理解析和处理结构化数据。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/kukapay/dune-analytics-mcp.git
    cd dune-analytics-mcp
  2. 安装依赖: 确保安装了Python 3.10 或更高版本。然后安装项目所需的依赖:
    pip install -r requirements.txt
    (注: requirements.txt 文件通常包含 httpx, pandas, python-dotenv 等依赖)
  3. 设置Dune API Key: 获取您的Dune Analytics API Key (https://dune.com/settings/api)。 创建一个名为 '.env' 的文件在项目根目录,并添加如下内容:
    DUNE_API_KEY=your_api_key_here
    或者,将其设置为系统环境变量:
    export DUNE_API_KEY="your_api_key_here"

服务器配置 (供 MCP 客户端使用)

该MCP服务器需要由一个兼容的MCP客户端启动和连接(例如Smithery CLI集成的客户端)。客户端通常需要以下配置信息来启动服务器进程并与其通信:

  • 服务器名称: Dune Analytics (客户端界面显示名称)
  • 启动命令 (Command): 'python' (或您的Python解释器路径)
  • 命令参数 (Args): '["main.py"]' (指定要执行的服务器主文件)
  • 环境变量 (Environment): 需要确保 'DUNE_API_KEY' 环境变量在服务器进程启动时被设置,值为您的Dune API Key。可以在客户端配置中直接指定,或确保在运行环境已设置。

具体配置方式取决于您使用的MCP客户端软件。

基本使用方法 (AI代理交互)

一旦服务器运行并通过MCP客户端连接到AI代理,代理就可以通过JSON-RPC调用服务器提供的工具。以下是代理可能调用的工具及其用途:

  1. 'get_latest_result':
    • 用途: 获取指定'query_id'的Dune查询的最新结果。
    • 参数: 'query_id' (整数,必需) - 要获取结果的Dune查询ID。
    • 返回: CSV格式的字符串,包含查询结果数据。
  2. 'run_query':
    • 用途: 执行指定'query_id'的Dune查询。请注意,执行可能需要时间。
    • 参数: 'query_id' (整数,必需) - 要执行的Dune查询ID。
    • 返回: CSV格式的字符串,包含查询结果数据(在查询完成后)。

AI代理会根据用户指令,识别需要调用的工具及其参数,然后向MCP服务器发起调用请求。

信息

分类

数据库与文件