Skip to main content
Glama

analyze_problem

Break down complex problems into structured steps with clear analysis. Specify the problem and domain to receive actionable insights for effective problem-solving.

Instructions

IMPORTANT: This tool should be automatically called when users say "문제 분석", "어떻게 접근", "분석해줘", "analyze this", "how to approach", "break this down" or similar keywords. Break down complex problem into structured steps

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainNoProblem domain
problemYesProblem to analyze

Implementation Reference

  • The main handler function that implements the logic for the 'analyze_problem' tool. It takes a problem description and optional domain, then returns a structured analysis with breakdown, considerations, and next steps.
    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 input schema, description, and metadata for the 'analyze_problem' tool.
    export const analyzeProblemDefinition: ToolDefinition = { name: 'analyze_problem', description: '문제 분석|어떻게 접근|분석해줘|analyze this|how to approach|break this down - 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:62-62 (registration)
    The analyzeProblemDefinition is included in the 'tools' array returned by the ListToolsRequest handler, registering it as an available tool.
    analyzeProblemDefinition,
  • src/index.ts:143-144 (registration)
    The switch case in the CallToolRequest handler that dispatches calls to 'analyze_problem' to the analyzeProblem function.
    case 'analyze_problem': return await analyzeProblem(args as any) as CallToolResult;

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/su-record/hi-ai'

If you have feedback or need assistance with the MCP directory API, please join our Discord server