modelscope·@olaxbt/dune-query-mcp
一座通过模型控制协议(Model Control Protocol)将Dune Analytics区块链数据连接到人工智能应用的桥梁,使大型语言模型(LLMs)能够通过自然语言交互访问链上数据。
一个现代化的桥梁,通过模型控制协议(MCP)将Dune Analytics的数据连接到智能代理。
dune-query-mcp 使区块链数据分析能够无缝集成到您的AI应用程序中。通过利用Dune Analytics强大的查询功能与模型控制协议相结合,该服务允许LLMs和其他AI系统通过简单的自然语言交互访问链上数据。
| 工具 | 描述 | 使用场景 |
|---|---|---|
get_latest_result | 检索预先计算的查询结果 | 快速访问现有数据 |
run_query | 按需执行查询 | 实时数据分析 |
所有数据以CSV格式返回,提供:
克隆并导航 bash git clone https://github.com/olaxbt/dune-query-mcp-mcp.git cd dune-query-mcp
环境设置 bash
python -m venv .venv
source .venv/bin/activate # Linux/Mac
.venvScriptsactivate # Windows
pip install -r requirements.txt
配置API访问 bash
cp .env.example .env
echo "DUNE_API_KEY=your_key_here" > .env
dune-query-mcp 提供两种运行方式:
bash python run.py
这将在默认端口8000上启动MCP服务。
bash python flask_app.py
这提供了对Web界面和REST API端点的访问。
python from mcp.client import Client
client = Client("http://localhost:8000")
csv_data = client.call("get_latest_result", query_id=1234567)
query_results = client.call("run_query", query_id=1234567)
| 端点 | 方法 | 描述 |
|---|---|---|
/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 解析问题 | 检查查询是否返回正确的表格数据 |
欢迎贡献!请遵循以下步骤:
git checkout -b feature/amazing-featuregit commit -am 'Add some amazing feature'git push origin feature/amazing-feature本项目在 MIT 许可证下发布。详情请参阅 LICENSE 文件。