AI Council MCP Server
Allows querying local LLMs served by Ollama for parallel response generation.
Allows querying OpenAI models (e.g., GPT-4o) as part of parallel consensus generation.
Allows querying Perplexity AI models (e.g., llama-3.1-sonar-large) via custom API endpoint.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AI Council MCP ServerWhat are the best arguments for and against universal basic income?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: polydev-ai
📋 Requirements
Python 3.10+
uv installed (installation guide)
alternatively:
pipx installed (installation guide), update config
"command": "pipx", "args": ["run", "ai-council"]or manual install wiht
pip install ai-council, and update config"command": "ai-council", "args": []
🚀 Quick Start
Get your OpenRouter api key
Cursor IDE Setup
Open Cursor Settings → MCP
Add new MCP server and set your api key:
{
"ai-council": {
"command": "uvx",
"args": ["ai-council"],
"env": {
"OPENROUTER_API_KEY": "..."
}
}
}Claude Desktop Setup
Edit
~/.claude_desktop_config.jsonand set your api key:
{
"mcpServers": {
"ai-council": {
"command": "uvx",
"args": ["ai-council"],
"env": {
"OPENROUTER_API_KEY": "..."
}
}
}
}That's it! Ask any complex question and the AI Council tool will automatically engage multiple models.
By default it will use OpenRouter with Claude Sonnet 4, Gemini 2.5 Pro, and DeepSeek V3.
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
Using Python
Available Tools
1 toolai_councilA
A tool that consults multiple AI models in parallel, then uses one of them to synthesize the results into a single, high-quality answer. Use this for complex questions requiring deep analysis and verification.
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Important background information and context for the problem to be solved. | |
| question | Yes | The specific, detailed question you want to be answered. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses parallel consultation and synthesis behavior, but does not mention read-only nature, rate limits, or potential slowness. The behavioral traits are partially but not completely revealed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each earning its place. First describes what the tool does, second advises when to use it. No extraneous words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two simple parameters and no output schema, the description adequately explains the tool's purpose and behavior. The return is described as 'single, high-quality answer,' which is sufficient for a query tool. Could be more specific about output format but overall complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add any parameter-specific meaning beyond the schema definitions. No additional semantics are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool consults multiple AI models in parallel and synthesizes results into one answer, with specific verb+resource (consult+synthesize, produce answer). It distinguishes itself by targeting complex questions requiring deep analysis and verification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this for complex questions requiring deep analysis and verification,' providing clear context for when to use the tool. No alternatives or when-not cases are given, but the context is sufficient given no sibling tools exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.2.3- First observed
ai_council
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of ambiguity between tools.
With a single tool (ai_council), naming consistency is not an issue; the name follows a clear snake_case pattern.
Having only one tool feels thin for a server named 'AI Council MCP Server', as it limits functionality to a single action without auxiliary or configuration tools.
The tool covers a specific synthesis task, but the server lacks other potentially useful tools like model configuration, result handling, or iterative analysis, leaving notable gaps.
Maintenance
Related MCP Connectors
Multi-LLM AI Research & Analysis — smart routing, consensus analysis, due diligence reports
Multi-LLM council: 25+ frontier models in parallel, consensus scoring, verdict-first code review.
Fan out deep research across multiple AI providers, synthesize into one unified report.
Consensus 'best X for Y' rankings from ChatGPT, Claude, Gemini & Grok. Search, verdicts, history.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides access to multiple frontier LLM models (GPT, Claude, Gemini, Grok, DeepSeek) for consulting a "conclave" of AI perspectives, enabling peer-ranked evaluations and synthesized consensus answers for important decisions.81MIT
- AlicenseNot gradedqualityDmaintenanceQuery multiple AI models (GPT-4, Claude, Gemini, Grok) in parallel for diverse perspectives. Get different expert viewpoints when stuck or need enhanced reasoning.1MIT
- AlicenseNot gradedqualityDmaintenanceLets Claude Code query multiple AI models (Gemini, Grok, ChatGPT, DeepSeek) for diverse perspectives, code reviews, debates, and more.MIT
- AlicenseAqualityDmaintenanceEnables querying multiple AI models in parallel (Claude, Gemini, O3) and synthesizing their responses using anonymous analysis to reduce bias, providing a comprehensive answer.145 npm193MIT