Claude Concilium

Community Developer tools

Multi-agent consultation for Claude Code: MCP servers wrapping Codex, Gemini and Qwen CLIs for parallel code review and problem-solving with fallback chains.

Install

The installation steps are in the documentation below. Documentation

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Claude Concilium
  2. The Problem
  3. The Solution
  4. Architecture
  5. Quickstart
  6. MCP Servers
  7. How It Works
  8. When to Use Concilium
  9. Docker
  10. Customization
  11. Documentation
  12. Changelog
  13. License

Claude Concilium

Multi-agent AI consultation framework for Claude Code via MCP.

Get a second (and third) opinion from other LLMs when Claude Code alone isn't enough.

Claude Code ──┬── OpenAI (Codex CLI) ──► Opinion A
              ├── Gemini (gemini-cli) ─► Opinion B
              │
              └── Synthesis ◄── Consensus or iterate

The Problem

Claude Code is powerful, but one brain can miss bugs, overlook edge cases, or get stuck in a local optimum. Critical decisions benefit from diverse perspectives.

The Solution

Concilium runs parallel consultations with multiple LLMs through standard MCP protocol. Each LLM server wraps a CLI tool — no API keys needed for the primary providers (they use OAuth).

Key features:

  • Parallel consultation with 2+ AI agents
  • Production-grade fallback chains with error detection
  • Each MCP server works standalone or as part of Concilium
  • Plug & play: clone, npm install, add to .mcp.json

Architecture

┌─────────────────────────────────────────────────────────┐
│                     Claude Code                          │
│                                                          │
│  "Review this code for race conditions"                  │
│                                                          │
│  ┌──────────────┐  ┌──────────────┐                      │
│  │  MCP Call #1  │  │  MCP Call #2  │   (parallel)        │
│  └──────┬───────┘  └──────┬───────┘                      │
│         │                  │                              │
└─────────┼──────────────────┼──────────────────────────────┘
          │                  │
          ▼                  ▼
   ┌──────────────┐   ┌──────────────┐
   │  mcp-openai  │   │  mcp-gemini  │     Primary agents
   │  (codex exec)│   │ (gemini -p)  │
   └──────┬───────┘   └──────┬───────┘
          │                  │
          ▼                  ▼
   ┌──────────────┐   ┌──────────────┐
   │   OpenAI     │   │   Google     │     LLM providers
   │   (OAuth)    │   │   (OAuth)    │
   └──────────────┘   └──────────────┘

   Fallback chain (on quota/error):
   OpenAI → Qwen → DeepSeek
   Gemini → Qwen → DeepSeek

Quickstart

1. Clone and install
git clone https://github.com/spyrae/claude-concilium.git
cd claude-concilium

# Install dependencies for each server
cd servers/mcp-openai && npm install && cd ../..
cd servers/mcp-gemini && npm install && cd ../..
cd servers/mcp-qwen && npm install && cd ../..

# Verify all servers work (no CLI tools required)
node test/smoke-test.mjs

Expected output:

PASS mcp-openai  (Tools: openai_chat, openai_review)
PASS mcp-gemini  (Tools: gemini_chat, gemini_analyze)
PASS mcp-qwen    (Tools: qwen_chat)
All tests passed.
2. Set up providers

Pick at least 2 providers:

ProviderAuthFree TierSetup
OpenAIcodex login (OAuth)ChatGPT Plus weekly creditsSetup guide
GeminiGoogle OAuth1000 req/daySetup guide
QwenOAuth or API keyVariesSetup guide
DeepSeekAPI keyPay-per-use (cheap)Setup guide
3. Add to Claude Code

Copy config/mcp.json.example and update paths:

# Edit the example with your actual paths
cp config/mcp.json.example .mcp.json
# Update "/path/to/claude-concilium" with actual path

Or add servers individually to your existing .mcp.json:

{
  "mcpServers": {
    "mcp-openai": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/servers/mcp-openai/server.js"],
      "env": {
        "CODEX_HOME": "~/.codex-minimal"
      }
    },
    "mcp-gemini": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/servers/mcp-gemini/server.js"]
    }
  }
}
4. Install the skill (optional)

Copy the Concilium skill to your Claude Code commands:

cp skill/ai-concilium.md ~/.claude/commands/ai-concilium.md

