brainstorm
Orchestrate multi-round debates between AI models to critique and refine ideas, then synthesize a final conclusion.
Instructions
Run a multi-round brainstorming debate between multiple AI models. IMPORTANT: Before calling this tool, you MUST ask the user to choose a mode:
API mode — Calls configured providers. These are either HTTP APIs billed per token (OpenAI, Gemini, DeepSeek, ...) or locally installed agent CLIs such as 'claude' and 'codex', which run on the user's existing subscription at no API cost. Call list_providers to see which of each are available.
Hosted mode — No API keys needed. You execute prompts using sub-agents with models available in your environment (opus/sonnet/haiku, GPT, Gemini, etc.). Same model can be used multiple times — each run produces different perspectives.
Present these two options to the user with a one-liner explanation, then proceed based on their choice.
For API mode: set mode='api'. When participate=true (default), YOU also participate as a debater alongside external models via brainstorm_respond. For Hosted mode: set mode='hosted'. Ask the user which models to use, then spawn sub-agents for each model, collect responses, and call brainstorm_collect.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Execution mode. Must be provided — if not, the tool will return options for the user to choose. 'api' — MCP server calls model APIs directly using configured API keys. 'hosted' — No API keys needed. Returns prompts for the HOST to execute using sub-agents with models available in the environment (opus/sonnet/haiku, GPT, Gemini, etc.). | |
| style | No | Debate style. 'freeform' (default): open brainstorming. 'redteam': adversarial — models find flaws, risks, and weaknesses. 'socratic': probing questions that expose assumptions and push for deeper understanding. | freeform |
| topic | Yes | The topic, question, or prompt to brainstorm about | |
| models | No | Optional: specific models to use as 'provider:model' (e.g. 'openai:gpt-4o', or 'claude:sonnet' / 'codex:default' for subscription-backed CLI providers). If not provided, all configured providers are used with their default models. | |
| rounds | No | Number of debate rounds (default: 3) | |
| context | No | Optional context to ground the debate — code snippets, PR diffs, error logs, architecture docs, etc. Models will see this alongside the topic. | |
| participate | No | Whether Claude should actively participate as a debater in each round (default: true). Set to false for a non-interactive debate between external models only. | |
| synthesizer | No | Optional: model for final synthesis as 'provider:model'. Defaults to the first model. | |
| systemPrompt | No | Optional system prompt to guide the brainstorming style or constraints |