analyze_problem
Break down complex problems into structured steps for systematic analysis and solution planning.
Instructions
analyze this|how to approach|break this down|problem analysis|examine|investigate - Break down complex problem into structured steps
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| problem | Yes | Problem to analyze | |
| domain | No | Problem domain |
Implementation Reference
- The handler function that executes the core logic of the 'analyze_problem' tool, taking problem and optional domain as input and returning a structured analysis.export async function analyzeProblem(args: { problem: string; domain?: string }): Promise<ToolResult> { const { problem, domain = 'general' } = args; const problemAnalysis = { action: 'analyze_problem', problem, domain, analysis: { breakdown: [ 'Define the problem clearly', 'Identify key constraints and requirements', 'Break down into smaller sub-problems', 'Determine solution approach', 'Plan implementation steps' ], considerations: [ 'What are the inputs and expected outputs?', 'Are there any edge cases to consider?', 'What are the performance requirements?', 'How will this integrate with existing systems?' ], nextSteps: [ 'Research existing solutions', 'Create detailed implementation plan', 'Identify potential risks and mitigation strategies', 'Define success criteria' ] }, status: 'success' }; return { content: [{ type: 'text', text: `Problem: ${problem}\nDomain: ${domain}\n\nBreakdown:\n${problemAnalysis.analysis.breakdown.map((b, i) => `${i+1}. ${b}`).join('\n')}\n\nConsiderations:\n${problemAnalysis.analysis.considerations.map(c => `- ${c}`).join('\n')}\n\nNext Steps:\n${problemAnalysis.analysis.nextSteps.map(n => `- ${n}`).join('\n')}` }] }; }
- The ToolDefinition object defining the schema, name, description, and input schema for the 'analyze_problem' tool.export const analyzeProblemDefinition: ToolDefinition = { name: 'analyze_problem', description: 'analyze this|how to approach|break this down|problem analysis|examine|investigate - Break down complex problem into structured steps', inputSchema: { type: 'object', properties: { problem: { type: 'string', description: 'Problem to analyze' }, domain: { type: 'string', description: 'Problem domain' } }, required: ['problem'] }, annotations: { title: 'Analyze Problem', audience: ['user', 'assistant'] } };
- src/index.ts:618-619 (registration)Registration and dispatch of the 'analyze_problem' tool in the main tool execution switch statement within executeToolCall function.case 'analyze_problem': return await analyzeProblem(args as any) as CallToolResult;
- src/index.ts:114-114 (registration)Inclusion of the analyzeProblemDefinition in the tools array, which is used for listing available tools via ListToolsRequest.analyzeProblemDefinition,