Now use /ai-concilium in Claude Code to trigger a multi-agent consultation.

MCP Servers

Each server can be used independently — you don't need all of them.

ServerCLI ToolAuthTools
mcp-openaicodexOAuth (ChatGPT Plus)openai_chat, openai_review
mcp-geminigeminiGoogle OAuthgemini_chat, gemini_analyze
mcp-qwenqwenOAuth / API keyqwen_chat

DeepSeek uses the existing deepseek-mcp-server npm package — no custom server needed.

How It Works

Consultation Flow
  1. Formulate — describe the problem concisely (under 500 chars)
  2. Send in parallel — OpenAI + Gemini get the same prompt
  3. Handle errors — if a provider fails, fallback chain kicks in (Qwen → DeepSeek)
  4. Synthesize — compare responses, find consensus
  5. Iterate (optional) — resolve disagreements with follow-up questions
  6. Decide — apply the synthesized solution
Error Detection

All servers detect provider-specific errors and return structured responses:

Error TypeMeaningAction
QUOTA_EXCEEDEDRate/credit limit hitUse fallback provider
AUTH_EXPIRED / AUTH_REQUIREDToken needs refreshRe-authenticate CLI
AUTH_NOT_CONFIGUREDQwen auth type not setSet QWEN_AUTH_TYPE env var
MODEL_NOT_SUPPORTEDModel unavailable on planUse default model
TimeoutProcess hungAuto-killed, use fallback
Fallback Chain
Primary:   OpenAI ──────────────► Response
           (QUOTA_EXCEEDED?)
                    │
Fallback 1: Qwen ──┴────────────► Response
           (timeout?)
                    │
Fallback 2: DeepSeek ───────────► Response (always available)

When to Use Concilium

ScenarioRecommended Agents
Code reviewOpenAI + Gemini (parallel)
Architecture decisionOpenAI + Gemini → iterate if disagree
Stuck bug (3+ attempts)All available agents
Performance optimizationGemini (1M context) + OpenAI
Security reviewOpenAI + Gemini + manual verification

Docker

Run any server in a container:

# Build
docker build -t claude-concilium .

# Run a specific server (mcp-openai | mcp-gemini | mcp-qwen)
docker run -i --rm -e SERVER=mcp-openai claude-concilium
docker run -i --rm -e SERVER=mcp-gemini claude-concilium

Note: The servers wrap CLI tools (codex, gemini, qwen) that require local authentication. Mount your auth credentials when running:

# OpenAI (Codex)
docker run -i --rm -e SERVER=mcp-openai \
  -v ~/.codex:/root/.codex:ro \
  claude-concilium

# Gemini
docker run -i --rm -e SERVER=mcp-gemini \
  -v ~/.config/gemini:/root/.config/gemini:ro \
  claude-concilium

Customization

See docs/customization.md for:

  • Adding your own LLM provider
  • Modifying the fallback chain
  • MCP server template
  • Custom prompt strategies

Documentation

Changelog

v2.0.0 (2026-03-02)

mcp-qwen:

  • Prompt delivery via stdin (-p -) instead of command argument — safe for any content, no length limits
  • OAuth auth-type support via QWEN_AUTH_TYPE env var (e.g., qwen-oauth)
  • New error detection: AUTH_NOT_CONFIGURED (catches "no auth type is selected")
  • Graceful shutdown handler (SIGTERM)

mcp-openai:

  • Default timeout increased from 90s to 180s (codex exec can be slow on complex prompts)

All servers:

  • Version bumped to 2.0.0
  • Updated documentation and setup guides
v0.1.0 (2025-12-15)
  • Initial release with 3 MCP servers (OpenAI, Gemini, Qwen)
  • Concilium skill with fallback chains
  • Smoke test suite
  • Docker support

License

MIT

Frequently asked questions

What is Claude Concilium?

Multi-agent consultation for Claude Code: MCP servers wrapping Codex, Gemini and Qwen CLIs for parallel code review and problem-solving with fallback chains.

How do I install Claude Concilium?

Follow the installation steps in its documentation, shown on this page and in its repository.

Is Claude Concilium open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Claude Concilium?

It is published by spyrae. AI.tn lists it but does not maintain or endorse it.

From the community awesome-mcp-servers lists and the project's GitHub repository. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.