Skip to main content
Glama
flyanima

Open Search MCP

by flyanima

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
NameRequiredDescriptionDefault
conceptYesConcept or idea to visualize
styleNoVisualization stylemind_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'] },
  • 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; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/flyanima/open-search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server