Dune Analytics
Accede a datos de Dune Analytics para agentes de IA, incluyendo métricas DEX, estadísticas de EigenLayer y saldos de tokens de Solana.
Documentación
Servidor MCP de Dune Analytics
Un servidor de Model Context Protocol (MCP) que conecta los datos de Dune Analytics con agentes de IA, proporcionando acceso a métricas DEX, operadores de EigenLayer y estadísticas de AVS, y saldos de tokens en Solana. Las herramientas utilizan los endpoints predefinidos y endpoints de eco proporcionados por Dune.
Características
- Herramientas:
get_dex_pair_metrics: Obtener metadatos esenciales y datos estadísticos para un par de tokens dado en una cadena específicaget_token_pairs_liquidity: Encontrar el par de tokens con mayor liquidez en USD en una cadena dadaget_svm_token_balances: Obtener saldos de tokens para una dirección de billetera específica en Solanaget_eigenlayer_avs_metrics: Obtener estadísticas para un AVS específicoget_eigenlayer_operator_metrics: Obtener estadísticas para todos los operadores en un AVS específico
- Formatos de datos: Todos los resultados se devuelven en formato JSON estructurado para facilitar el procesamiento
Requisitos previos
- Node.js 16+ o Bun 1.0+
- Una clave de API válida de Dune Analytics (obtén una en Dune Analytics)
Instalación
-
Clonar el repositorio:
git clone https://github.com/ekailabs/dune-mcp-server.git cd dune-mcp-server -
Instalar dependencias: Usando Bun:
bun installO usando npm:
npm install -
Configurar variables de entorno: Crea un archivo
.enven la raíz del proyecto basado en.env.example:DUNE_API_KEY=your_api_key_hereAlternativamente, configúralo como una variable de entorno del sistema:
export DUNE_API_KEY="your_api_key_here"
Uso
Ejecutar el servidor
Usando 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
Usando npm:
# Development mode with hot reload
npm run dev
# Production mode
npm start
# Or build and run
npm run build
npm run start:prod
Añadir a Claude for Desktop
Para usar con Claude for Desktop, añade la configuración del servidor:
En MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
En Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"dune": {
"command": "bun",
"args": [
"/ABSOLUTE/PATH/TO/dune-mcp-server/src/index.ts",
"stdio"
]
}
}
}
Uso de herramientas
-
get_dex_pair_metrics(chain, token_pair)- Descripción: Recupera metadatos esenciales y datos estadísticos para un par de tokens dado
- Entrada:
chain(string) - La cadena de bloques para obtener las estadísticas DEXtoken_pair(string) - El par de tokens para obtener las estadísticas DEX
- Salida: Objeto JSON que contiene métricas DEX
-
get_token_pairs_liquidity(chain)- Descripción: Identifica el par de tokens con mayor liquidez en USD en una cadena dada
- Entrada:
chain(string) - La cadena de bloques para obtener las estadísticas DEX - Salida: Objeto JSON que contiene métricas del par de tokens principal
-
get_svm_token_balances(wallet_address)- Descripción: Obtiene los saldos de una dirección de billetera específica en la cadena de bloques Solana
- Entrada:
wallet_address(string) - La dirección de la billetera para obtener el saldo - Salida: Arreglo JSON de saldos de tokens
-
get_eigenlayer_avs_metrics(avs_name)- Descripción: Obtiene las estadísticas para un AVS específico
- Entrada:
avs_name(string) - El nombre del AVS para obtener las estadísticas - Salida: Objeto JSON que contiene métricas AVS
-
get_eigenlayer_operator_metrics(avs_name)- Descripción: Obtiene las estadísticas para todos los operadores en un AVS específico
- Entrada:
avs_name(string) - El nombre del AVS para obtener estadísticas de operadores - Salida: Objeto JSON que contiene métricas de operadores
Ejemplos de comandos en Claude for Desktop
- "¿Puedes darme la liquidez del par de tokens 'USDC-WETH' en ethereum?"
- "Muéstrame el par de tokens con mayor liquidez en arbitrum"
- "¿Puedes graficar la distribución de participación de los operadores de EigenDA?"
- "¿Cuántos stakers hay en el AVS de EigenDA?"
Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENCIA para más detalles.
Ejecución de evaluaciones
El paquete de evaluaciones carga un cliente mcp que luego ejecuta el archivo index.ts, por lo que no es necesario reconstruir entre pruebas. Puedes cargar variables de entorno prefijando el comando npx. La documentación completa se puede encontrar aquí.
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/index.ts
Agradecimientos
- Dune Analytics por su API
- Model Context Protocol por la especificación del protocolo