Skip to main content
Glama
README.md
# MCP Snapshot Server

A Model Context Protocol server for interacting with Snapshot.org. This server provides MCP-compliant tools for querying Snapshot spaces, proposals, and users.

## Installation

```bash
npm install mcp-snapshot-server
```

## Usage with Claude Desktop

In your Claude Desktop config file (located at `~/Library/Application Support/Claude/claude_desktop_config.json` on Mac or `%APPDATA%\Claude\claude_desktop_config.json` on Windows):

```json
{
    "mcpServers": {
        "snapshot": {
            "command": "node",
            "args": [
                "/ABSOLUTE/PATH/TO/snapshot-server/build/index.js"
            ]
        }
    }
}
```

## Available Tools

### getSpaces
Get a list of Snapshot spaces
- `limit`: Number of spaces to fetch (optional)
- `skip`: Number of spaces to skip (optional)

### getRankedSpaces
Get a ranked list of Snapshot spaces with detailed information
- `first`: Number of spaces to fetch (default: 18)
- `skip`: Number of spaces to skip (default: 0)
- `category`: Category to filter by (default: 'all')
- `search`: Search term to filter spaces (optional)

### getProposals
Get proposals for a specific space
- `spaceId`: ID of the space
- `state`: Filter by proposal state (active, closed, pending, all)
- `limit`: Number of proposals to fetch

### getProposal
Get details of a specific proposal
- `proposalId`: ID of the proposal

### getUser
Get information about a Snapshot user
- `address`: Ethereum address of the user

## Development

1. Clone the repository:
```bash
git clone https://github.com/crazyrabbitLTC/mcp-snapshot-server.git
```

2. Install dependencies:
```bash
npm install
```

3. Build the project:
```bash
npm run build
```

## License

MIT © [Dennison Bertram](mailto:dennison@tally.xyz)

TDQS

B3.4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose targeting different Snapshot resources: proposals (specific vs. list), spaces (ranked vs. list), and users. No overlap exists between these categories, making tool selection straightforward for an agent.

Naming Consistency5/5

All tools follow a consistent verb_noun naming pattern with 'get' as the verb and descriptive nouns (Proposal, Proposals, RankedSpaces, Spaces, User). The naming is uniform and predictable across the entire set.

Tool Count5/5

With 5 tools, this server is well-scoped for interacting with Snapshot's core entities (proposals, spaces, users). Each tool serves a distinct and necessary function without bloat, making the count appropriate for the domain.

Completeness4/5

The toolset covers essential read operations for proposals, spaces, and users, which aligns with Snapshot's governance and voting platform. A minor gap exists in write operations (e.g., creating proposals or voting), but agents can still perform core informational tasks effectively.

Maintenance

ActivityInactive
ResponsivenessNo issues