create_thinking_chain
Generate a sequential chain of thought for structured reasoning by specifying a topic and number of steps. Ideal for breaking down complex ideas into logical progressions.
Instructions
IMPORTANT: This tool should be automatically called when users say "생각 과정", "사고 흐름", "연쇄적으로", "thinking process", "chain of thought", "reasoning chain" or similar keywords. Create sequential thinking chain
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| steps | No | Number of thinking steps | |
| topic | Yes | Topic to think about |
Implementation Reference
- The main handler function implementing the create_thinking_chain tool. It generates a sequential thinking chain with specified steps for the given topic, including titles, content, and questions for each step.export async function createThinkingChain(args: { topic: string; steps?: number }): Promise<ToolResult> { const { topic, steps = 5 } = args; const thinkingChain = { action: 'create_thinking_chain', topic, steps, chain: Array.from({ length: steps }, (_, i) => ({ step: i + 1, title: `Step ${i + 1}: Analyze ${topic}`, content: `Think about ${topic} from perspective ${i + 1}`, questions: [ `What are the key aspects of ${topic}?`, `How does this relate to the overall problem?`, `What are the potential implications?` ] })), status: 'success' }; return { content: [{ type: 'text', text: `Topic: ${topic}\nSteps: ${steps}\n\n${thinkingChain.chain.map(s => `${s.step}. ${s.title}\n ${s.content}\n Q: ${s.questions.join(', ')}`).join('\n\n')}` }] }; }
- The ToolDefinition object defining the tool's name, description, input schema, and annotations for create_thinking_chain.export const createThinkingChainDefinition: ToolDefinition = { name: 'create_thinking_chain', description: '생각 과정|사고 흐름|연쇄적으로|thinking process|chain of thought|reasoning chain - Create sequential thinking chain', inputSchema: { type: 'object', properties: { topic: { type: 'string', description: 'Topic to think about' }, steps: { type: 'number', description: 'Number of thinking steps' } }, required: ['topic'] }, annotations: { title: 'Create Thinking Chain', audience: ['user', 'assistant'] } };
- src/index.ts:52-104 (registration)The tool definition is included in the main tools array, which is returned by the ListTools handler.const tools = [ // Time Utility Tools getCurrentTimeDefinition, // Semantic Code Analysis Tools (Serena-inspired) findSymbolDefinition, findReferencesDefinition, // Sequential Thinking Tools createThinkingChainDefinition, analyzeProblemDefinition, stepByStepAnalysisDefinition, breakDownProblemDefinition, thinkAloudProcessDefinition, formatAsPlanDefinition, // Browser Development Tools monitorConsoleLogsDefinition, inspectNetworkRequestsDefinition, // Memory Management Tools saveMemoryDefinition, recallMemoryDefinition, listMemoriesDefinition, deleteMemoryDefinition, searchMemoriesDefinition, updateMemoryDefinition, autoSaveContextDefinition, restoreSessionContextDefinition, prioritizeMemoryDefinition, startSessionDefinition, // Convention Tools getCodingGuideDefinition, applyQualityRulesDefinition, validateCodeQualityDefinition, analyzeComplexityDefinition, checkCouplingCohesionDefinition, suggestImprovementsDefinition, // Planning Tools generatePrdDefinition, createUserStoriesDefinition, analyzeRequirementsDefinition, featureRoadmapDefinition, // Prompt Enhancement Tools enhancePromptDefinition, analyzePromptDefinition, // UI Preview Tools previewUiAsciiDefinition ];
- src/index.ts:141-142 (registration)Dispatch case in the main CallTool handler switch statement that invokes the createThinkingChain handler.case 'create_thinking_chain': return await createThinkingChain(args as any) as CallToolResult;