Skip to main content

Multi-AI consensus tool: MCP server that queries multiple AI models (OpenAI, Claude, Gemini, custom APIs) in parallel, synthesizes responses for better accuracy, and reduces AI bias through ensemble decision-making

Project description

AI Council MCP Server

Multi-AI Consensus Tool: Query multiple AI models in parallel, synthesize responses for better accuracy, and reduce AI bias through ensemble decision-making.

AI Council is a powerful MCP (Model Context Protocol) server that harnesses the "wisdom of crowds" by consulting multiple AI models simultaneously. Get more reliable, comprehensive answers by combining insights from OpenAI, Claude, Gemini, and any OpenAI-compatible API.

✨ What is AI Council?

AI Council transforms how you interact with AI by:

  • 🔄 Parallel Processing: Queries multiple AI models simultaneously (not sequentially)
  • 🎯 Bias Reduction: Uses anonymous code names to prevent synthesis bias
  • ⚡ Smart Synthesis: One model synthesizes all responses into a comprehensive answer
  • 🔧 Universal Compatibility: Works with OpenAI, OpenRouter, and any OpenAI-compatible API
  • 🛡️ Robust Error Handling: Graceful degradation when individual models fail

Perfect for: Research questions, complex analysis, creative projects, technical decisions, and any task where multiple AI perspectives add value.

🚀 Quick Start

Cursor IDE Setup

  1. Open Cursor Settings → MCP
  2. Add new MCP server:
{
  "ai-council": {
    "command": "uvx",
    "args": [
      "ai-council",
      "--openrouter-api-key", "YOUR_OPENROUTER_API_KEY"
    ],
    "env": {}
  }
}

Claude Desktop Setup

Edit ~/.claude_desktop_config.json:

{
  "mcpServers": {
    "ai-council": {
      "command": "uvx",
      "args": [
        "ai-council",
        "--openrouter-api-key", "YOUR_OPENROUTER_API_KEY"
      ]
    }
  }
}

That's it! Ask any complex question and the AI Council tool will automatically engage multiple models.

CLI Arguments

Use command-line arguments for quick setup, add any of these to the args in you mcp config:

Available CLI Arguments:

  • --openai-api-key: Your OpenAI API key
  • --openrouter-api-key: Your OpenRouter API key
  • --max-models: Maximum models to query (default: 3)
  • --parallel-timeout: Timeout in seconds (default: 60)
  • --log-level: Logging level (DEBUG, INFO, WARNING, ERROR)
  • --config: Path to custom config file

⚙️ Advanced Configuration

For advanced setups, create a config.yaml file and link to it with --config path/to/config.yaml:

# config.yaml
openai_api_key: "your_openai_key_here"
openrouter_api_key: "your_openrouter_key_here"
max_models: 3
parallel_timeout: 90 # in seconds
synthesis_model_selection: "random"  # or "first"

models:
  # use OpenAI API
  - name: "GPT-4o"
    provider: "openai" 
    model_id: "gpt-4o"
    enabled: true # optional, defaults to true
    
  # use OpenRouter API
  - name: "Claude Sonnet"
    provider: "openrouter"
    model_id: "anthropic/claude-3.5-sonnet"
    code_name: "Bob" # optional, auto assigned otherwise
  
  # or any custom OpenAI compatible API
  - name: "Perplexity"
    provider: "custom"
    model_id: "llama-3.1-sonar-large-128k-online"
    base_url: "https://api.perplexity.ai"
    api_key: "your_perplexity_key_here"
    
  # Local LLM (Ollama)
  - name: "Local Llama"
    provider: "custom" 
    model_id: "llama-3b"
    base_url: "http://localhost:11434"
    api_key: "key-if-needed"

📖 How It Works

AI Council uses a sophisticated three-phase approach:

1. Parallel Consultation

  • Simultaneously queries your configured AI models
  • Maintains the same context and question for each model
  • Handles failures gracefully (continues with successful responses)

2. Anonymous Analysis

  • Assigns code names (Alpha, Beta, Gamma, etc.) to each model's response
  • Prevents synthesis bias toward specific brands or providers
  • Preserves response quality while removing model identity

3. Smart Synthesis

  • Randomly selects one model to act as the synthesizer
  • Synthesizer analyzes all anonymous responses
  • Produces a comprehensive answer combining the best insights

🤝 Acknowledgments

This project was inspired by Cognition Wheel.

AI Council extends these ideas with:

  • Enhanced configuration flexibility
  • OpenRouter support for many model options with a single api key
  • Support for custom API endpoints
  • Improved error handling and logging

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_council-0.2.1.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_council-0.2.1-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file ai_council-0.2.1.tar.gz.

File metadata

  • Download URL: ai_council-0.2.1.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.14

File hashes

Hashes for ai_council-0.2.1.tar.gz
Algorithm Hash digest
SHA256 92cc54a86aaa0246b609761de92209c00642fa7e4a19b5db141d11360bb1c243
MD5 ea636313e61e80baf938ac955e4c3e9b
BLAKE2b-256 1c3e11cb01575d0899701551354e52b8d7fd7a241320217bfc178e4d7bec3998

See more details on using hashes here.

File details

Details for the file ai_council-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: ai_council-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.14

File hashes

Hashes for ai_council-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 61630a41c8c2beb9895630db9f30a4c7a1da66ef5ba7e7f13087ab7aaa3293c5
MD5 cc0a92396ead89ac28f001b61d0d5190
BLAKE2b-256 a0431269038563f8fc414f741f972adef4f5fedec3503160c02248d6390ee34c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page