mcp-sns-server logo

mcp-sns-server

by baolongt

The mcp-sns-server is a Model Context Protocol (MCP) server for interacting with DAOs on the Internet Computer. It provides tools to interact with Service Nervous System (SNS) decentralized autonomous organizations.

View on GitHub

Last updated: N/A

mcp-sns-server MCP Server

A Model Context Protocol server for interacting with DAOs on the Internet Computer

This is a TypeScript-based MCP server that implements an interface to Service Nervous System (SNS) DAOs. It demonstrates core MCP concepts by providing tools to interact with decentralized autonomous organizations.

Demo

Setup

add your seed phrase to env file

cp .env.example .env

Features

Tools

  • list_proposals - List all proposals for a specific DAO

    • Takes DAO name as parameter
    • Returns list of proposals from the specified DAO
  • list_votable_neurons - List all votable neurons for a user in a DAO

    • Takes DAO name and principal ID as parameters
    • Returns neurons that can vote on proposals
  • get_system_parameters - List all configuration parameters for a DAO

    • Takes DAO name as parameter
    • Returns system parameters for the specified DAO
  • wallet - Get the user's wallet information

    • Returns the principal ID of the current wallet
  • vote_proposal - Vote on a proposal

    • Takes DAO name, principal ID, neuron ID, proposal ID, and vote preference
    • Allows voting yes, no, or unspecified on proposals
    • Registers vote with the DAO governance system

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mcp-sns-server": {
      "command": "/path/to/mcp-sns-server/build/index.js"
    }
  }
}

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.