mpc-tally-api-server
6
The MPC Tally API Server is an MCP server designed to interact with the Tally API, enabling AI agents to access DAO information, governance data, and metadata. It supports extensive features like sorting DAOs and comprehensive metadata retrieval.
MPC Tally API Server
A Model Context Protocol (MCP) server for interacting with the Tally API. This server allows AI agents to fetch information about DAOs, including their governance data, proposals, and metadata.
Features
- List DAOs sorted by popularity or exploration status
- Fetch comprehensive DAO metadata including social links and governance information
- Pagination support for handling large result sets
- Built with TypeScript and GraphQL
- Full test coverage with Bun's test runner
Installation
# Clone the repository
git clone https://github.com/yourusername/mpc-tally-api-server.git
cd mpc-tally-api-server
# Install dependencies
bun install
# Build the project
bun run build
Configuration
- Create a
.env
file in the root directory:
TALLY_API_KEY=your_api_key_here
- Get your API key from Tally
⚠️ Security Note: Keep your API key secure:
- Never commit your
.env
file - Don't expose your API key in logs or error messages
- Rotate your API key if it's ever exposed
- Use environment variables for configuration
Usage
Running the Server
# Start the server
bun run start
# Development mode with auto-reload
bun run dev
Claude Desktop Configuration
Add the following to your Claude Desktop configuration:
{
"tally": {
"command": "node",
"args": [
"/path/to/mpc-tally-api-server/build/index.js"
],
"env": {
"TALLY_API_KEY": "your_api_key_here"
}
}
}
Available Scripts
bun run clean
- Clean the build directorybun run build
- Build the projectbun run start
- Run the built serverbun run dev
- Run in development mode with auto-reloadbun test
- Run testsbun test --watch
- Run tests in watch modebun test --coverage
- Run tests with coverage
API Functions
The server exposes the following MCP functions:
list_daos
Lists DAOs sorted by specified criteria.
Parameters:
limit
(optional): Maximum number of DAOs to return (default: 20, max: 50)afterCursor
(optional): Cursor for paginationsortBy
(optional): How to sort the DAOs (default: popular)- Options: "id", "name", "explore", "popular"
License
MIT