项目简介
这是一个针对 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个专用工具,涵盖从搜索发现到执行分析的完整工作流。
最佳实践
- 优先搜索现有查询:使用 'search_public_queries' 或 'search_spellbook' 来找到相关主题的现有解决方案
- 查看查询详情:通过 'get_query_details' 获取 SQL 代码和参数
- 执行前预估成本:利用预算管理功能避免超额使用
- 结果处理:使用预览功能了解数据结构,需要完整数据时再导出 CSV
信息
分类
数据库与文件