Skip to main content
Glama
flyanima

Open Search MCP

by flyanima

visualize_thinking

Create visual diagrams of concepts and thought processes using mind maps, flowcharts, or hierarchy charts to clarify complex ideas.

Instructions

Create visual representations of concepts and thinking processes

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
conceptYesConcept or idea to visualize
styleNoVisualization stylemind_map

Implementation Reference

  • Execute function for visualize_thinking tool: extracts concept and style from input, generates visualization structure using helper, creates metadata with node count and recommended tools, returns structured visualization data.
    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 for visualize_thinking: requires 'concept' string, optional 'style' enum (mind_map, flowchart, hierarchy) with default 'mind_map'.
    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'] },
  • Full registration of visualize_thinking tool in registerThinkingAnalysisTools function, including name, description, category, schema, and execute 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)
    Invocation of registerThinkingAnalysisTools in OpenSearchMCPServer.registerAllTools(), which registers the visualize_thinking tool among 4 thinking analysis tools.
    registerThinkingAnalysisTools(this.toolRegistry); // 4 tools: deep_research, visualize_thinking, decompose_thinking, check_research_saturation
  • Helper function generateVisualizationStructure used by visualize_thinking to create base structure, branches, and connections based on concept and style.
    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