MCP HubMCP Hub
kukapay

dune-analytics-mcp

by: kukapay

A mcp server that bridges Dune Analytics data to AI agents.

15created 16/03/2025
Visit
Dune
AI

📌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

Installation

  1. Clone the Repository:

    git clone https://github.com/kukapay/dune-analytics-mcp.git
    cd dune-analytics-mcp
    
  2. 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

  1. 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)
      
  2. 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.