dune-analytics-mcp
by: kukapay
A mcp server that bridges Dune Analytics data to AI agents.
📌Overview
Purpose: To provide a server that connects Dune Analytics data with AI agents for efficient data retrieval and processing.
Overview: Dune Analytics MCP Server serves as an interface that allows users to seamlessly fetch and execute Dune queries. It outputs results in a user-friendly CSV format, facilitating easy integration with AI tools and agents.
Key Features:
-
Tool for Latest Results:
get_latest_result
allows users to fetch the most recent results of a specific Dune query by its ID, streamlining the process of accessing up-to-date data. -
Query Execution Tool:
run_query
enables the execution of any Dune query by ID, returning results in CSV format, thus supporting efficient data analysis and utilization in various applications.
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.
Prerequisites
- Python 3.10+
- A valid Dune Analytics API key (get one from https://dune.com/settings/api)
Installation
-
Clone the Repository:
git clone https://github.com/kukapay/dune-analytics-mcp.git cd dune-analytics-mcp
-
Set Up Environment Variables: Create a
.env
file in the project root: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
-
Development Mode:
mcp dev main.py
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.