Supports environment variable management through .env files to securely store and access the Dune Analytics API key required for authentication.
Provides access to the Dune Analytics MCP server codebase hosted on GitHub, which can be cloned from the kukapay/dune-analytics-mcp repository.
Built on Python 3.10+, utilizing Python's capabilities to bridge Dune Analytics data to AI agents through MCP tools.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dune-analytics-mcpget latest results for dune query 4853921"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dune Analytics MCP Server
A mcp server that bridges Dune Analytics data to AI agents.
Features
Tools:
get_latest_result: Fetch the latest results of a Dune query by ID.run_query: Execute a Dune query by ID and retrieve results.
CSV Output: All results are returned as CSV-formatted strings for easy processing.
Related MCP server: MCP Manager
Prerequisites
Python 3.10+
A valid Dune Analytics API key (get one from Dune Analytics)
Installation
Installing via Smithery
To install Dune Analytics for Claude Desktop automatically via Smithery:
Manual Installation
Clone the Repository:
git clone https://github.com/kukapay/dune-analytics-mcp.git cd dune-analytics-mcpSet Up Environment Variables: Create a
.envfile in the project root:DUNE_API_KEY=your_api_key_hereAlternatively, set it as a system environment variable:
export DUNE_API_KEY="your_api_key_here"
Usage
Running the Server
Development Mode:
mcp dev main.pyThis starts the server with hot reloading for development.
Install for Claude Desktop:
mcp install main.py --name "Dune Analytics"Installs the server as a service for use with Claude Desktop.
Tool Usage
get_latest_result(query_id)Description: Retrieves the latest results of a specified Dune query.
Input:
query_id(int) - The ID of the Dune query.Output: CSV-formatted string of the query results.
Example:
get_latest_result(query_id=4853921)
run_query(query_id)Description: Executes a Dune query and returns the results.
Input:
query_id(int) - The ID of the Dune query to run.Output: CSV-formatted string of the query results.
Example:
run_query(query_id=1215383)
Example Commands in Claude Desktop
"Get latest results for dune query 1215383"
"Run dune query 1215383"
License
This project is licensed under the MIT License - see the LICENSE file for details.