Dune模型桥

@olaxbt/dune-query-mcp
0 Stars 331 次浏览 olaxbt 更新于 2026-08-23

一座通过模型控制协议(Model Control Protocol)将Dune Analytics区块链数据连接到人工智能应用的桥梁,使大型语言模型(LLMs)能够通过自然语言交互访问链上数据。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Dune Query MCP

Version
Python

一个现代化的桥梁,通过模型控制协议(MCP)将Dune Analytics的数据连接到智能代理。

概述

dune-query-mcp 使区块链数据分析能够无缝集成到您的AI应用程序中。通过利用Dune Analytics强大的查询功能与模型控制协议相结合,该服务允许LLMs和其他AI系统通过简单的自然语言交互访问链上数据。

核心功能

数据检索工具

工具 描述 使用场景
get_latest_result 检索预先计算的查询结果 快速访问现有数据
run_query 按需执行查询 实时数据分析

数据格式

所有数据以CSV格式返回,提供:

  • 通用兼容性
  • 大多数数据分析工具易于解析
  • 人类可读的输出

开始使用

系统要求

  • Python 3.10 或更高版本
  • 有效的Dune Analytics API密钥 (在这里获取)

快速设置

  1. 克隆并导航
    bash
    git clone https://github.com/olaxbt/dune-query-mcp-mcp.git
    cd dune-query-mcp

  2. 环境设置
    bash

    创建虚拟环境

    python -m venv .venv

    激活它

    source .venv/bin/activate # Linux/Mac

    或者

    .venvScriptsactivate # Windows

    安装依赖

    pip install -r requirements.txt

  3. 配置API访问
    bash

    复制示例配置

    cp .env.example .env

    使用您的API密钥编辑

    echo "DUNE_API_KEY=your_key_here" > .env

使用方法

运行服务

dune-query-mcp 提供两种运行方式:

作为MCP服务

bash
python run.py

这将在默认端口8000上启动MCP服务。

作为Web服务器

bash
python flask_app.py

这提供了对Web界面和REST API端点的访问。

与应用程序集成

MCP客户端集成

python
from mcp.client import Client

连接到Dune-query-mcp

client = Client("http://localhost:8000")

获取查询的最新结果

csv_data = client.call("get_latest_result", query_id=1234567)

执行查询

query_results = client.call("run_query", query_id=1234567)

REST API

端点 方法 描述
/dune/health GET 服务健康检查
/dune/query/{query_id}/latest GET 检索最新结果
/dune/query/{query_id}/execute POST 运行查询

示例REST调用:
bash
curl -X GET http://localhost:5000/dune/query/1234567/latest

架构

dune-query-mcp/
├── app/ # 应用程序核心
│ ├── init.py # Flask & MCP 设置
│ ├── routes/ # API 端点定义
│ │ └── dune_routes/ # Dune Analytics 路由
│ │ └── templates/ # Web 界面
│ └── templates/ # Web 界面
├── config/ # 配置文件
├── logs/ # 运行日志
├── flask_app.py # Web 服务器入口点
├── run.py # MCP 服务器入口点
└── requirements.txt # 依赖项

高级配置

环境变量

变量 目的 默认值
DUNE_API_KEY Dune API 的身份验证 无 (必需)
PORT 服务器端口 8000

性能调优

对于高容量查询执行:

bash

为长时间运行的查询设置更高的超时时间

export DUNE_QUERY_TIMEOUT=600 # 10分钟(秒)

故障排除

常见问题及解决方案:

问题 解决方案
API 密钥错误 确保 .env 文件存在且包含有效密钥
CSV 解析问题 检查查询是否返回正确的表格数据

贡献

欢迎贡献!请遵循以下步骤:

  1. 叉分仓库
  2. 创建一个功能分支:git checkout -b feature/amazing-feature
  3. 提交你的更改:git commit -am 'Add some amazing feature'
  4. 推送到分支:git push origin feature/amazing-feature
  5. 打开一个 Pull Request

许可证

本项目在 MIT 许可证下发布。详情请参阅 LICENSE 文件。

致谢

相关 MCP 服务