brainstorm
Generate and refine innovative ideas using creative frameworks like SCAMPER and Design Thinking. Integrate domain context, analyze feasibility, and cluster ideas for actionable outcomes.
Instructions
Generate novel ideas with dynamic context gathering. --> Creative frameworks (SCAMPER, Design Thinking, etc.), domain context integration, idea clustering, feasibility analysis, and iterative refinement.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| constraints | No | Known limitations, requirements, or boundaries (budget, time, technical, legal, etc.) | |
| domain | No | Domain context for specialized brainstorming (e.g., 'software', 'business', 'creative', 'research', 'product', 'marketing') | |
| existingContext | No | Background information, previous attempts, or current state to build upon | |
| ideaCount | No | Target number of ideas to generate (default: 10-15) | |
| includeAnalysis | No | Include feasibility, impact, and implementation analysis for generated ideas | |
| methodology | No | Brainstorming framework: 'divergent' (generate many ideas), 'convergent' (refine existing), 'scamper' (systematic triggers), 'design-thinking' (human-centered), 'lateral' (unexpected connections), 'auto' (AI selects best) | auto |
| model | No | Optional model to use (e.g., 'gemini-2.5-flash'). If not specified, uses the default model (gemini-2.5-pro). | |
| powershellPath | No | Optional custom PowerShell executable path (e.g., 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe' or 'pwsh'). If not specified, auto-detects available PowerShell. | |
| prompt | Yes | Primary brainstorming challenge or question to explore |
Input Schema (JSON Schema)
{
"properties": {
"constraints": {
"description": "Known limitations, requirements, or boundaries (budget, time, technical, legal, etc.)",
"type": "string"
},
"domain": {
"description": "Domain context for specialized brainstorming (e.g., 'software', 'business', 'creative', 'research', 'product', 'marketing')",
"type": "string"
},
"existingContext": {
"description": "Background information, previous attempts, or current state to build upon",
"type": "string"
},
"ideaCount": {
"default": 12,
"description": "Target number of ideas to generate (default: 10-15)",
"exclusiveMinimum": 0,
"type": "integer"
},
"includeAnalysis": {
"default": true,
"description": "Include feasibility, impact, and implementation analysis for generated ideas",
"type": "boolean"
},
"methodology": {
"default": "auto",
"description": "Brainstorming framework: 'divergent' (generate many ideas), 'convergent' (refine existing), 'scamper' (systematic triggers), 'design-thinking' (human-centered), 'lateral' (unexpected connections), 'auto' (AI selects best)",
"enum": [
"divergent",
"convergent",
"scamper",
"design-thinking",
"lateral",
"auto"
],
"type": "string"
},
"model": {
"description": "Optional model to use (e.g., 'gemini-2.5-flash'). If not specified, uses the default model (gemini-2.5-pro).",
"type": "string"
},
"powershellPath": {
"description": "Optional custom PowerShell executable path (e.g., 'C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe' or 'pwsh'). If not specified, auto-detects available PowerShell.",
"type": "string"
},
"prompt": {
"description": "Primary brainstorming challenge or question to explore",
"minLength": 1,
"type": "string"
}
},
"required": [
"prompt"
],
"type": "object"
}
Implementation Reference
- lib/fixed-mcp-tool.js:304-351 (handler)The execution handler for the 'brainstorm' tool. Destructures arguments, builds a specialized enhanced prompt incorporating methodology, domain, constraints, existing context, idea count, and analysis flag, then calls executeGeminiCLI to generate ideas and returns the result.case "brainstorm": const { prompt: brainstormPrompt, model: brainstormModel, methodology, domain, constraints, existingContext, ideaCount, includeAnalysis, powershellPath: brainstormPowershellPath } = args; console.error('[GMCPT] brainstorm tool called with prompt: ' + (brainstormPrompt ? brainstormPrompt.slice(0, 50) + '...' : 'undefined')); console.error('[GMCPT] Methodology: ' + methodology + ', Domain: ' + domain); // Build enhanced brainstorming prompt let enhancedPrompt = `BRAINSTORMING SESSION\n\nChallenge: ${brainstormPrompt}\n\n`; if (methodology && methodology !== 'auto') { enhancedPrompt += `Framework: Use ${methodology} methodology for idea generation.\n`; } if (domain) { enhancedPrompt += `Domain Context: ${domain}\n`; } if (constraints) { enhancedPrompt += `Constraints: ${constraints}\n`; } if (existingContext) { enhancedPrompt += `Background: ${existingContext}\n`; } enhancedPrompt += `\nGenerate ${ideaCount || 12} creative and diverse ideas. `; if (includeAnalysis !== false) { enhancedPrompt += `For each idea, provide a brief feasibility assessment and potential impact.`; } const brainstormResult = await executeGeminiCLI(enhancedPrompt, brainstormModel, false, false, brainstormPowershellPath); return { content: [{ type: "text", text: brainstormResult }] };
- lib/fixed-mcp-tool.js:128-179 (schema)The input schema and metadata for the 'brainstorm' tool, defining parameters such as prompt (required), model, methodology (enum), domain, constraints, existingContext, ideaCount, includeAnalysis, and powershellPath.{ name: "brainstorm", description: "Generate novel ideas with dynamic context gathering. --> Creative frameworks (SCAMPER, Design Thinking, etc.), domain context integration, idea clustering, feasibility analysis, and iterative refinement.", inputSchema: { type: "object", properties: { prompt: { type: "string", minLength: 1, description: "Primary brainstorming challenge or question to explore" }, model: { type: "string", description: "Optional model to use (e.g., 'gemini-2.5-flash'). If not specified, uses the default model (gemini-2.5-pro)." }, methodology: { type: "string", enum: ["divergent", "convergent", "scamper", "design-thinking", "lateral", "auto"], default: "auto", description: "Brainstorming framework: 'divergent' (generate many ideas), 'convergent' (refine existing), 'scamper' (systematic triggers), 'design-thinking' (human-centered), 'lateral' (unexpected connections), 'auto' (AI selects best)" }, domain: { type: "string", description: "Domain context for specialized brainstorming (e.g., 'software', 'business', 'creative', 'research', 'product', 'marketing')" }, constraints: { type: "string", description: "Known limitations, requirements, or boundaries (budget, time, technical, legal, etc.)" }, existingContext: { type: "string", description: "Background information, previous attempts, or current state to build upon" }, ideaCount: { type: "integer", exclusiveMinimum: 0, default: 12, description: "Target number of ideas to generate (default: 10-15)" }, includeAnalysis: { type: "boolean", default: true, description: "Include feasibility, impact, and implementation analysis for generated ideas" }, powershellPath: { type: "string", description: "Optional custom PowerShell executable path (e.g., 'C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe' or 'pwsh'). If not specified, auto-detects available PowerShell." } }, required: ["prompt"] } },
- lib/fixed-mcp-tool.js:217-219 (registration)Registers the handler for ListToolsRequestSchema, which returns the list of available tools including 'brainstorm' defined in the 'tools' array.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools }; });