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