MCP server for multi-round AI brainstorming debates across multiple models
Strong foundation with well-structured tools and clear intent. Most tools have detailed descriptions (100-300 chars) exceeding baseline minimums. All tools include typed parameters with descriptions. Error handling guidance is present in descriptions. However, output schemas are not explicitly documented in code, parameter constraints lack formal JSON Schema patterns, and some parameter relationships are underdocumented. Tool composition is excellent, each tool has a single, clear responsibility, and dependencies chain well (brainstorm → brainstorm_respond/brainstorm_collect). The brainstorm_respond and brainstorm_collect tools demonstrate sophisticated state management and multi-round interaction patterns.
Add a new AI provider for brainstorming. Supports any OpenAI-compatible API, or a locally installed agent CLI (kind='cli') that runs on an existing subscription instead of API credits.
Start a multi-round brainstorming debate across multiple AI models with automatic synthesis. Supports two modes: (1) 'api' mode runs all rounds automatically and returns the final formatted result. (2) 'hosted' mode returns prompts for each round to be executed by a host agent, allowing the host to pick specific model implementations. For 'hosted' mode, after calling this tool, execute the returned prompts with your chosen models and submit responses to brainstorm_collect.
Submit collected model responses for a hosted brainstorm session. After receiving prompts from `brainstorm` (mode='hosted') or a previous `brainstorm_collect` call, execute each prompt by spawning a sub-agent for EACH model (use the model parameter to select the right model, e.g., model='sonnet' or model='haiku'). Collect all responses and submit them here. This tool returns either: (1) the next round's prompt to execute, (2) a synthesis prompt for a single model, or (3) the final formatted debate result when complete.
Get instant multi-model perspectives on any question — no debate rounds, no synthesis delay. Fires all models in parallel and returns a compact comparison. Under 10 seconds. Use this for quick second opinions, snap decisions, or when you want diverse perspectives fast. For deeper analysis with multiple rounds and synthesis, use the `brainstorm` tool instead.
Output schemas not documented in code. While tool descriptions explain what is returned conceptually, formal JSON Schema definitions for response structures are not visible in the provided source.
Parameter constraints lack formal JSON Schema patterns. Enums are declared (style, mode, kind), but numeric parameters (rounds, limits) lack min/max bounds. Format constraints (e.g., 'provider:model' format) are documented only in descriptions, not in schemas.
Complex parameter relationships underdocumented. brainstorm has interdependencies: 'synthesizer' depends on 'models', 'mode' determines whether brainstorm_respond or brainstorm_collect is called next. These decision trees are implied in descriptions but not explicitly stated as mutual dependencies or state transitions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 67 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 14 | - | v1 |
Continue an existing brainstorming session by submitting a model's response for the current round. This tool is for interactive (API) sessions started with brainstorm(mode='api'). It handles round progression, generates the next round's prompt, and triggers synthesis when all rounds are complete.
Get code review feedback from multiple models in a single round. Each model independently reviews the provided code and returns feedback. No synthesis, no multi-round debate — just parallel code reviews. Fast and efficient for quick feedback.
List all configured AI providers and their default models. Shows which providers are available for brainstorming.
add_provider's 'custom' adapter path has complex conditional logic. When adapter='custom', 'command' and 'args' become required; when adapter is built-in, they are ignored. This conditional requirement is documented inline but could benefit from clearer separation or two distinct tools (add_builtin_provider, add_custom_provider).
list_providers description is minimal (7 words). Baseline is 34 - 392 chars; this is at the lower bound. It does not explain discovery intent ('Call this to see what providers are available before calling brainstorm') or what fields the response includes.
Error handling patterns documented in descriptions but not formalized in response schemas. Tools reference error conditions (invalid model, timeout, API failure) but do not declare error response structure (error code, message, recovery hint) in schema.