visualize_thinking
Generate visual diagrams of concepts and thought processes using mind maps, flowcharts, or hierarchies to enhance understanding and analysis.
Instructions
Create visual representations of concepts and thinking processes
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| concept | Yes | Concept or idea to visualize | |
| style | No | Visualization style | mind_map |
Implementation Reference
- The core handler function that executes the visualize_thinking tool. It takes concept and optional style, generates visualization structure using helpers, and returns formatted output with success/error handling.execute: async (args: ToolInput): Promise<ToolOutput> => { try { const { concept, style = 'mind_map' } = args; const visualization = { concept, style, structure: generateVisualizationStructure(concept, style), description: `${style} visualization of ${concept}`, metadata: { complexity_level: 'intermediate', node_count: getNodeCount(style), recommended_tools: ['Mermaid', 'Graphviz', 'Draw.io'], export_formats: ['SVG', 'PNG', 'PDF', 'JSON'] } }; return { success: true, data: visualization, metadata: { tool: 'visualize_thinking', timestamp: new Date().toISOString() } }; } catch (error) { return { success: false, error: `Visualization failed: ${error instanceof Error ? error.message : String(error)}`, data: null }; } }
- Input schema defining parameters for the visualize_thinking tool: required 'concept' string and optional 'style' enum.inputSchema: { type: 'object', properties: { concept: { type: 'string', description: 'Concept or idea to visualize' }, style: { type: 'string', enum: ['mind_map', 'flowchart', 'hierarchy'], description: 'Visualization style', default: 'mind_map' } }, required: ['concept'] },
- src/tools/research/thinking-analysis-tools.ts:115-169 (registration)Local registration of the visualize_thinking tool in the thinking-analysis-tools module, including name, description, schema, and handler.registry.registerTool({ name: 'visualize_thinking', description: 'Create visual representations of concepts and thinking processes', category: 'research', source: 'Thinking Analysis Engine', inputSchema: { type: 'object', properties: { concept: { type: 'string', description: 'Concept or idea to visualize' }, style: { type: 'string', enum: ['mind_map', 'flowchart', 'hierarchy'], description: 'Visualization style', default: 'mind_map' } }, required: ['concept'] }, execute: async (args: ToolInput): Promise<ToolOutput> => { try { const { concept, style = 'mind_map' } = args; const visualization = { concept, style, structure: generateVisualizationStructure(concept, style), description: `${style} visualization of ${concept}`, metadata: { complexity_level: 'intermediate', node_count: getNodeCount(style), recommended_tools: ['Mermaid', 'Graphviz', 'Draw.io'], export_formats: ['SVG', 'PNG', 'PDF', 'JSON'] } }; return { success: true, data: visualization, metadata: { tool: 'visualize_thinking', timestamp: new Date().toISOString() } }; } catch (error) { return { success: false, error: `Visualization failed: ${error instanceof Error ? error.message : String(error)}`, data: null }; } } });
- src/index.ts:255-255 (registration)Top-level registration call in main server index.ts that invokes registerThinkingAnalysisTools, which includes visualize_thinking among 4 tools.registerThinkingAnalysisTools(this.toolRegistry); // 4 tools: deep_research, visualize_thinking, decompose_thinking, check_research_saturation
- Key helper function that generates the base structure for visualizations based on concept and style (mind_map, flowchart, hierarchy). Used by the handler.function generateVisualizationStructure(concept: string, style: string) { const baseStructure = { central_node: concept, branches: [] as string[], connections: [] as string[], levels: 3 }; switch (style) { case 'mind_map': baseStructure.branches = [ `${concept} - Core Concepts`, `${concept} - Applications`, `${concept} - Related Fields`, `${concept} - Future Directions`, `${concept} - Key Challenges` ]; break; case 'flowchart': baseStructure.branches = [ `Start: ${concept}`, `Process: Analyze ${concept}`, `Decision: Evaluate ${concept}`, `Output: Results of ${concept}`, `End: Conclusions` ]; baseStructure.connections = ['sequential', 'conditional', 'parallel']; break; case 'hierarchy': baseStructure.branches = [ `Level 1: ${concept} Overview`, `Level 2: ${concept} Components`, `Level 3: ${concept} Details`, `Level 4: ${concept} Implementation` ]; break; } return baseStructure; }