ensemble-pro
Multi-model AI council MCP server that lets multiple LLMs debate, critique, and vote on questions to reach a consensus, with automatic failover and hot-swap of models during debates.
README
Ensemble Pro: Multi-Model AI Council
Ensemble Pro is an open-source Model Context Protocol (MCP) server that allows multiple LLMs to debate, critique, and vote on any question to reach a consensus.
Built with a universal OpenAI-compatible API interface, it works with any model (OpenAI, NVIDIA NIM, Ollama, LM Studio, Groq, etc.) and can be integrated into any MCP-compatible client (Cursor, Claude Desktop, Chatbox, Zed).
Why Ensemble Pro?
Standard LLMs give you one probabilistic answer. Ensemble Pro gives you an argued consensus.
- Resilient (Failover & Hot-Swap): If an API goes down mid-debate, the system automatically swaps in a backup model without interrupting the council.
- Universal: Works with any OpenAI-compatible API. Mix local Ollama models with cloud GPT-4o.
- Multilingual: Models are instructed to respond in the language of your prompt.
- Self-Cleaning: Automatically deletes debate logs older than 72 hours.
- Zero-Cost: Run it entirely on free tiers or local models.
How It Works
When you ask a question, Ensemble Pro runs a 5-stage council:
[ USER QUESTION ]
│
▼
┌───────────────────────────────────────────────────────┐
│ STAGE 1: PROPOSAL (Parallel) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Model A │ │ Model B │ │ Model C │ (Anonymized) │
│ └────┬────┘ └────┬────┘ └────┬────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ STAGE 2: REVIEW (Parallel) │
│ Each model critiques the others' proposals. │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ STAGE 3: REBUTTAL (Parallel) │
│ Each model defends its proposal from criticism. │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ STAGE 4: VOTE (Parallel) │
│ Models rank the proposals (Borda Count). │
│ │ │
│ ▼ │
│ [ WINNER DECLARED ] │
│ │ │
│ ▼ │
│ STAGE 5: SYNTHESIS │
│ The winning model synthesizes the final answer. │
│ │ │
│ ▼ │
│ [ FINAL CONSENSUS ] │
└───────────────────────────────────────────────────────┘
Failover & Hot-Swap Logic
[ COUNCIL STARTS ]
│
▼
HEALTH CHECK ──> Model A: OK
Model B: FAIL (Rate Limit)
Model C: OK
│
▼
FAILOVER ─────> Replaces Model B with Backup Model D
│
▼
COUNCIL RUNS ─> Model A + Model C + Model D
│
▼
MID-DEBATE ───> Model C Crashes!
│
▼
HOT-SWAP ─────> Coordinator drops Model C, brings in Model E
│
▼
COUNCIL FINISHES (Uninterrupted)
Installation
Prerequisites
- Python 3.10+
curlorgitto download the repo
Quick Install
- Download the package.
- Run the installer:
bash install.sh
The installer will:
- Create an isolated Python virtual environment in
~/.ensemble-pro. - Ask you for your API keys and model IDs (OpenAI, NVIDIA, Ollama, or Custom).
- Generate the JSON configuration block needed for your MCP client.
Integration
Ensemble Pro works with any MCP client. Use the JSON generated by install.sh.
Example for Cursor / Claude Desktop / Chatbox:
{
"mcpServers": {
"ensemble-pro": {
"command": "/home/user/.ensemble-pro/.venv/bin/python",
"args": ["-m", "src.mcp_server"],
"cwd": "/home/user/.ensemble-pro",
"env": {
"OPENAI_API_KEY": "sk-...",
"NVIDIA_API_KEY": "nvapi-...",
"OLLAMA_BASE_URL": "http://localhost:11434/v1"
}
}
}
}
Usage in Chat
Once connected, simply ask your AI assistant to use the council:
"Use ensemble_pro to debate: Is Rust better than C++ for systems programming?"
The main model will trigger the MCP tool, run the council in the background, and return the synthesized consensus.
Uninstall
To completely remove Ensemble Pro and its sandbox:
bash uninstall.sh
# or manually:
rm -rf ~/.ensemble-pro
License
MIT License. Built upon the open-source ensemble framework.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.