Dune Analytics
Acesse dados do Dune Analytics para agentes de IA, incluindo métricas de DEX, estatísticas do EigenLayer e saldos de tokens Solana.
Documentação
Servidor MCP Dune Analytics
Um servidor Model Context Protocol (MCP) que conecta dados do Dune Analytics a agentes de IA, fornecendo acesso a métricas DEX, operadores EigenLayer e estatísticas AVS, e saldos de tokens na Solana. As ferramentas utilizam os endpoints predefinidos e endpoints de eco fornecidos pela Dune.
Recursos
- Ferramentas:
get_dex_pair_metrics: Obter metadados essenciais e dados estatísticos para um par de tokens em uma cadeia específicaget_token_pairs_liquidity: Encontrar o par de tokens com maior liquidez em USD em uma determinada cadeiaget_svm_token_balances: Obter saldos de tokens para um endereço de carteira específico na Solanaget_eigenlayer_avs_metrics: Obter estatísticas para um AVS específicoget_eigenlayer_operator_metrics: Obter estatísticas para todos os operadores em um AVS específico
- Formatos de Dados: Todos os resultados são retornados em formato JSON estruturado para facilitar o processamento
Pré-requisitos
- Node.js 16+ ou Bun 1.0+
- Uma chave de API válida do Dune Analytics (obtenha uma em Dune Analytics)
Instalação
-
Clone o Repositório:
git clone https://github.com/ekailabs/dune-mcp-server.git cd dune-mcp-server -
Instale as Dependências: Usando Bun:
bun installOu usando npm:
npm install -
Configure as Variáveis de Ambiente: Crie um arquivo
.envna raiz do projeto com base em.env.example:DUNE_API_KEY=your_api_key_hereAlternativamente, defina-o como uma variável de ambiente do sistema:
export DUNE_API_KEY="your_api_key_here"
Uso
Executando o 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
Adicionar ao Claude for Desktop
Para usar com o Claude for Desktop, adicione a configuração do servidor:
No MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
No Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"dune": {
"command": "bun",
"args": [
"/ABSOLUTE/PATH/TO/dune-mcp-server/src/index.ts",
"stdio"
]
}
}
}
Uso das Ferramentas
-
get_dex_pair_metrics(chain, token_pair)- Descrição: Recupera metadados essenciais e dados estatísticos para um par de tokens
- Entrada:
chain(string) - A blockchain para obter as estatísticas DEXtoken_pair(string) - O par de tokens para obter as estatísticas DEX
- Saída: Objeto JSON contendo métricas DEX
-
get_token_pairs_liquidity(chain)- Descrição: Identifica o par de tokens com maior liquidez em USD em uma determinada cadeia
- Entrada:
chain(string) - A blockchain para obter as estatísticas DEX - Saída: Objeto JSON contendo métricas do principal par de tokens
-
get_svm_token_balances(wallet_address)- Descrição: Obtém os saldos de um endereço de carteira específico na blockchain Solana
- Entrada:
wallet_address(string) - O endereço da carteira para obter o saldo - Saída: Matriz JSON de saldos de tokens
-
get_eigenlayer_avs_metrics(avs_name)- Descrição: Obtém as estatísticas para um AVS específico
- Entrada:
avs_name(string) - O nome do AVS para obter as estatísticas - Saída: Objeto JSON contendo métricas do AVS
-
get_eigenlayer_operator_metrics(avs_name)- Descrição: Obtém as estatísticas para todos os operadores em um AVS específico
- Entrada:
avs_name(string) - O nome do AVS para obter estatísticas dos operadores - Saída: Objeto JSON contendo métricas dos operadores
Exemplos de Comandos no Claude for Desktop
- "Você pode me dar a liquidez do par de tokens 'USDC-WETH' na ethereum?"
- "Mostre-me o par de tokens com maior liquidez na arbitrum"
- "Você pode plotar a distribuição de stake dos operadores EigenDA?"
- "Quantos stakers existem no AVS EigenDA?"
Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Executando evals
O pacote de evals carrega um cliente mcp que então executa o arquivo index.ts, portanto não há necessidade de recompilar entre os testes. Você pode carregar variáveis de ambiente prefixando o comando npx. A documentação completa pode ser encontrada aqui.
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/index.ts
Agradecimentos
- Dune Analytics pela sua API
- Model Context Protocol pela especificação do protocolo