项目简介
这是一个基于 Model Context Protocol (MCP) 的服务器,用于集成 Dune Analytics 的数据到AI代理中。它通过标准化的接口,允许AI模型访问包括去中心化交易所(DEX)指标、EigenLayer统计数据和Solana代币余额等链上信息。
主要功能点
- DEX数据查询: 能够获取指定区块链上特定代币对的关键统计数据,例如交易量、流动性等。
- 流动性排名: 可以查找指定区块链上按美元价值计算流动性最高的代币对。
- Solana余额查询: 提供查询Solana链上任何钱包地址的代币持有余额。
- EigenLayer数据: 能够获取特定 EigenLayer Actively Validated Services (AVS) 的统计信息,以及该 AVS 下所有 Operator 的表现数据。
安装步骤
- 确保您的系统已安装 Node.js (16+) 或 Bun (1.0+)。
- 从 Dune Analytics 官网获取一个有效的 API Key。
- 克隆此仓库到您的本地目录:
git clone https://github.com/ekailabs/dune-mcp-server.git cd dune-mcp-server - 安装项目依赖。推荐使用 Bun:
或者使用 npm:bun installnpm install - 设置您的 Dune Analytics API Key。在项目根目录创建一个名为 '.env' 的文件,并在其中添加一行 'DUNE_API_KEY=你的API密钥'。或者,您也可以将 API Key 设置为系统环境变量 'DUNE_API_KEY'。
服务器配置 (供MCP客户端使用)
要将此 MCP 服务器连接到支持 MCP 协议的 AI 客户端(如某些版本的 Claude 桌面应用),您需要在客户端的配置文件中添加如下配置。请根据您的实际安装路径修改 'command' 参数中的服务器入口文件路径。
配置示例 (JSON 格式,将其添加到客户端 MCP 服务器配置列表中):
{ "dune": { // 您给这个服务器连接起的名称 "command": "bun", // 启动服务器的命令,例如 bun 或 npm "args": [ "/your/absolute/path/to/dune-mcp-server/src/index.ts", // 服务器主入口文件的绝对路径 "stdio" // 服务器启动模式,这里推荐使用 stdio 模式与客户端通信 ], "name": "dune-analytics-server" // 服务器标识名称 (通常由服务器自动声明) // "version": "0.0.1" // 服务器版本 (通常由服务器自动声明) } }
- 'command' 指令用于启动服务器进程。
- 'args' 列表中的 '/your/absolute/path/to/...' 需要替换为您实际克隆仓库后 'src/index.ts' 文件的完整绝对路径。
- 'stdio' 参数告诉服务器使用标准输入/输出流作为与客户端通信的通道,这是一种常见的 MCP 传输方式。
基本使用方法
服务器启动并成功连接到您的 AI 客户端后,AI 客户端即可通过 MCP 协议调用服务器提供的工具。作为用户,您通常无需关心底层调用过程,只需通过自然语言向 AI 提出与链上数据相关的问题或请求,AI 客户端会判断是否需要调用此 MCP 服务器的工具来获取信息。
例如,您可以尝试向 AI 客户端提问:
- "帮我查查以太坊上 USDT-ETH 代币对的交易量和流动性。" (AI 可能调用 'get_dex_pair_metrics')
- "哪个 AVS 在 EigenLayer 上参与的 Operator 最多?" (AI 可能调用 'get_eigenlayer_avs_metrics')
- "Solana 链上地址 'YOUR_WALLET_ADDRESS' 有哪些代币余额?" (AI 可能调用 'get_svm_token_balances')
AI 客户端会处理您的自然语言请求,并根据需要调用相应的工具获取数据,然后将结果呈现给您。
信息
分类
数据库与文件