Brainstorm について
Brainstorm は、GPT、Gemini、DeepSeek、Claude、ローカルの Ollama モデルが複数ラウンドにわたって議論し、最後に3項目の総括を出力する MCP サーバーです。設計課題について複数モデルの見解を比較したい開発者に向いています。ホステッドモードでは API キーは不要です。
主な機能
- 01相互批評を含む複数ラウンドのモデル討論
- 02推奨案・トレードオフ・主要な相違点の3項目総括
- 03並列実行による高速クイックモード
- 04構造化された判定を返すマルチモデルコードレビュー
- 05自由討論・レッドチーム・ソクラテス式の討論スタイル
- 06API とコマンドライン CLI の両方のプロバイダーに対応
活用シーン
- 01アーキテクチャや技術選定について複数モデルを比較する
- 02コード変更を複数モデルでレビューし、指摘の一致を確認する
- 03レッドチーム形式の討論で設計案の弱点を検証する
MCP 対応
MCP サーバーとして brainstorm、brainstorm_quick、brainstorm_review などのツールを MCP クライアントに提供し、実行時に API または CLI のプロバイダーを追加できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y brainstorm-mcpOPENAI_API_KEYシークレットOpenAI API key for GPT models (optional — not needed in hosted mode)GEMINI_API_KEYシークレットGoogle Gemini API key (optional)DEEPSEEK_API_KEYシークレットDeepSeek API key (optional)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
7掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| topic | string | はい | ブレインストーミングのテーマ、質問、またはプロンプト |
| models | array | いいえ | 任意:使用する特定のモデルを 'provider:model' 形式で指定します(例:'openai:gpt-4o'、またはサブスクリプション対応 CLI プロバイダーの 'claude:sonnet' / 'codex:default')。指定しない場合、設定済みのすべてのプロバイダーでデフォルトモデルが使用されます。 |
| rounds | integer | いいえ | 討論のラウンド数(デフォルト:3) |
| synthesizer | string | いいえ | 任意:最終的な統合に使用するモデルを 'provider:model' 形式で指定します。デフォルトでは最初のモデルが使用されます。 |
| systemPrompt | string | いいえ | 任意:ブレインストーミングのスタイルや制約を指定するシステムプロンプト |
| context | string | いいえ | 任意:討論の根拠となるコンテキスト(コードスニペット、PR 差分、エラーログ、アーキテクチャ文書など)。モデルにはテーマとともに提示されます。 |
| style | enum | いいえ | 討論のスタイル。'freeform'(デフォルト):自由形式のブレインストーミング。'redteam':敵対的な形式で、モデルが欠陥、リスク、弱点を探します。'socratic':前提を明らかにし、理解を深めるための掘り下げた質問をします。freeform | redteam | socratic |
| participate | boolean | いいえ | Claude が各ラウンドで討論者として積極的に参加するかどうか(デフォルト:true)。false にすると、外部モデルのみで非対話型の討論を行います。 |
| mode | enum | いいえ | 実行モード。必須です。指定しない場合、ツールはユーザーが選択するための विकल्पを返します。 'api' — MCP サーバーが設定済みの API キーを使用してモデル API を直接呼び出します。 'hosted' — API キーは不要です。環境で利用可能なモデル(opus/sonnet/haiku、GPT、Gemini など)を使い、HOST がサブエージェントで実行するためのプロンプトを返します。api | hosted |
詳細
brainstorm-mcp
あるモデルに設計について質問すると、自信に満ちた回答が1つ返ってきますが、どの部分に自信がないのかは分かりません。 3つのモデルに尋ねると、その意見の食い違いが判断材料になります。
brainstorm-mcp は、エディター内で GPT、Gemini、DeepSeek、Claude、ローカルの Ollama モデルによる複数ラウンドの議論を実行します。各モデルはラウンドを重ねながら互いの回答を確認して批評し、最後に3つの箇条書きで総括を返します。内容は、推奨案、主なトレードオフ、最も大きな意見の食い違いです。即時に使えるクイックモード、複数モデルによる判定付きコードレビュー、レッドチーム/ソクラテス式のスタイルにも対応しています。ホスト型モードでは API キーは不要です。
1つの AI を信じるのではなく、議論させましょう。
クイックスタート(60秒)
claude mcp add brainstorm -- npx -y brainstorm-mcp
次に Claude にこう尋ねてください。「opus、sonnet、haiku を使って、GraphQL と REST のどちらを採用すべきかブレインストーミングしてください。」
これによりホスト型モードで実行されます。API キーもプロバイダーアカウントも不要です。議論では、環境内ですでに利用できるモデルが使われ、最後に3つの箇条書きで総括が得られます。
デモ
クリックしてご覧ください。3つのモデルが議論し、互いに問いただし、構造化された結論を導きます。すべて Claude Code 内で完結します。
機能
- ホスト型モード — API キーは不要です。サブエージェントを介して、環境内のモデル(Claude Opus/Sonnet/Haiku)を使用します
- API モード — OpenAI、Gemini、DeepSeek、Groq、Ollama でモデル API を直接呼び出し、並列実行します
- CLI モード — すでに利用しているエージェント CLI(
claude、codexなど)を使って議論します。API クレジットではなく、サブスクリプションを使って議論を実行できます - brainstorm_quick — 10秒以内に複数モデルの視点をすぐに取得できます
- brainstorm_review — 構造化された指摘、深刻度評価、判定を備えた複数モデルによるコードレビュー
- 議論のスタイル — 自由形式、レッドチーム(敵対的)、ソクラテス式(掘り下げる質問)
- コンテキストの注入 — 実際のコード、差分、アーキテクチャのドキュメントに基づいて議論できます
- 3項目の箇条書きによる総括と判定 — 推奨案、主なトレードオフ、最も大きな意見の食い違い
- 参加者としての Claude — Claude が完全な会話コンテキストを持ち、外部モデルとともに議論します
- 複数ラウンドの議論 — モデルはラウンドを重ねながら互いの回答を確認して批評します
- 並列実行 — 各ラウンドですべてのモデルが同時に応答します
- 高い回復力 — 1つのモデルが失敗しても議論は中断されません
- クロスプラットフォーム — macOS、Windows、Linux で動作します
インストール
クイックスタートの1行コマンドだけで、ホスト型モードを利用できます。プロバイダーのキーを追加すると、GPT、Gemini、DeepSeek、Groq、Ollama を議論に参加させられます。クライアントごとの設定方法は以下をご覧ください。
Claude Code
プロジェクトの .mcp.json に追加します。
{
"mcpServers": {
"brainstorm": {
"command": "npx",
"args": ["-y", "brainstorm-mcp"],
"env": {
"OPENAI_API_KEY": "sk-...",
"GEMINI_API_KEY": "AIza...",
"DEEPSEEK_API_KEY": "sk-..."
}
}
}
}
Claude Desktop
claude_desktop_config.json に追加します。
{
"mcpServers": {
"brainstorm": {
"command": "npx",
"args": ["-y", "brainstorm-mcp"],
"env": {
"OPENAI_API_KEY": "sk-...",
"DEEPSEEK_API_KEY": "sk-..."
}
}
}
}
手動インストール
npm install -g brainstorm-mcp
brainstorm-mcp
ホスト型モードでは API キーは不要です。インストールするだけですぐに使えます。ホスト(Claude Code)が、独自のモデルアクセスを使ってプロンプトを実行します。
設定
オプション1:環境変数(最も簡単)
OPENAI_API_KEY=sk-...
GEMINI_API_KEY=AIza...
DEEPSEEK_API_KEY=sk-...
オプション 2:設定ファイル(完全な制御)
BRAINSTORM_CONFIG を JSON 設定ファイルのパスに設定します。
{
"providers": {
"openai": { "model": "gpt-6.1-sol", "apiKeyEnv": "OPENAI_API_KEY" },
"gemini": { "model": "gemini-3.8-flash", "apiKeyEnv": "GEMINI_API_KEY" },
"deepseek": { "model": "deepseek-flash", "apiKeyEnv": "DEEPSEEK_API_KEY" },
"ollama": { "model": "llama3.1", "baseURL": "http://localhost:11434/v1" }
}
}
既知のプロバイダー(openai、gemini、deepseek、groq、mistral、together、moonshot、
minimax、glm、qwen、xai)では baseURL は不要です。また、組み込みのデフォルトモデルがある
プロバイダー(openai、gemini、deepseek、moonshot、minimax、glm、qwen、xai)では model も不要です。
プロバイダーのデフォルトモデルを指定するには、provider:default(例:openai:default)を使用します。
環境変数の検出:OPENAI_API_KEY、GEMINI_API_KEY、DEEPSEEK_API_KEY、MOONSHOT_API_KEY、
MINIMAX_API_KEY、ZAI_API_KEY、DASHSCOPE_API_KEY(Qwen)、XAI_API_KEY(Grok。GROK_API_KEY も使用できます)。各プロバイダーでは、
<PREFIX>_BASE_URL と <PREFIX>_DEFAULT_MODEL も使用できます。
| プロバイダー | デフォルトモデル |
|---|---|
openai | gpt-6.1-sol(gpt-6-astra、gpt-6-sol、gpt-6-luna、gpt-5.5 も使用できます) |
gemini | gemini-3.8-flash(Pro の場合は gemini-3.1-pro-preview) |
deepseek | deepseek-flash(deepseek-v4-pro) |
xai | grok-4.7 |
moonshot | kimi-k3 |
minimax | MiniMax-M3 |
glm | glm-5.3 |
qwen | qwen3.8-max |
推論モデル(GPT-5/6、o-series、Kimi K3、Gemini 3、DeepSeek V4、Grok 4+、GLM-5、MiniMax M3、
Qwen 3.5+)には、必要なトークン数が割り当てられ、temperature は指定されません。返信内のインラインの `` ブロック
は削除されます。
プロバイダーが提供するモデル ID であれば、どれでも使用できます。OpenAI の GPT-6(openai:gpt-6-astra)や
gpt-5.x の推論モデルも含まれます。brainstorm は各モデルに適したリクエスト形式を選び、API が拒否した場合は
別の形式で再試行します。
オプション 3:CLI プロバイダー(API クレジットではなくサブスクリプションを使用)
Claude Code、Codex、Gemini CLI などをすでに契約している場合、brainstorm は API クレジットを購入する代わりに、
それらの CLI をシェルから実行できます。PATH 上で見つかったエージェント CLI は、起動時に自動的に登録されます
— 設定は不要です。
[brainstorm] Detected CLI provider(s) on PATH: claude, codex (subscription-based, no API cost)
他のプロバイダーと同様に使用できます。
{ "topic": "GraphQL vs REST", "models": ["claude:sonnet", "codex:default", "openai:gpt-6.1-sol"] }
組み込みアダプター:
| プロバイダー | コマンド | デフォルトモデル | 状態 |
|---|---|---|---|
claude | claude -p | sonnet | 検証済み |
codex | codex exec | default | 検証済み |
gemini | gemini -p | default | ベストエフォート。ローカルで確認してください |
cursor-agent | cursor-agent -p | default | ベストエフォート |
opencode | opencode run | default | ベストエフォート |
qwen | qwen -p | default | ベストエフォート |
kimi | kimi --print | default | ベストエフォート |
droid | droid exec | default | ベストエフォート |
<provider>:default は「CLI で設定されているモデルを使用する」という意味です。CLI が対応している場合、CLI 呼び出しは
ツールを無効にし、読み取り専用のサンドボックスで実行されます。テキストを生成するだけで、リポジトリには変更を加えません。プロバイダー固有の API キー環境変数(ANTHROPIC_API_KEY、OPENAI_API_KEY)
は子プロセスから削除されるため、CLI はサブスクリプションのログインを使用します。
環境変数の設定:
| 変数 | 効果 |
|---|---|
BRAINSTORM_CLI_PROVIDERS | auto(デフォルト)、off、または検出するアダプターをカンマ区切りで指定したリスト |
BRAINSTORM_PREFER_CLI | 1 — 明示的な models を指定しない議論では、従量課金 API をスキップし、CLI プロバイダーのみを使用します |
BRAINSTORM_CLI_TIMEOUT_MS | CLI プロバイダーの呼び出しごとのタイムアウト(デフォルトは 300000) |
モデルを固定する場合や、組み込み以外の CLI を追加する場合は、設定ファイルを使用します。
{
"providers": {
"claude": { "type": "cli", "model": "opus" },
"my-cli": {
"type": "cli",
"adapter": "custom",
"command": "some-agent-cli",
"args": ["run", "--model", "{{model}}", "--quiet", "{{prompt}}"],
"promptVia": "arg",
"model": "some-model"
}
}
}
テンプレートのプレースホルダー:{{model}}、{{system}}、{{prompt}}、{{outfile}}。値が空になるプレースホルダーが単独で指定されている場合、そのプレースホルダーを導入するフラグとともにコマンドラインから省略されます。そのため、
["--model", "{{model}}"] は provider:default の場合でも機能します。プロンプトを引数として渡す代わりにパイプで渡すには、"promptVia": "stdin" を設定します。
Claude CLI 経由のコーディングプランバックエンド
Moonshot(Kimi)、MiniMax、Z.ai(GLM)は、Anthropic API に対応したコーディングプランのサブスクリプションを提供しています。claude バイナリの接続先をいずれかに設定すると、すでに料金を支払っているプランで、そのベンダーも議論に参加します。
{
"providers": {
"moonshot": { "type": "cli", "backend": "moonshot", "model": "kimi-k3" },
"minimax": { "type": "cli", "backend": "minimax", "model": "MiniMax-M3" },
"glm": { "type": "cli", "backend": "glm", "model": "glm-5.3" }
}
}
| バックエンド | エンドポイント | トークン環境変数 |
|---|---|---|
moonshot | https://api.moonshot.ai/anthropic | MOONSHOT_API_KEY |
minimax | https://api.minimax.io/anthropic | MINIMAX_API_KEY |
glm | https://api.z.ai/api/anthropic | ZAI_API_KEY |
トークンは呼び出し時に環境変数から読み込まれます。設定ファイルに保存されるのは変数名であり、シークレットではありません。子プロセスからは ANTHROPIC_API_KEY が削除されるため、これらの呼び出しで Anthropic アカウントに請求されることはありません。CLI プロバイダーには "env" ブロックも指定でき、バックエンドを手動で上書きできます。"$NAME" の値を指定すると、サーバーの環境変数を介して間接参照されます。
これらのベンダーは、従量課金の通常の API としても利用できます。moonshot、minimax、glm、qwen には既知のベース URL があるため、MOONSHOT_API_KEY だけで moonshot を API プロバイダーとして登録できます。
ツール
| ツール | 説明 | アノテーション |
|---|---|---|
brainstorm | AI モデル間の複数ラウンドの議論(API モードまたはホストモード) | readOnly |
brainstorm_quick | 複数モデルによる即時の視点の提示 — 並列実行、ラウンドなし | readOnly |
brainstorm_review | 指摘事項、重大度、判定を含む複数モデルによるコードレビュー | readOnly |
brainstorm_respond | 対話セッションで Claude の回答を送信 | readOnly |
brainstorm_collect | ホストセッションでモデルの回答を送信 | readOnly |
list_providers | 設定済みプロバイダー、API キーの状態、検出された CLI を表示 | readOnly |
add_provider | 実行時に新しい API または CLI プロバイダーを追加 | non-destructive |
使用例
例 1:複数モデルによるすばやい視点の提示
プロンプト:「brainstorm_quick を使って、セッションストレージとしての Redis と PostgreSQL を比較してください」
呼び出されるツール: brainstorm_quick
{ "topic": "Redis vs PostgreSQL for session storage in a Node.js app" }
出力: 設定済みの各モデルが独立して並列に回答します。モデル名、回答、所要時間、コストを含む比較を、10 秒以内に並べて確認できます。
エラー処理: モデルでエラー(レート制限、タイムアウトなど)が発生しても、ツールは残りのモデルで処理を続け、どのモデルでエラーが発生したかを表示します。
例 2:複数モデルによるコードレビュー
プロンプト:「この差分にセキュリティ上の問題がないかレビューしてください」(Git の差分を貼り付けた状態)
呼び出されるツール: brainstorm_review
{
"diff": "diff --git a/src/auth.ts ...",
"title": "Add JWT authentication middleware",
"focus": ["security", "correctness"]
}
出力: 重大度、カテゴリ、ファイル、行番号、提案を示す指摘事項テーブル付きで、構造化された判定(承認/警告付きで承認/変更が必要)が返されます。モデル間の一致度分析も含まれます。複数のモデルが指摘した問題ほど、確信度が高くなります。
エラー処理: 統合に失敗した場合でも、モデルごとのレビューはそのまま返されます。
例 3:ホストモードでのブレインストーミング(API キー不要)
プロンプト:「opus、sonnet、haiku を使って、GraphQL と REST のどちらを使うべきかブレインストーミングしてください」
呼び出されるツール: brainstorm
{
"topic": "GraphQL vs REST for our public API",
"models": ["opus", "sonnet", "haiku"],
"mode": "hosted",
"rounds": 2,
"style": "redteam"
}
出力: ツールは各モデル向けのプロンプトを返します。ホスト(Claude Code)が異なるモデルを使うサブエージェントを起動し、回答を収集して brainstorm_collect 経由で返します。すべてのラウンドの後、統合モデルが 3 つの箇条書きによる判定を生成します。内容は「推奨事項」「主なトレードオフ」「最も大きな意見の相違」です。
エラー処理: セッションは 10 分後に期限切れになります。セッションが見つからない場合は、新しいセッションを開始する手順を含む明確なエラーメッセージが返されます。
仕組み
API/CLI モード
- Claude にトピックのブレインストーミングを依頼します
- ツールが設定済みのすべてのプロバイダーにトピックを並列送信します。API プロバイダーには HTTP を使い、CLI プロバイダーには子プロセスを起動します
- Claude がそれらの回答を読み、自身の視点を加えます
- 各モデルが互いの回答を確認し、複数のラウンドを通じて内容を洗練させます
- 統合モデルが最終判定を生成します
ホストモード
- Claude に特定のモデル(例:opus、sonnet、haiku)とのブレインストーミングを依頼します
- ツールがプロンプトを返します。API 呼び出しは行われません
- Claude が異なるモデルを使うサブエージェントを起動し、プロンプトを実行します
- 回答が収集され、次のラウンドに向けてフィードバックされます
- 統合されるまで繰り返します
プライバシーポリシー
brainstorm-mcp は完全にお使いのマシン上で動作し、個人データ、テレメトリー、分析データを収集、保存、送信しません。
API モードでは、お使いの API キーを使用して、プロンプトがお使いのマシンから設定したモデルプロバイダー(OpenAI、Gemini、DeepSeek など)に直接送信されます。CLI モードでは、プロンプトはお使いのマシンにインストールされたエージェント CLI に渡され、既存のサブスクリプションを使って各 CLI の提供元と通信します。ホストモードでは、外部 API 呼び出しは行われません。
ディベートセッションはメモリ内にのみ、10 分間の TTL で保存されます。明示的に結果を保存しない限り、データはディスクに書き込まれません。
プライバシーポリシー全文:PRIVACY.md
サポート
- 課題:https://github.com/spranab/brainstorm-mcp/issues
- メール:[email protected]
- リポジトリ:https://github.com/spranab/brainstorm-mcp
開発
git clone https://github.com/spranab/brainstorm-mcp.git
cd brainstorm-mcp
npm install
npm run build
npm start
関連プロジェクト
同じ作者による、組み合わせて使えるその他のエージェントインフラストラクチャ:
- saga-mcp — SQLite ベースのプロジェクト トラッカーです。ディベートで結論が出たら、その決定を永続的な場所に記録できます。
- yantrikdb-mcp — エージェントが決定事項とその理由を記憶できるようにする、永続的な 認知メモリです。
- swarmcode — 異なるマシン上にある Claude Code インスタンス間の リアルタイムチャネルです。
- truenas-mcp — 1 つの階層型ツールで 278 個の TrueNAS SCALE アクションを提供します。
- mcpier — API キーをクライアントに渡さずに済む、セルフホスト可能な MCP コントロールプレーンです。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
