# Dune模型桥
## 基本信息
- Slug: `olaxbt-dune-query-mcp`
- Source: modelscope
- Publisher: @olaxbt/dune-query-mcp
- Categories: blockchain / research-and-data
- Hosted: No
- License: Unknown
- Source URL: https://www.modelscope.cn/mcp/servers/@olaxbt/dune-query-mcp
## 简介
一座通过模型控制协议（Model Control Protocol）将Dune Analytics区块链数据连接到人工智能应用的桥梁，使大型语言模型（LLMs）能够通过自然语言交互访问链上数据。
## MCP Server 详情

# Dune Query MCP

![Version](https://img.shields.io/badge/version-0.1.0-blue)
![Python](https://img.shields.io/badge/python-3.10%2B-green)

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

## 概述

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

## 核心功能

### 数据检索工具

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

### 数据格式

所有数据以CSV格式返回，提供：
- 通用兼容性
- 大多数数据分析工具易于解析
- 人类可读的输出

## 开始使用

### 系统要求

- Python 3.10 或更高版本
- 有效的Dune Analytics API密钥 ([在这里获取](https://dune.com/settings/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` 文件。

## 致谢

- 使用 [FastMCP](https://github.com/microsoft/mcp) 构建
- 查询功能由 [Dune Analytics](https://dune.com/) 提供支持

