Skip to main content
Glama
flyanima

Open Search MCP

by flyanima

decompose_thinking

Break down complex problems into manageable components using hierarchical, functional, or temporal methods to simplify analysis and problem-solving.

Instructions

Break down complex problems into manageable components

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
problemYesComplex problem or topic to decompose
methodNoDecomposition methodhierarchical

Implementation Reference

  • The execute handler function for decompose_thinking tool. It takes a problem and optional method, creates a decomposition structure with components and relationships, and returns structured output or error.
    execute: async (args: ToolInput): Promise<ToolOutput> => { try { const { problem, method = 'hierarchical' } = args; const decomposition = { problem, method, components: [ { level: 1, component: `${problem} - Component 1` }, { level: 2, component: `${problem} - Component 2` } ], relationships: ['Component dependencies', 'Sequential relationships'] }; return { success: true, data: decomposition, metadata: { tool: 'decompose_thinking', timestamp: new Date().toISOString() } }; } catch (error) { return { success: false, error: `Problem decomposition failed: ${error instanceof Error ? error.message : String(error)}`, data: null }; } }
  • Input schema for decompose_thinking tool defining problem (required string) and optional method (enum: hierarchical, functional, temporal).
    inputSchema: { type: 'object', properties: { problem: { type: 'string', description: 'Complex problem or topic to decompose' }, method: { type: 'string', enum: ['hierarchical', 'functional', 'temporal'], description: 'Decomposition method', default: 'hierarchical' } }, required: ['problem'] },
  • Local registration of the decompose_thinking tool within the registerThinkingAnalysisTools function, including name, description, schema, and handler.
    registry.registerTool({ name: 'decompose_thinking', description: 'Break down complex problems into manageable components', category: 'research', source: 'Thinking Analysis Engine', inputSchema: { type: 'object', properties: { problem: { type: 'string', description: 'Complex problem or topic to decompose' }, method: { type: 'string', enum: ['hierarchical', 'functional', 'temporal'], description: 'Decomposition method', default: 'hierarchical' } }, required: ['problem'] }, execute: async (args: ToolInput): Promise<ToolOutput> => { try { const { problem, method = 'hierarchical' } = args; const decomposition = { problem, method, components: [ { level: 1, component: `${problem} - Component 1` }, { level: 2, component: `${problem} - Component 2` } ], relationships: ['Component dependencies', 'Sequential relationships'] }; return { success: true, data: decomposition, metadata: { tool: 'decompose_thinking', timestamp: new Date().toISOString() } }; } catch (error) { return { success: false, error: `Problem decomposition failed: ${error instanceof Error ? error.message : String(error)}`, data: null }; } } });
  • src/index.ts:255-255 (registration)
    Top-level registration call in main server initialization that registers the thinking analysis tools group including decompose_thinking.
    registerThinkingAnalysisTools(this.toolRegistry); // 4 tools: deep_research, visualize_thinking, decompose_thinking, check_research_saturation

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