ensemble-pro

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.

Category
Visit Server

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+
  • curl or git to download the repo

Quick Install

  1. Download the package.
  2. Run the installer:
bash install.sh

The installer will:

  1. Create an isolated Python virtual environment in ~/.ensemble-pro.
  2. Ask you for your API keys and model IDs (OpenAI, NVIDIA, Ollama, or Custom).
  3. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured