Conclave MCP
Conclave MCP
「AIの合議体(conclave)」へのアクセスを提供するMCP(Model Context Protocol)サーバーです。MCP対応クライアントから複数の最先端モデルに相談し、多様な意見、ピアランキングによる評価、統合された回答を得ることができます。
なぜこれが必要なのか
AIアシスタントを利用する際、通常は1つのモデルの視点しか得られません。それが適切な場合もありますが、技術アーキテクチャ、ビジネス戦略、クリエイティブな方向性、複雑な分析など、盲点が許されない重要な意思決定においては、複数の意見を検討することで見落としを防ぐことができます。
Conclaveは、民主的なAIの合意形成をあらゆるワークフローにもたらします。
複数のAIサービスに手動で問い合わせる代わりに、Claude Desktop、Claude Code、または任意のMCPクライアントを通じてConclaveに相談できます。複数の最先端モデル(GPT、Claude、Gemini、Grok、DeepSeek)からランク付けされた意見を取得し、AIの集合知を代表する統合された回答を受け取ることができます。
主なユースケース:
技術: アーキテクチャの決定、コードレビュー、デバッグ、API設計
ビジネス: 戦略分析、提案書のレビュー、市場調査の統合
クリエイティブ: ライティングのフィードバック、ブレインストーミング、編集的視点
研究: 文献レビュー、ファクトチェック、多角的な分析
意思決定: メリット・デメリット分析、リスク評価、選択肢の評価
Andrej Karpathy氏のllm-councilのコンセプトに着想を得ています。本プロジェクトは、AI支援ワークフローへのシームレスな統合のために、その核となるアイデアをMCPサーバーとして再実装したものです。
Related MCP server: Converse MCP Server
仕組み
Conclaveは最大3つのステージで動作します。
┌─────────────────────────────────────────────────────────────────┐
│ Stage 1: OPINIONS │
│ Query multiple LLMs in parallel for independent responses │
│ (GPT, Claude, Gemini, Grok, DeepSeek, etc.) │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ Stage 2: PEER RANKING │
│ Each model anonymously evaluates and ranks all responses │
│ Aggregate scores reveal best performers (lower = better) │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ Stage 3: SYNTHESIS │
│ Chairman model synthesizes final answer from collective wisdom │
│ Consensus level reported (strong/moderate/weak/split) │
│ Tiebreaker vote cast if conclave is split │
└─────────────────────────────────────────────────────────────────┘機能
階層化されたクエリ: コストと深さのトレードオフを選択可能(quick | ranked | full)
3つの評議会階層: プレミアム(最先端)、スタンダード(バランス型)、バジェット(高速・安価)
合意プロトコル: 合意レベルを検出し、意見が割れた場合はタイブレーカー(決選投票)をトリガー
奇数の評議会サイズ: タイブレーカー投票でデッドロックを確実に回避
議長のローテーション: 毎週のローテーションにより、単一モデルのバイアスを防止
議長プリセット: コンテキストに応じた議長選択(コード、クリエイティブ、推論)
コスト見積もり: クエリ実行前にコストを把握可能
Eval-light: 時間経過に伴うパフォーマンスを追跡するためのスタンドアロン型ベンチマーク実行ツール
インストール
前提条件
https://openrouter.ai/keys からOpenRouter APIキーを取得する
OpenRouterアカウントにクレジットを追加する(従量課金制)
セットアップ
# Clone the repository
git clone https://github.com/stephenpeters/conclave-mcp.git
cd conclave-mcp
# Install dependencies
uv sync
# Optional: Create .env file for running tests locally
# (Not required for MCP usage - API key is passed via client config)
echo "OPENROUTER_API_KEY=sk-or-v1-your-key-here" > .envClaude Desktopの設定
オプション1: デスクトップ拡張機能(推奨)
Claude Desktopを開く
Settings > Extensions > Advanced settings > Install Extension... に移動
conclave-mcpディレクトリを選択プロンプトに従って
OPENROUTER_API_KEYを設定Claude Desktopを再起動
オプション2: 手動設定
Claude Desktopを開き、Settings > Developer > Edit Config に移動して、claude_desktop_config.json に以下を追加します:
{
"mcpServers": {
"conclave": {
"command": "uv",
"args": ["run", "--directory", "/path/to/conclave-mcp", "python", "server.py"],
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-your-key-here"
}
}
}
}/path/to/conclave-mcp を実際のパスに置き換え、保存してClaude Desktopを再起動してください。
Claude Codeの設定
CLIを使用してサーバーを追加します:
claude mcp add --transport stdio conclave -- uv run --directory /path/to/conclave-mcp python server.py --env OPENROUTER_API_KEY=sk-or-v1-your-key-hereまたは、.mcp.json.example を .mcp.json にコピーしてパスを更新します:
cp .mcp.json.example .mcp.json
# Edit .mcp.json with your paths and API keyClaude Code内で /mcp を実行するか、ターミナルで claude mcp list を実行して確認してください。
利用可能なツール
conclave_quick
高速な並列意見収集(ステージ1のみ)。すべてのConclaveモデルに問い合わせ、個別の回答を返します。
コスト: クエリあたり約$0.01-0.03
用途: クイックなブレインストーミング、多様な視点を素早く得る
conclave_ranked
ピアランキング付きの意見収集(ステージ1 + 2)。特定の質問に対してどのモデルが最も優れたパフォーマンスを発揮したかを表示します。
コスト: クエリあたり約$0.05-0.10
用途: コードレビュー、アプローチの比較、どのモデルが「勝った」かを確認する
conclave_full
統合を含む完全なConclave(全3ステージ)。合意検出と議長によるタイブレーカーを含みます。
コスト: クエリあたり約$0.10-0.20
オプション:
tier: モデル階層 -"premium","standard"(デフォルト),"budget"chairman: 議長モデルの上書き(例:"anthropic/claude-sonnet-4")chairman_preset: プリセットの使用("code","creative","reasoning","concise","balanced")
用途: 重要な意思決定、アーキテクチャの選択、複雑なデバッグ
conclave_config
現在の設定(Conclaveメンバー、議長ローテーション状況、合意しきい値)を表示します。
conclave_estimate
クエリ実行前にコストを見積もります。
conclave_models
選択番号付きの利用可能な全モデルをリスト表示します。モデルは階層ごとにグループ化され、安定した番号が割り当てられています:
プレミアム階層: 1-10
スタンダード階層: 11-20
バジェット階層: 21-30
議長プール: 31-40
conclave_select
モデル番号からカスタムConclaveを作成します。最初のモデルが議長になります。
conclave_select(models="31,1,11,21")作成例:
議長: #31 (deepseek-r1)
メンバー: #1 (claude-opus-4.5), #11 (claude-sonnet-4.5), #21 (gemini-2.5-flash)
カスタム選択は、サーバーの再起動または conclave_reset が実行されるまで保持されます。
conclave_reset
カスタムConclave選択をクリアし、階層ベースの設定に戻します。
カスタムモデル選択
Conclaveに参加するモデルを完全に制御するには:
利用可能なモデルをリスト表示:
conclave_modelsを使用して、すべてのモデルと番号を確認しますラインナップを選択:
conclave_select(models="31,1,11,21")を使用します(最初の番号が議長です)クエリ: 通常通り
conclave_quick、conclave_ranked、またはconclave_fullを使用しますリセット:
conclave_resetを使用して階層ベースの設定に戻します
ワークフロー例:
> conclave_models
## Available Models
### Premium Tier (1-10)
1. anthropic/claude-opus-4.5
2. google/gemini-3-pro-preview
...
> conclave_select(models="31,1,12,21")
## Custom Conclave Created
Chairman (#31): deepseek/deepseek-r1
Members:
- #1: anthropic/claude-opus-4.5
- #12: google/gemini-2.5-pro
- #21: google/gemini-2.5-flash
> conclave_quick("What is the best approach for...")
[Uses your custom selection]
> conclave_reset
## Custom Conclave Cleared設定
config.py を編集してカスタマイズします:
Conclave階層
各階層には、適切な価格/パフォーマンスの差別化のために、重複のない独自のモデルが設定されています:
# Premium: 6 frontier models for complex questions (~$0.30-0.50/query)
COUNCIL_PREMIUM = [
"anthropic/claude-opus-4.5", # Claude Opus 4.5
"google/gemini-3-pro-preview", # Gemini 3 Pro
"x-ai/grok-4", # Grok 4 (full reasoning)
"openai/gpt-5.1", # GPT-5.1 (flagship)
"deepseek/deepseek-v3.2-speciale", # DeepSeek V3.2 Speciale
"moonshotai/kimi-k2-thinking", # Kimi K2 Thinking (1T MoE)
]
# Standard: 4 balanced models (default) (~$0.10-0.20/query)
COUNCIL_STANDARD = [
"anthropic/claude-sonnet-4.5", # Claude Sonnet 4.5
"google/gemini-2.5-pro", # Gemini 2.5 Pro
"openai/o4-mini", # OpenAI o4-mini
"deepseek/deepseek-chat-v3.1", # DeepSeek Chat V3.1
]
# Budget: 4 cheap/fast models (~$0.02-0.05/query)
COUNCIL_BUDGET = [
"google/gemini-2.5-flash", # Gemini 2.5 Flash
"qwen/qwen3-235b-a22b:free", # Qwen 3 235B (free tier)
"openai/gpt-4.1-mini", # GPT-4.1 Mini
"moonshotai/kimi-k2:free", # Kimi K2 (free tier)
]議長ローテーション
議長プールには、高品質な統合のために(チャットモデルではなく)推論モデルのみが使用されます:
CHAIRMAN_ROTATION_ENABLED = True
CHAIRMAN_ROTATION_DAYS = 7 # Rotate weekly
CHAIRMAN_POOL = [
"deepseek/deepseek-r1", # DeepSeek R1 reasoning
"openai/o3-mini", # OpenAI o3-mini reasoning
"anthropic/claude-sonnet-4", # Claude Sonnet 4 (strong reasoning)
"qwen/qwq-32b", # Qwen QWQ reasoning model
]合意しきい値
CONSENSUS_STRONG_THRESHOLD = 0.75 # 75%+ agreement
CONSENSUS_MODERATE_THRESHOLD = 0.50 # 50-75% agreement
CHAIRMAN_TIEBREAKER_ENABLED = True # Chairman breaks tiesEval-Light
階層間および長期的なConclaveのパフォーマンスをテスト・比較するためのスタンドアロン型ベンチマーク実行ツールです。
テストスイートの概要
評価スイートには、異なるモデル能力をテストするために設計された、9カテゴリにわたる 16のタスク が含まれています:
カテゴリ | タスク数 | 難易度 | テスト内容 |
math | 2 | 初級-中級 | 算数、文章題、ステップバイステップの推論 |
code | 2 | 初級-中級 | バグ検出、概念説明、コード例 |
reasoning | 2 | 中級-上級 | 三段論法、多段階論理パズル |
analysis | 2 | 中級 | 論理的誤謬、トレードオフ分析 |
summarization | 2 | 中級 | 技術文書、ビジネスレポート |
writing_business | 2 | 初級-中級 | ビジネスメール、提案書 |
writing_creative | 2 | 初級-中級 | 物語の書き出し、独自の比喩 |
creative | 1 | 初級 | 解説付きの類推 |
factual | 1 | 初級 | 一般向けの科学解説 |
評価の実行
# Run all 16 tests at standard tier (default)
python eval.py
# Run at different tiers
python eval.py --tier premium # 6 frontier models (~$0.30-0.50/query)
python eval.py --tier standard # 4 balanced models (~$0.10-0.20/query)
python eval.py --tier budget # 4 cheap/fast models (~$0.02-0.05/query)
# Different modes
python eval.py --mode quick # Stage 1 only (fastest, cheapest)
python eval.py --mode ranked # Stage 1 + 2 (adds peer rankings)
python eval.py --mode full # All 3 stages (default, includes synthesis)
# Filter by category
python eval.py --category math
python eval.py --category code
python eval.py --category reasoning
# Don't save results to disk
python eval.py --no-save
# Combine options
python eval.py --tier premium --mode full --category reasoning出力形式
結果は evals/eval_<tier>_<mode>_<timestamp>.json に保存され、以下が含まれます:
metadata: タイムスタンプ、階層、モード、議長モデル
summary: 成功率、合計時間、タスクごとの平均時間
results: タスクごとの詳細(以下を含む):
個別のモデル回答
ピアランキング(ranked/fullモードの場合)
議長による統合(fullモードの場合)
合意レベル
出力例
🏛️ Conclave Eval-Light
Tier: standard | Mode: full | Tasks: 16
--------------------------------------------------
[1/16] Running: math_arithmetic (math)
✓ Completed in 12.34s
[2/16] Running: math_word_problem (math)
✓ Completed in 15.67s
...
==================================================
📊 EVAL SUMMARY
==================================================
Tier: standard | Mode: full
Chairman: deepseek/deepseek-r1
Tasks: 16/16 successful
Total time: 287.45s
Avg per task: 17.97s
📋 Results by Task:
✓ math_arithmetic (easy) - 12.34s
✓ math_word_problem (medium) - 15.67s
✓ code_debug (easy) - 11.23s
...
💾 Results saved to: evals/eval_standard_full_20251204_143052.json階層の比較
すべての階層で同じ評価を実行し、モデルの品質とコストを比較します:
python eval.py --tier budget --category reasoning
python eval.py --tier standard --category reasoning
python eval.py --tier premium --category reasoningその後、JSON出力を比較して、同じタスクに対して異なるモデル階層がどのように機能するかを確認します。
ユースケース
シナリオ | 推奨ツール | 理由 |
「この関数をレビューして」 |
| どのモデルが最も多くの問題を指摘するかを確認 |
「セッション管理にRedisとPostgreSQLどちらが良い?」 |
| 重要な決定のため、統合が必要 |
「この機能のアイデア出し」 |
| 高速で多様なブレインストーミング |
「このエラーをデバッグして」 |
| 高速な並列診断 |
「この段落を書き直して」 |
| クリエイティブな統合 |
「このアーキテクチャは健全か?」 |
| 技術的な統合 |
ツール出力例
## Conclave Full Result
**Consensus: ✅ STRONG** (75% agreement)
---
### Chairman's Synthesis
_Chairman: deepseek/deepseek-r1_
[Synthesized answer incorporating best points from all models...]
---
### Model Rankings (lower is better)
1. **claude-sonnet-4.5**: 1.50
2. **o4-mini**: 2.00
3. **gemini-2.5-pro**: 2.75
4. **deepseek-v3.1**: 3.75
_First-place votes:_ claude-sonnet-4.5=3, o4-mini=1プロジェクト構造
conclave-mcp/
├── server.py # MCP server entry point (5 tools)
├── conclave.py # Core 3-stage council logic
├── config.py # Model tiers, chairman rotation, cost estimates
├── eval.py # Standalone benchmark runner
└── evals/ # Saved evaluation resultsモデルの追加
OpenRouterは200以上のモデルをサポートしています。モデルIDは https://openrouter.ai/models で確認してください。
# Add to COUNCIL_* lists in config.py
"x-ai/grok-4" # xAI Grok
"meta-llama/llama-4-maverick" # Meta Llama
"mistralai/mistral-large-2" # Mistral
"deepseek/deepseek-r1" # DeepSeek reasoning重要: 適切な差別化のために、各階層のモデルは重複させないようにしてください。
OpenRouterの仕組み
OpenRouterは統合されたAPIゲートウェイです。OpenAI、Google、Anthropicなどの個別の契約は不要です。1つのAPIキーと1つのクレジット残高で、すべてのモデルにアクセスできます。
サインアップ: https://openrouter.ai
クレジットの追加(プリペイド、または自動チャージを有効化)
すべてのモデルに対して単一のAPIキーを使用
ライセンス
MIT
帰属
Andrej Karpathy氏のllm-councilに着想を得ています。オリジナルはLLMの比較をインタラクティブに探索するためのWebアプリケーションです。本プロジェクトは、AI支援エディタとの統合のために、その評議会コンセプトをMCPサーバーとして再実装し、合意プロトコルとタイブレーカーのメカニズムを追加したものです。
Available Tools
8 toolsconclave_configA
View current conclave configuration.
Shows conclave member models, current chairman with rotation info, available chairman presets, consensus thresholds, and API key status.
Also shows custom conclave selection if active.
Returns: Current configuration as formatted JSON
Inputs: no named parameters. Returns: result
conclave_estimateA
Estimate cost for a conclave query before running it.
Provides approximate cost breakdown for quick/ranked/full query types.
Args: question: The question (used to estimate token count) tier: Which tier to estimate - "quick", "ranked", "full" (default: all)
Returns: Cost estimates for each query type
Inputs: question (required), tier. Returns: result
conclave_fullA
Run the full conclave with synthesis (all 3 stages).
Most comprehensive - collects opinions, peer rankings, then has a Chairman model synthesize the best possible answer from the collective wisdom.
If a custom conclave is active (via conclave_select), it will be used instead of the tier-based config. The custom chairman overrides the chairman and chairman_preset parameters.
Args: question: The question to ask the conclave tier: Model tier - "premium" (complex), "standard" (default), "budget" (simple) Ignored if custom conclave is active. chairman: Override chairman model (e.g., 'anthropic/claude-sonnet-4') Ignored if custom conclave is active. chairman_preset: Use a context-based preset - "code", "creative", "reasoning", "concise", "balanced" Ignored if custom conclave is active.
Returns: Chairman's synthesis, consensus level, rankings, and individual responses
Inputs: question (required), tier, chairman, chairman_preset. Returns: result
conclave_modelsA
List all available models with selection numbers.
Shows all models from all tiers with unique numbers that can be used with conclave_select to create a custom conclave.
Numbers are stable:
Premium tier: 1-10
Standard tier: 11-20
Budget tier: 21-30
Chairman pool: 31-40
Returns: Numbered list of all available models grouped by tier
Inputs: no named parameters. Returns: result
conclave_quickA
Query the conclave for quick parallel opinions (Stage 1 only).
Fast and cheap - queries all conclave models in parallel and returns their individual responses. No peer ranking or synthesis. Good for getting diverse perspectives quickly.
If a custom conclave is active (via conclave_select), it will be used instead of the tier-based config.
Args: question: The question to ask the conclave tier: Model tier - "premium" (frontier), "standard" (default), "budget" (cheap/fast) Ignored if custom conclave is active.
Returns: Individual responses from each conclave model
Inputs: question (required), tier. Returns: result
conclave_rankedA
Query the conclave with peer rankings (Stage 1 + 2).
Medium cost - gets individual opinions, then has each model anonymously evaluate and rank all responses. Returns aggregate "street cred" scores showing which models performed best on this specific question.
If a custom conclave is active (via conclave_select), it will be used instead of the tier-based config.
Args: question: The question to ask the conclave tier: Model tier - "premium" (frontier), "standard" (default), "budget" (cheap/fast) Ignored if custom conclave is active.
Returns: Individual responses plus aggregate rankings
Inputs: question (required), tier. Returns: result
conclave_resetA
Clear custom conclave selection and return to tier-based config.
After reset, queries will use the tier parameter (premium/standard/budget) instead of the custom model selection.
Returns: Confirmation that custom selection was cleared
Inputs: no named parameters. Returns: result
conclave_selectA
Create a custom conclave from model numbers.
Select specific models by their numbers (from conclave_models). The first model in the list becomes the chairman.
This custom selection persists until server restart or conclave_reset.
Args: models: Comma-separated model numbers, e.g. "1,5,11,14" First number = chairman, rest = conclave members
Returns: Confirmation of the new conclave configuration
Example: conclave_select(models="31,1,11,21") creates: - Chairman: model #31 (deepseek-r1) - Members: models #1, #11, #21
Inputs: models (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose with no ambiguity. For example, conclave_quick, conclave_ranked, and conclave_full represent distinct stages of query processing, while conclave_select and conclave_reset manage custom configurations, and conclave_models and conclave_config provide informational views. The descriptions clearly differentiate their roles.
All tool names follow a consistent snake_case pattern with a 'conclave_' prefix and descriptive suffixes (e.g., conclave_config, conclave_estimate, conclave_full). This uniformity makes the tool set predictable and easy to understand, enhancing usability for agents.
With 8 tools, the server is well-scoped for its purpose of managing and querying a conclave of models. Each tool serves a specific function, such as configuration, estimation, querying at different stages, and model selection, without redundancy or unnecessary complexity.
The tool set provides complete coverage for the conclave domain, including configuration viewing, cost estimation, querying at all stages (quick, ranked, full), model listing, custom selection, and resetting. There are no obvious gaps; agents can perform the full lifecycle from setup to querying and cleanup.
Maintenance
Related MCP Connectors
Put a decision to a council of top AI models and get one brief: verdict, splits, risks, next steps.
Ask GPT, Claude, Gemini and Grok at once: one consensus answer plus where they agree and split.
Multi-LLM council: 25+ frontier models in parallel, consensus scoring, verdict-first code review.
Convene a panel of expert AI personas to debate any decision from every side.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to create council hearings where multiple LLMs (Claude, GPT, Gemini, Grok) debate topics and synthesize verdicts with trust scores and diverse perspectives.26 npmApache 2.0
- AlicenseAqualityBmaintenanceEnables Claude to chat with various AI models and obtain multi-model consensus for complex decisions.41,270 npm2MIT
- AlicenseAqualityDmaintenanceEnables querying multiple AI models in parallel (Claude, Gemini, O3) and synthesizing their responses using anonymous analysis to reduce bias, providing a comprehensive answer.119 npm193MIT

polydev-aiofficial
AlicenseNot gradedqualityDmaintenanceQueries multiple AI models simultaneously (GPT 5.2, Claude Opus 4.5, Gemini 3, Grok 4.1) via a single API call to provide diverse expert perspectives and consensus recommendations.MIT