
sequential-thinking
PopulerUse when complex problems require systematic step-by-step reasoning with ability to revise thoughts, branch into alternative approaches, or dynamically adjust scope. Ideal for multi-stage analysis, design planning, problem decomposition, or tasks with initially unclear scope.
Use when complex problems require systematic step-by-step reasoning with ability to revise thoughts, branch into alternative approaches, or dynamically adjust scope. Ideal for multi-stage analysis, design planning, problem decomposition, or tasks with initially unclear scope.
Sequential Thinking
Enables structured problem-solving through iterative reasoning with revision and branching capabilities.
Core Capabilities
- Iterative reasoning: Break complex problems into sequential thought steps
- Dynamic scope: Adjust total thought count as understanding evolves
- Revision tracking: Reconsider and modify previous conclusions
- Branch exploration: Explore alternative reasoning paths from any point
- Maintained context: Keep track of reasoning chain throughout analysis
When to Use
Use mcp__reasoning__sequentialthinking when:
- Problem requires multiple interconnected reasoning steps
- Initial scope or approach is uncertain
- Need to filter through complexity to find core issues
- May need to backtrack or revise earlier conclusions
- Want to explore alternative solution paths
Don't use for: Simple queries, direct facts, or single-step tasks.
Basic Usage
The MCP tool mcp__reasoning__sequentialthinking accepts these parameters:
Required Parameters
thought(string): Current reasoning stepnextThoughtNeeded(boolean): Whether more reasoning is neededthoughtNumber(integer): Current step number (starts at 1)totalThoughts(integer): Estimated total steps needed
Optional Parameters
isRevision(boolean): Indicates this revises previous thinkingrevisesThought(integer): Which thought number is being reconsideredbranchFromThought(integer): Thought number to branch frombranchId(string): Identifier for this reasoning branch
Workflow Pattern
1. Start with initial thought (thoughtNumber: 1)
2. For each step:
- Express current reasoning in `thought`
- Estimate remaining work via `totalThoughts` (adjust dynamically)
- Set `nextThoughtNeeded: true` to continue
3. When reaching conclusion, set `nextThoughtNeeded: false`
Simple Example
// First thought
{
thought: "Problem involves optimizing database queries. Need to identify bottlenecks first.",
thoughtNumber: 1,
totalThoughts: 5,
nextThoughtNeeded: true
}
// Second thought
{
thought: "Analyzing query patterns reveals N+1 problem in user fetches.",
thoughtNumber: 2,
totalThoughts: 6, // Adjusted scope
nextThoughtNeeded: true
}
// ... continue until done
Advanced Features
For revision patterns, branching strategies, and complex workflows, see:
- Advanced Usage - Revision and branching patterns
- Examples - Real-world use cases
Tips
- Start with rough estimate for
totalThoughts, refine as you progress - Use revision when assumptions prove incorrect
- Branch when multiple approaches seem viable
- Express uncertainty explicitly in thoughts
- Adjust scope freely - accuracy matters less than progress visibility
You Might Also Like
Related Skills

coding-agent
Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.
openclaw
add-uint-support
Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.
pytorch
at-dispatch-v2
Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.
pytorch
skill-writer
Guide users through creating Agent Skills for Claude Code. Use when the user wants to create, write, author, or design a new Skill, or needs help with SKILL.md files, frontmatter, or skill structure.
pytorch
implementing-jsc-classes-cpp
Implements JavaScript classes in C++ using JavaScriptCore. Use when creating new JS classes with C++ bindings, prototypes, or constructors.
oven-sh
implementing-jsc-classes-zig
Creates JavaScript classes using Bun's Zig bindings generator (.classes.ts). Use when implementing new JS APIs in Zig with JSC integration.
oven-sh