Dune Analytics
Access Dune Analytics data for AI agents, including DEX metrics, EigenLayer stats, and Solana token balances.
Dune Analytics MCP Server
A Model Context Protocol (MCP) server that bridges Dune Analytics data to AI agents, providing access to DEX metrics, EigenLayer operators and AVS stats, and token balances on Solana. The tools utilize the preset endpoints and echo endpoints provided by Dune.
Features
- Tools:
get_dex_pair_metrics
: Get essential metadata and statistical data for a given token pair on a specific chainget_token_pairs_liquidity
: Find the token pair with the highest USD liquidity on a given chainget_svm_token_balances
: Get token balances for a specific wallet address on Solanaget_eigenlayer_avs_metrics
: Get statistics for a specific AVSget_eigenlayer_operator_metrics
: Get statistics for all operators in a specific AVS
- Data Formats: All results are returned in structured JSON format for easy processing
Prerequisites
- Node.js 16+ or Bun 1.0+
- A valid Dune Analytics API key (get one from Dune Analytics)
Installation
-
Clone the Repository:
git clone https://github.com/ekailabs/dune-mcp-server.git cd dune-mcp-server
-
Install Dependencies: Using Bun:
bun install
Or using npm:
npm install
-
Set Up Environment Variables: Create a
.env
file in the project root based on.env.example
:DUNE_API_KEY=your_api_key_here
Alternatively, set it as a system environment variable:
export DUNE_API_KEY="your_api_key_here"
Usage
Running the Server
Using 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
Using npm:
# Development mode with hot reload
npm run dev
# Production mode
npm start
# Or build and run
npm run build
npm run start:prod
Add to Claude for Desktop
To use with Claude for Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"dune": {
"command": "bun",
"args": [
"/ABSOLUTE/PATH/TO/dune-mcp-server/src/index.ts",
"stdio"
]
}
}
}
Tool Usage
-
get_dex_pair_metrics(chain, token_pair)
- Description: Retrieves essential metadata and statistical data for a given token pair
- Input:
chain
(string) - The blockchain to get the DEX stats fortoken_pair
(string) - The token pair to get the DEX stats for
- Output: JSON object containing DEX metrics
-
get_token_pairs_liquidity(chain)
- Description: Identifies the token pair with the highest USD liquidity on a given chain
- Input:
chain
(string) - The blockchain to get the DEX stats for - Output: JSON object containing top token pair metrics
-
get_svm_token_balances(wallet_address)
- Description: Gets the balances of a specific wallet address on the Solana blockchain
- Input:
wallet_address
(string) - The address of the wallet to get the balance for - Output: JSON array of token balances
-
get_eigenlayer_avs_metrics(avs_name)
- Description: Gets the statistics for a specific AVS
- Input:
avs_name
(string) - The name of the AVS to get the stats for - Output: JSON object containing AVS metrics
-
get_eigenlayer_operator_metrics(avs_name)
- Description: Gets the statistics for all operators in a specific AVS
- Input:
avs_name
(string) - The name of the AVS to get operator stats for - Output: JSON object containing operator metrics
Example Commands in Claude for Desktop
- "Can you please give me the liquidity of 'USDC-WETH' token pair on ethereum?"
- "Show me the highest liquidity token pair on arbitrum"
- "Can you please plot the stake distribution of EigenDA operators?"
- "How many stakers are there on EigenDA AVS"
License
This project is licensed under the MIT License - see the LICENSE file for details.
Running evals
The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the npx command. Full documentation can be found here.
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/index.ts
Acknowledgments
- Dune Analytics for their API
- Model Context Protocol for the protocol specification
Related Servers
PubChem-MCP
Access PubChem's database for chemical compounds, substances, and bioassays.
Enhanced Medication Information MCP Server
Provides real-time access to FDA drug data, including shortages, labeling, and recalls, via the openFDA API.
MCP Neo4j Server
Integrate the Neo4j graph database with clients through natural language interactions.
Hydrolix
Hydrolix time-series datalake integration providing schema exploration and query capabilities to LLM-based workflows.
MCP Oracle Database Server
A server for full integration with Oracle Database. Requires Oracle Instant Client libraries.
Atlan
Official MCP Server from Atlan which enables you to bring the power of metadata to your AI tools
Metabase Server
Integrates with Metabase for data visualization and business intelligence. Requires METABASE_URL, METABASE_USERNAME, and METABASE_PASSWORD environment variables.
Prometheus MCP Server
A Prometheus MCP server with full API support for comprehensive management and deep interaction with Prometheus beyond basic query support. Written in go, it is a single binary install that is capable of STDIO, SSE, and HTTP transports for complex deployments.
Database Updater
Update various databases (PostgreSQL, MySQL, MongoDB, SQLite) using data from CSV and Excel files.
MongoDB
Interact with MongoDB databases using natural language to query collections, inspect schemas, and manage data.