A Model Context Protocol (MCP) server that implements the MAKER methodology for complex task execution using consensus and voting.
MAKER-Council is a pure MCP server that provides advanced decision-making tools to your AI assistant. It implements the concepts from the "MAKER: Massively Decomposed Agentic Processes" paper, allowing for high-quality, consensus-driven responses through voting and judging mechanisms.
- MAKER Methodology Tools: Provides specialized tools like
consult_councilandsolve_with_votingto leverage multiple internal micro-agents for better accuracy. - Task Decomposition: Includes
decompose_taskto break down complex objectives into manageable steps. - Unified Query Interface: Exposes a smart
querytool that automatically routes requests to the appropriate internal strategy. - Pure MCP Implementation: communicating entirely over stdio, making it compatible with any MCP client (Claude Desktop, Cline, etc.).
Clone the repository and install dependencies:
git clone https://github.com/your-repo/maker-council.git
cd maker-council
npm install
npm run buildCreate a .env file in the root directory. You must provide an API key for the LLM provider (OpenAI by default).
cp .env.example .env| Variable | Description | Default | Required |
|---|---|---|---|
MAKER_API_KEY |
API key for the LLM provider. | - | ✅ |
MAKER_API_URL |
Base URL for the LLM API. | https://api.openai.com/v1 |
|
MAKER_API_MODEL |
Default model for operations. | gpt-4o-mini |
|
MAKER_JUDGE_MODEL |
Model for the Senior Judge agent. | gpt-4o |
|
MAKER_VOTER_MODEL |
Model for Voter/Microagent agents. | gpt-4o-mini |
|
MAKER_K |
Voting margin 'k' for consensus. | 3 |
|
MAKER_MAX_ROUNDS |
Max voting rounds before forcing decision. | 10 |
|
DASHBOARD_PORT |
Port for the monitoring dashboard. | 3000 |
To use MAKER-Council with your favorite MCP client, add it to your configuration file.
Edit %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"maker-council": {
"command": "node",
"args": [
"path/to/maker-council/dist/index.js"
],
"env": {
"MAKER_API_KEY": "sk-..."
}
}
}
}Add the server in the MCP Servers tab:
- Name: maker-council
- Command:
node - Args:
path/to/maker-council/dist/index.js - Env: Add your
MAKER_API_KEY
The server includes a real-time web dashboard to monitor requests, voting consensus, and agent performance.
To start the dashboard server:
npm run dashboardThen open http://localhost:3000 in your browser.
- Real-time Stats: Track total requests, error rates, and latency.
- Request Traces: See step-by-step execution of MAKER algorithms (Voters, Judge, etc.).
- Deep Debugging: Inspect full JSON logs, prompts, and tool inputs/outputs.
Note: The dashboard connects to the local SQLite database. Ensure the main MCP server is running or has been run to generate data.
This server exposes the following tools:
The unified entry point. It automatically routes your prompt to the most appropriate internal strategy based on intent or analysis.
Arguments:
prompt(string): The main query or task.context(object, optional): Additional context (code, history, etc.).intent(string, optional): Explicit intent ('decision', 'validation', 'decomposition').config(object, optional): Overrides for voters or 'k' value.
Uses the full MAKER algorithm. Multiple micro-agents (voters) generate proposals, and a senior judge synthesizes the best answer using a voting mechanism. Best for complex decisions or architectural questions.
Arguments:
query(string): The question to be analyzed.num_voters(number): Number of microagents (1-10).k(number): Voting margin.
Solves a question using ONLY the "First-to-Ahead-by-k" voting mechanism (no judge synthesis). Faster and ideal for objective questions where statistical consensus is sufficient.
Arguments:
query(string): The question to be solved.k(number): Voting margin.
Breaks down complex tasks into atomic, verifiable steps (MAD - Maximal Agentic Decomposition).
Arguments:
task(string): The task to be decomposed.
maker-council/
├── 📄 .env # Environment configuration
├── 📁 src/
│ ├── 📄 index.ts # Main MCP server entry point
│ ├── 📄 tools.ts # Tool definitions
│ ├── 📄 logic.ts # Core MAKER logic implementation
│ ├── 📄 config.ts # Configuration loader
│ └── 📄 types.ts # Type definitions
├── 📄 package.json
└── 📄 README.md
This project is an implementation inspired by the concepts in "MAKER: Massively Decomposed Agentic Processes" (arXiv:2511.09030v1) by Meyerson et al., 2025.