MCP Snapshot Server
# 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
Scored across 5 tools
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.
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.
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.
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.