Skip to main content
Glama
flyanima

Open Search MCP

by flyanima

decompose_thinking

Break down complex problems into smaller, manageable components using hierarchical, functional, or temporal methods for structured analysis and clarity.

Instructions

Break down complex problems into manageable components

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
methodNoDecomposition methodhierarchical
problemYesComplex problem or topic to decompose

Implementation Reference

  • The core handler function that executes the decompose_thinking tool. It takes a problem statement and optional decomposition method, breaks it into components and relationships, and returns structured output.
    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 the decompose_thinking tool, defining the required 'problem' parameter and optional 'method' with enum values.
    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.
    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)
    Global registration call that includes decompose_thinking among the thinking analysis tools.
    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