使用说明
沙丘分析MCP服务器
一个模型上下文协议(MCP)服务器,将Dune Analytics数据连接到AI代理,提供对DEX指标、特征层运算符和AVS统计数据的访问,以及Solana上的令牌余额。这些工具利用Dune提供的预设端点和回声端点。
特性
- 工具:
get_dex_pair_metrics:获取特定链上给定令牌对的基本元数据和统计数据get_token_pairs_liquidity:查找给定链上美元流动性最高的代币对get_svm_token_balances:获取Solana上特定钱包地址的代币余额get_eigenlayer_avs_metrics:获取特定AVS的统计数据get_eigenlayer_operator_metrics:获取特定AVS中所有操作员的统计信息
- 数据格式:所有结果均以结构化JSON格式返回,便于处理
先决条件
- Node.js 16+或Bun 1.0+
- 有效的Dune Analytics API密钥(从 沙丘分析)
安装
-
克隆存储库:
git clone https://github.com/ekailabs/dune-mcp-server.git cd dune-mcp-server -
再进行: 使用Bun:
bun install或者使用npm:
npm install -
设置环境变量: 创建一个
.env项目根目录中的文件基于.env.example:DUNE_API_KEY=your_api_key_here或者,将其设置为系统环境变量:
export DUNE_API_KEY="your_api_key_here"
用法
运行服务器
使用Bun:
# Development mode with hot reload
bun dev
# Production mode
bun start
# Or build and run
bun build src/index.ts --outdir dist
bun dist/index.js
使用npm:
# Development mode with hot reload
npm run dev
# Production mode
npm start
# Or build and run
npm run build
npm run start:prod
添加到Claude for Desktop
要与Claude for Desktop一起使用,请添加服务器配置:
在MacOS上: ~/Library/Application Support/Claude/claude_desktop_config.json
在Windows上: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"dune": {
"command": "bun",
"args": [
"/ABSOLUTE/PATH/TO/dune-mcp-server/src/index.ts",
"stdio"
]
}
}
}
工具使用
-
get_dex_pair_metrics(chain, token_pair)- 描述:检索给定令牌对的基本元数据和统计数据
- 输入:
chain(string)-获取DEX统计数据的区块链token_pair(string)-用于获取DEX统计数据的令牌对
- 输出:包含DEX指标的JSON对象
-
get_token_pairs_liquidity(chain)- 描述:标识给定链上美元流动性最高的代币对
- 输入:
chain(string)-获取DEX统计数据的区块链 - 输出:包含顶级令牌对度量的JSON对象
-
get_svm_token_balances(wallet_address)- 描述:获取Solana区块链上特定钱包地址的余额
- 输入:
wallet_address(string)-获取余额的钱包地址 - 输出:JSON代币余额数组
-
get_eigenlayer_avs_metrics(avs_name)- 描述:获取特定AVS的统计信息
- 输入:
avs_name(string)-要获取统计数据的AVS的名称 - 输出:包含AVS度量的JSON对象
-
get_eigenlayer_operator_metrics(avs_name)- 描述:获取特定AVS中所有运算符的统计信息
- 输入:
avs_name(string)-用于获取操作员统计信息的AVS的名称 - 输出:包含运算符度量的JSON对象
Claude for Desktop中的命令示例
- “你能给我以太坊上‘USDC-WETH’代币对的流动性吗?”
- “显示arbitrum上流动性最高的代币对”
- “你能绘制出EigenDA算子的股权分布图吗?”
- “EigenDA AVS上有多少利益相关者”
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
运行评估
evals包加载一个mcp客户端,然后运行index.ts文件,因此不需要在测试之间重建。您可以通过在npx命令前加前缀来加载环境变量。可以找到完整的文档 这里.
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/index.ts