关于 Brainstorm
Brainstorm 是一个 MCP 服务,让 GPT、Gemini、DeepSeek、Claude 及本地 Ollama 模型在多轮辩论中互相评审,最后输出三点综合结论。适合希望比较多个模型观点的开发者。托管模式无需 API 密钥。
主要功能
- 01多轮模型辩论与互相批评
- 02三点综合结论:建议、权衡、主要分歧
- 03快速模式:并行获取多模型观点
- 04多模型代码评审,给出结构化结论
- 05辩论风格:自由讨论、红队、苏格拉底式
- 06支持 API 与命令行 CLI 两种调用方式
适用场景
- 01对架构或技术选型问题进行多模型对比
- 02对代码变更进行多模型评审并查看共识问题
- 03用红队风格检验设计方案的薄弱环节
MCP 相关
这是一个 MCP 服务,向 MCP 客户端提供 brainstorm、brainstorm_quick、brainstorm_review 等工具,并可在运行时添加新的 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 密钥。返回提示词,供 HOST 使用环境中可用的模型(opus/sonnet/haiku、GPT、Gemini 等)通过子 Agent 执行。api | hosted |
详细介绍
brainstorm-mcp
向一个模型提出设计问题,你会得到一个自信满满的答案,却无法知道它对哪些部分并不确定。向三个模型提问,它们之间的分歧就是重要信号。
brainstorm-mcp 可在编辑器中让 GPT、Gemini、DeepSeek、Claude 和本地 Ollama 模型进行多轮辩论:它们会在多轮对话中查看并点评彼此的回答,最后为你生成 3 条要点式综合结论——建议、关键权衡和最显著的分歧。它还支持即时快速模式、多模型代码审查并给出裁定,以及红队/苏格拉底式风格。托管模式无需 API 密钥。
别只相信一个 AI。让它们争论。
快速开始(60 秒)
claude mcp add brainstorm -- npx -y brainstorm-mcp
然后向 Claude 提问:“使用 opus、sonnet 和 haiku,讨论一下我们是否应该使用 GraphQL 还是 REST。”
这会以托管模式运行:无需 API 密钥,也无需供应商账号。辩论会使用你环境中已可用的模型,并在最后生成 3 条要点式综合结论。
演示
点击观看:3 个模型在 Claude Code 中展开辩论、相互质询,并给出结构化裁定。
功能
- 托管模式 — 无需 API 密钥。通过子 Agent 使用你环境中的模型(Claude Opus/Sonnet/Haiku)
- API 模式 — 直接调用模型 API,并行运行 OpenAI、Gemini、DeepSeek、Groq、Ollama
- CLI 模式 — 通过你已有的 Agent CLI(
claude、codex等)进行辩论,让辩论使用你的订阅额度,而不是 API 额度 - brainstorm_quick — 在 10 秒内即时获取多模型观点
- brainstorm_review — 多模型代码审查,提供结构化发现、严重程度评级和裁定
- 辩论风格 — 自由讨论、红队(对抗式)和苏格拉底式(探究式提问)
- 上下文注入 — 以实际代码、差异或架构文档为辩论提供依据
- 3 条要点式综合裁定 — 建议、关键权衡、最显著的分歧
- Claude 作为参与者 — Claude 可在完整对话上下文中与外部模型共同辩论
- 多轮辩论 — 模型可在多轮对话中查看并点评彼此的回答
- 并行执行 — 每轮中所有模型同时响应
- 高韧性 — 单个模型故障不会中止辩论
- 跨平台 — 支持 macOS、Windows 和 Linux
安装
快速开始中的单行命令足以启用托管模式。添加供应商密钥后,即可让 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 系列、Kimi K3、Gemini 3、DeepSeek V4、Grok 4+、GLM-5、MiniMax M3、
Qwen 3.5+)会获得所需的 token 预算,且不会传入 temperature;回复中的内联 `` 块会被移除。
提供商支持的任何模型 ID 都可以使用,包括 OpenAI 的 GPT-6(openai:gpt-6-astra)和
gpt-5.x 推理模型:brainstorm 会选择每个模型所需的请求格式,如果 API 拒绝该格式,则会重试另一种格式。
选项 3:CLI 提供商(使用订阅,而非 API 额度)
如果你已经订阅 Claude Code、Codex、Gemini CLI 等服务,brainstorm 可以调用这些 CLI,而无需购买 API 额度。启动时会自动注册在 PATH 中找到的任何 Agent 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 的辩论仅使用 CLI 提供商,跳过按量计费的 API |
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}}。解析结果为空的独立占位符会连同引入它的标记一起从命令行中移除,因此即使使用 provider:default,["--model", "{{model}}"] 也能正常工作。设置 "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" }
}
}
| 后端 | 端点 | Token 环境变量 |
|---|---|---|
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 |
Token 会在调用时从环境中读取——配置文件只保存变量名称,不会保存密钥。子进程会移除 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 diff)
调用的工具: 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)会启动使用不同模型的子 Agent,收集回复,并通过 brainstorm_collect 将回复传回。所有轮次结束后,综合模型会生成一个包含 3 条要点的结论:建议、关键权衡和最主要的分歧。
**错误处理:**会话在 10 分钟后过期。如果找不到会话,会返回清晰的错误消息,并说明如何启动新会话。
工作原理
API/CLI 模式
- 你要求 Claude 讨论某个主题
- 工具会并行向所有已配置的服务商发送该主题——API 服务商使用 HTTP,CLI 服务商则启动子进程
- Claude 阅读它们的回复,并给出自己的观点
- 模型会看到彼此的回复,并在多轮讨论中不断完善观点
- 综合器生成最终结论
托管模式
- 你让 Claude 使用指定模型(如 opus、sonnet、haiku)进行头脑风暴
- 工具返回提示词 — 不会发起 API 调用
- Claude 使用不同模型启动子 Agent 来执行提示词
- 收集响应并反馈,以进行下一轮
- 重复此过程,直到完成综合
隐私政策
brainstorm-mcp 完全在你的计算机上运行,不会收集、存储或传输任何个人数据、遥测数据或分析数据。
在 API 模式下,提示词会使用你自己的 API 密钥,从你的计算机直接发送给你配置的模型提供商(OpenAI、Gemini、DeepSeek 等)。在 CLI 模式下,提示词会传递给安装在你计算机上的 Agent 命令行工具,这些工具会通过你现有的订阅与各自的供应商通信。在 托管模式下,不会发起任何外部 API 调用。
辩论会话仅存储在内存中,TTL 为 10 分钟。除非你明确保存结果,否则不会将任何数据写入磁盘。
完整隐私政策: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
相关项目
同一作者开发的其他 Agent 基础设施,可配合使用:
- saga-mcp — 基于 SQLite 的项目 跟踪工具:辩论达成一致后,可将决策持久保存。
- yantrikdb-mcp — 持久化 认知记忆,让 Agent 记住你做出的决定及其原因。
- swarmcode — 不同计算机上的 Claude Code 实例之间的实时频道。
- truenas-mcp — 通过一个分层工具提供 278 项 TrueNAS SCALE 操作。
- mcpier — 可自托管的 MCP 控制平面, 确保 API 密钥不会暴露给客户端。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
