/ Directory / Playground / Sequential Thinking
● Official modelcontextprotocol ⚡ Instant

Sequential Thinking

by modelcontextprotocol · modelcontextprotocol/servers

A scratchpad tool that forces Claude to think in explicit, revisable steps — better answers on genuinely hard problems.

The reference Sequential Thinking MCP. Exposes a single tool that lets the model emit numbered 'thoughts', revise earlier ones, and branch alternative hypotheses. Useful when a question is too tangled to one-shot. Not a silver bullet — for simple tasks it just adds latency.

Why use it

Key features

Live Demo

What it looks like in practice

sequential-thinking.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "sequential-thinking": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sequentialthinking"
      ]
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "sequential-thinking": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sequentialthinking"
      ]
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "sequential-thinking": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sequentialthinking"
      ]
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "sequential-thinking": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sequentialthinking"
      ]
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "sequential-thinking",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sequentialthinking"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "sequential-thinking": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-sequentialthinking"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add sequential-thinking -- npx -y @modelcontextprotocol/server-sequentialthinking

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use Sequential Thinking

Debug a gnarly issue that resists one-shot reasoning

👤 Engineers stuck on a bug with many possible causes ⏱ ~20 min intermediate

When to use: You have symptoms, you have 3 competing theories, and you keep flip-flopping. You want Claude to reason through them without collapsing to the first plausible answer.

Flow
  1. Lay out the symptoms
    Use sequential thinking to debug this issue: [symptoms, logs, what we've already tried]. Start by listing the facts separately from the theories.✓ Copied
    → First thought is pure observation, not a guess
  2. Evaluate theories against facts
    Continue. For each theory, which facts support it and which rule it out? Revise any thought that no longer holds.✓ Copied
    → Theories pruned based on evidence; earlier thoughts explicitly revised
  3. Propose the cheapest next experiment
    Which single experiment would disambiguate the remaining theories fastest? Be specific about the command or check.✓ Copied
    → One concrete, low-cost next step

Outcome: A defensible diagnostic plan where you can see exactly what was considered and rejected, instead of a black-box answer.

Pitfalls
  • Model generates thoughts that are just restatements — In the prompt, require each thought to either add a new fact, rule out a theory, or change a prior thought — otherwise skip it
  • Overkill for simple bugs — Don't reach for this tool on anything you could solve in 3 seconds by reading the stack trace
Combine with: filesystem · github · sentry

Work through an architecture tradeoff without premature closure

👤 Tech leads, architects weighing a design decision ⏱ ~30 min advanced

When to use: You're choosing between 2-3 architectures (monolith vs microservice, sync vs async, X library vs Y) and stakeholders disagree.

Flow
  1. Define the criteria first
    Use sequential thinking. Step 1: enumerate the criteria this decision should be judged on (cost, latency, team familiarity, blast radius, reversibility). Don't score yet.✓ Copied
    → Criteria list agreed before scoring
  2. Score each option, per criterion
    For each option × criterion, give a score and a one-sentence reason. Call out low-confidence scores explicitly.✓ Copied
    → Matrix with confidence tagging
  3. Identify the deciding criterion
    Which criterion actually distinguishes the options? What are we really arguing about? Revise earlier thoughts if a criterion turned out irrelevant.✓ Copied
    → The real crux surfaced

Outcome: A decision memo with traceable reasoning — reviewers can attack specific scores instead of vibes.

Pitfalls
  • Scores get invented with false precision (7/10 vs 8/10 means nothing) — Use categorical labels (much worse / worse / same / better / much better) and require a reason per cell
Combine with: memory · notion

Brainstorm without prematurely anchoring on the first idea

👤 PMs, writers, anyone at a blank page ⏱ ~15 min beginner

When to use: You have a prompt ('name this product', 'angle for this post') and you know your own first 3 ideas are the obvious ones.

Flow
  1. Generate divergent options
    Use sequential thinking. Brainstorm 10 options for [thing]. Use branching to explore at least 3 very different directions (not all riffs on the same core idea).✓ Copied
    → Branches visibly diverge in concept, not just wording
  2. Stress-test each
    For each option, what's the strongest objection? Kill any that can't survive a 10-second critique.✓ Copied
    → Half the list pruned with reasons
  3. Pick and justify
    Recommend one, and explain why it beats the runner-up on the criteria you care most about.✓ Copied
    → Pick with a clear head-to-head

Outcome: A short list of survivors you actually want to use — not 10 mediocre options.

Pitfalls
  • All 10 options are the same idea in different clothes — Require each branch to start from a different 'angle' (audience, tone, metaphor, mechanism)
Combine with: memory

Combinations

Pair with other MCPs for X10 leverage

sequential-thinking + filesystem + github

Reason about a code change step-by-step before making it

Use sequential thinking to plan a refactor of src/auth/. Step through: current state, target state, order of changes, what breaks in between. Then apply.✓ Copied
sequential-thinking + memory

Save the conclusions of a reasoning session so you don't redo it

Use sequential thinking to decide our caching strategy. At the end, write the decision and reasoning as observations on the 'caching-strategy' entity in memory.✓ Copied
sequential-thinking + postgres

Structured data investigation — form a hypothesis, query to test, revise

I suspect our signup conversion dropped because of the new captcha. Use sequential thinking to design 3 queries that would confirm or refute this, run them, and conclude.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
sequentialthinking thought: str, thoughtNumber: int, totalThoughts: int, nextThoughtNeeded: bool, isRevision?: bool, revisesThought?: int, branchFromThought?: int, branchId?: str, needsMoreThoughts?: bool Model emits a thought in a chain; the tool records and echoes it. Usually called repeatedly in one turn. free (just bookkeeping)

Cost & Limits

What this costs to run

API quota
None — local tool
Tokens per call
Each thought is an LLM output token; expect ~100-400 tokens per thought, times N thoughts
Monetary
Free (but consumes LLM tokens)
Tip
Cap totalThoughts around 8-12 for most tasks. Past that you're usually getting diminishing returns, not better answers.

Security

Permissions, secrets, blast radius

Credential storage: None
Data egress: None — state is in-conversation only

Troubleshooting

Common errors and fixes

Claude ignores the tool and answers in one shot

Explicitly instruct: 'Use the sequentialthinking tool with at least 5 thoughts before giving a final answer.' Models sometimes default to single-turn.

Thoughts are generic 'Let me think about this...' filler

Constrain with 'each thought must add a new fact, eliminate a hypothesis, or revise a prior thought'. Reject filler on first sight.

Budget blown on easy question

Don't invoke for simple tasks. Save it for problems where your own first-pass answer feels unreliable.

Alternatives

Sequential Thinking vs others

AlternativeWhen to use it insteadTradeoff
Built-in extended thinkingYou're on Claude 3.7+ with extended thinking — use the native feature insteadNo tool call overhead, but less visible/steerable than sequential thinking
memory MCPYou need reasoning outcomes to persist across sessionsDifferent purpose — memory stores conclusions, sequential-thinking produces them

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills