DAO Proposals MCP

An MCP server that aggregates live governance proposals from major DAOs enabling AI agents to track, analyze, and act on decentralized decision-making in real time, powered by Snapshot.

GitHub License Python Version Status

Features

  • Tools:
    • list_spaces: Fetches a list of up to 10 recent Snapshot spaces, including their IDs, names, and descriptions.
    • list_proposals: Retrieves up to 10 recent proposals for a given Snapshot space, including proposal IDs, titles, states, creation dates, and end dates.
    • get_proposal_details: Fetches detailed information about a specific proposal, including its title, body, state, choices, scores, and vote counts.
  • Prompt:
    • summarize_proposals: Generates a prompt to summarize recent proposals for a specified Snapshot space, leveraging the list_proposals tool.

Prerequisites

  • Python 3.10+
  • uv (recommended) or pip for dependency management

Installation

  1. Clone the repository:

    git clone https://github.com/kukapay/dao-proposals-mcp.git
    cd dao-proposals-mcp
  2. Install dependencies:

    uv sync
  3. Installing to Claude Desktop:

    Install the server as a Claude Desktop application:

    uv run mcp install main.py --name "DAO Proposals"

    Configuration file as a reference:

    {
       "mcpServers": {
           "DAO Proposals": {
               "command": "uv",
               "args": [ "--directory", "/path/to/dao-proposals-mcp", "run", "main.py" ]
           }
       }
    }

    Replace /path/to/dao-proposals-mcp with your actual installation path.

Usage

Example Interactions

  1. List Available Spaces:

    • Prompt:
      Can you show me a list of the most recent Snapshot spaces?
      
    • Output:
      Space ID: ens.eth
      Name: ENS
      About: Ethereum Name Service (ENS) is a decentralized naming system...
      ---
      Space ID: aave.eth
      Name: Aave
      About: Aave is a decentralized lending protocol...
      ---
      
  2. List Proposals for a Space:

    • Prompt:
      Please list the recent proposals for the ENS DAO (space ID: ens.eth).
      
    • Output:
      Proposal ID: 0x123...
      Title: Proposal to Update ENS Governance
      State: Active
      Created: 2025-07-01 12:00:00
      End: 2025-07-08 12:00:00
      ---
      
  3. Get Proposal Details:

    • Prompt:
      Can you give me detailed information about the proposal with ID 0x123...?
      
    • Output:
      Proposal ID: 0x123...
      Title: Proposal to Update ENS Governance
      State: Active
      Created: 2025-07-01 12:00:00
      End: 2025-07-08 12:00:00
      Choices: Yes, No
      Scores: [1500, 500]
      Votes: 2000
      ------
      This proposal aims to update the governance structure of ENS...
      
  4. Summarize Proposals:

    • Prompt:
      Summarize the recent proposals for the DAO with space ID 'ens.eth'.
      
    • Output:
      I'll use the list_proposals tool to fetch the proposals for ens.eth and provide a concise summary of their key points.
      

License

This project is licensed under the MIT License. See the LICENSE file for details.