项目简介

这是一个针对 Dune Analytics 平台的 MCP 服务器实现,专门设计用于让大型语言模型(如 Claude)能够安全地访问和操作区块链数据。与传统的直接 SQL 查询不同,它采用防御性设计策略,优先推荐使用现有的公开查询,有效保护 API 信用额度并降低 token 消耗。

主要功能

零信用成本的数据发现

  • 智能搜索:通过 GraphQL 接口按关键词搜索公开查询
  • 用户查询列表:查看指定用户的查询历史
  • Spellbook 探索:搜索官方数据模型库获取表结构信息
  • 预算保护机制:防止信用额度耗尽,确保安全使用

查询执行与管理

  • 异步执行:启动查询并返回作业ID,不阻塞等待
  • 结果预览:只返回前5行数据和统计信息,避免 token 浪费
  • CSV 导出:将完整数据集下载到本地文件
  • 智能分析:自动检测数据异常值和趋势

错误诊断与修复

  • AI 驱动分析:对失败查询提供智能修复建议

高级功能(需付费计划)

  • 创建新查询
  • 更新现有查询
  • 归档/删除查询

安装步骤

方法一:通过 PyPI 安装(推荐)

# 使用 uv 工具管理
uv tool install dune-mcp

# 或使用 pip
pip install dune-mcp

方法二:从源码运行

git clone https://github.com/nice-bills/dune-mcp.git
cd dune-mcp
uv sync
cp .env.example .env

服务器配置

将以下配置添加到你的 MCP 客户端配置文件中(如 Claude Desktop 的 'claude_desktop_config.json'):

{
  "mcpServers": {
    "dune": {
      "command": "dune-mcp",
      "env": {
        "DUNE_API_KEY": "你的API密钥",
        "DUNE_USER_HANDLE": "你的用户名(可选)",
        "GITHUB_TOKEN": "GitHub令牌(可选)"
      }
    }
  }
}

配置参数说明

  • 'DUNE_API_KEY':必需的 Dune Analytics API 密钥
  • 'DUNE_USER_HANDLE':你的 Dune 用户名,用于自动识别你的查询
  • 'GITHUB_TOKEN':用于提高 GitHub API 访问限制

基本使用方法

配置完成后,你可以向 LLM 提出以下类型的问题:

  • "查找关于 Base 网络上 Uniswap 交易量的查询"
  • "列出我最近的查询"
  • "执行查询 ID 12345"
  • "分析上次查询的结果"

服务器提供15个专用工具,涵盖从搜索发现到执行分析的完整工作流。

最佳实践

  1. 优先搜索现有查询:使用 'search_public_queries' 或 'search_spellbook' 来找到相关主题的现有解决方案
  2. 查看查询详情:通过 'get_query_details' 获取 SQL 代码和参数
  3. 执行前预估成本:利用预算管理功能避免超额使用
  4. 结果处理:使用预览功能了解数据结构,需要完整数据时再导出 CSV

信息

分类

数据库与文件