Skip to main content
Glama
zengwenliang416

Sequential Thinking MCP Server

Sequential Thinking MCP Server

License: MIT Language Platform

English | 中文

📖 Overview

A powerful MCP server implementing sequential thinking protocol that provides a structured approach to problem-solving. This server helps break down complex problems into manageable steps while maintaining flexibility for revisions and alternative reasoning paths.

Related MCP server: Sequential Thinking MCP Server

✨ Features

  • 🔍 Structured Analysis - Break down complex problems into manageable steps

  • 🔄 Iterative Refinement - Revise and refine thoughts as understanding deepens

  • 🌲 Alternative Pathways - Branch into alternative paths of reasoning

  • 📊 Dynamic Adjustment - Adjust the total number of thoughts as needed

  • Solution Validation - Generate and verify solution hypotheses

🛠️ Tool Interface

sequential_thinking

Facilitates a detailed, step-by-step thinking process for problem-solving and analysis.

Input Parameters

Parameter

Type

Required

Description

thought

string

Yes

The current thinking step

nextThoughtNeeded

boolean

Yes

Whether another thought step is needed

thoughtNumber

integer

Yes

Current thought number

totalThoughts

integer

Yes

Estimated total thoughts needed

isRevision

boolean

No

Whether this revises previous thinking

revisesThought

integer

No

Which thought is being reconsidered

branchFromThought

integer

No

Branching point thought number

branchId

string

No

Branch identifier

needsMoreThoughts

boolean

No

If more thoughts are needed

🎯 Use Cases

The Sequential Thinking tool is ideal for:

  • 📝 Complex problems requiring step-by-step breakdown

  • 🎨 Planning and design projects needing iterative refinement

  • 🔄 Analysis workflows that may require course correction

  • 🌐 Situations where the full scope isn't initially clear

  • 📚 Tasks that need to maintain context over multiple steps

  • 🔍 Filtering out irrelevant information from complex scenarios

⚙️ Integration Methods

Using with Claude Desktop

{
  "mcpServers": {
    "sequential-thinking": {
      "command": "npx",
      "args": [
        "-y",
        "@zengwenliang/mcp-server-sequential-thinking"
      ]
    }
  }
}
{
  "mcpServers": {
    "sequential-thinking": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "zengwenliang0416/mcp-server-sequential-thinking"
      ]
    }
  }
}

Using with Cursor IDE

  1. Install the package:

# Install globally
npm install -g @zengwenliang/mcp-server-sequential-thinking

# Or use NPX directly
npx -y @zengwenliang/mcp-server-sequential-thinking
  1. Configure in Cursor settings (JSON):

{
  "mcpServers": {
    "sequential-thinking": {
      "command": "npx",
      "args": [
        "-y",
        "@zengwenliang/mcp-server-sequential-thinking"
      ]
    }
  }
}
  1. Build locally:

cd /path/to/sequential-thinking
npm install
npm run build
  1. Configure in Cursor settings (JSON):

{
  "mcpServers": {
    "sequential-thinking": {
      "command": "node",
      "args": [
        "/absolute/path/to/sequential-thinking/dist/index.js"
      ]
    }
  }
}
  1. Build Docker image:

# Build Docker image
docker build -t zengwenliang0416/mcp-server-sequential-thinking .
  1. Configure in Cursor settings (JSON):

{
  "mcpServers": {
    "sequential-thinking": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "zengwenliang0416/mcp-server-sequential-thinking"
      ]
    }
  }
}
  1. Create a startup script:

#!/bin/sh
export CURSOR_MCP_CONFIG=/path/to/your/mcp_config.json
open -a Cursor
  1. Add to mcp_config.json:

{
  "mcpServers": {
    "sequential-thinking": {
      "command": "node",
      "args": [
        "/absolute/path/to/sequential-thinking/dist/index.js"
      ]
    }
  }
}
  1. Make executable:

chmod +x start_cursor_with_mcp.sh

Note: MCP integration is primarily supported in the Composer feature of Cursor IDE.

🚀 Building From Source

git clone https://github.com/zengwenliang416/mcp-server-sequential-thinking.git
cd mcp-server-sequential-thinking
npm install
npm run build
git clone https://github.com/zengwenliang416/mcp-server-sequential-thinking.git
cd mcp-server-sequential-thinking
docker build -t zengwenliang0416/mcp-server-sequential-thinking .

# Verify the build
docker images | grep sequential-thinking

📄 Publishing Guide

Prerequisites

  • Node.js and npm installed

  • npm account with access to the @zengwenliang scope

  • Package built locally

Publishing Steps

  1. Update version in package.json

    {
      "name": "@zengwenliang/mcp-server-sequential-thinking",
      "version": "0.6.4",
      "description": "MCP server for sequential thinking and problem solving"
    }
  2. Use official npm registry

    npm config set registry https://registry.npmjs.org/
  3. Login to npm

    npm login

    Follow the prompts to log in through your browser.

  4. Check organization membership For scoped packages, ensure you're part of the scope:

    # Check if you're part of the organization
    npm org ls your-org-name
    
    # For personal scopes, this is automatically created with your username
  5. Build and publish

    npm run build
    
    # For first-time publishing a scoped package
    npm publish --access public
    
    # For subsequent updates
    npm publish
  6. Verify publication

    npm view @zengwenliang/mcp-server-sequential-thinking
  7. Commit your changes

    git add .
    git commit -m "feat(publish): 🚀 发布npm包@zengwenliang/mcp-server-sequential-thinking"
    git push

Version Updates

Use semantic versioning:

# For patches (bug fixes)
npm version patch

# For minor updates (features)
npm version minor

# For major updates (breaking changes)
npm version major

After updating the version, build and publish again:

npm run build
npm publish

🔐 CI/CD Configuration

Required Secrets

Add these secrets to your repository settings:

  1. NPM_TOKEN

    • Generate at npm: Account → Access Tokens → "Automation" token type

    • Step-by-step instructions:

      1. Log in to your npm account: https://www.npmjs.com/login

      2. Click on your profile picture, then select "Access Tokens"

      3. Click "Generate New Token" button

      4. Important: Select "Automation" token type (not "Publish") to bypass OTP requirements

      5. Enter a token description (e.g., "GitHub Actions")

      6. Click "Generate Token"

      7. Important: Copy the generated token immediately! It will only be displayed once

  2. DOCKERHUB_USERNAME

    • Your Docker Hub username

    • This should be the same username you use to log in to Docker Hub

  3. DOCKERHUB_TOKEN

    • Generate in Docker Hub: Account Settings → Security → New Access Token

    • Step-by-step instructions:

      1. Log in to your Docker Hub account

      2. Click on your username, then select "Account Settings"

      3. Select "Security" from the left navigation bar

      4. Click "New Access Token"

      5. Enter a description and select appropriate permissions (at least "Read & Write")

      6. Click "Generate"

      7. Copy the generated token immediately! It will only be displayed once

Adding Secrets to GitHub

  1. Go to repository Settings → Secrets and variables → Actions

  2. Click the "New repository secret" button

  3. Add each secret individually:

    • NPM_TOKEN: Paste your npm access token value

    • DOCKERHUB_USERNAME: Enter your Docker Hub username

    • DOCKERHUB_TOKEN: Paste your Docker Hub access token

  4. After adding all secrets, you should see all 3 listed in the "Actions secrets" list

Testing the Workflow

To test your automated publishing workflow:

  1. In your GitHub repository, click the "Actions" tab

  2. Find the "Publish Package" workflow in the left sidebar

  3. Click the "Run workflow" button

  4. Select the "main" branch from the branch dropdown

  5. Click the green "Run workflow" button

  6. Monitor the progress and results in the Actions tab

Note for 2FA Users: If you have Two-Factor Authentication enabled on your npm account, you must either:

  • Use an "Automation" type token (recommended)

  • Change 2FA settings to "Authorization only" (not recommended)

  • Manually publish packages (not automated)

❗ Troubleshooting

If you encounter integration issues:

  1. 🔧 Use the local build method with absolute path to the JS file

  2. 📝 Verify file permissions: chmod +x dist/index.js

  3. 🐳 Try Docker as an alternative

  4. 📚 Consult Cursor's documentation for latest MCP integration methods

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🔗 Source Code

Based on modelcontextprotocol/servers and maintained at zengwenliang416/mcp-server-sequential-thinking.

Available Tools

1 tool
sequentialthinkingA

A detailed tool for dynamic and reflective problem-solving through thoughts. This tool helps analyze problems through a flexible thinking process that can adapt and evolve. Each thought can build on, question, or revise previous insights as understanding deepens.

When to use this tool:

  • Breaking down complex problems into steps

  • Planning and design with room for revision

  • Analysis that might need course correction

  • Problems where the full scope might not be clear initially

  • Problems that require a multi-step solution

  • Tasks that need to maintain context over multiple steps

  • Situations where irrelevant information needs to be filtered out

Key features:

  • You can adjust total_thoughts up or down as you progress

  • You can question or revise previous thoughts

  • You can add more thoughts even after reaching what seemed like the end

  • You can express uncertainty and explore alternative approaches

  • Not every thought needs to build linearly - you can branch or backtrack

  • Generates a solution hypothesis

  • Verifies the hypothesis based on the Chain of Thought steps

  • Repeats the process until satisfied

  • Provides a correct answer

Parameters explained:

  • thought: Your current thinking step, which can include:

  • Regular analytical steps

  • Revisions of previous thoughts

  • Questions about previous decisions

  • Realizations about needing more analysis

  • Changes in approach

  • Hypothesis generation

  • Hypothesis verification

  • next_thought_needed: True if you need more thinking, even if at what seemed like the end

  • thought_number: Current number in sequence (can go beyond initial total if needed)

  • total_thoughts: Current estimate of thoughts needed (can be adjusted up/down)

  • is_revision: A boolean indicating if this thought revises previous thinking

  • revises_thought: If is_revision is true, which thought number is being reconsidered

  • branch_from_thought: If branching, which thought number is the branching point

  • branch_id: Identifier for the current branch (if any)

  • needs_more_thoughts: If reaching end but realizing more thoughts needed

You should:

  1. Start with an initial estimate of needed thoughts, but be ready to adjust

  2. Feel free to question or revise previous thoughts

  3. Don't hesitate to add more thoughts if needed, even at the "end"

  4. Express uncertainty when present

  5. Mark thoughts that revise previous thinking or branch into new paths

  6. Ignore information that is irrelevant to the current step

  7. Generate a solution hypothesis when appropriate

  8. Verify the hypothesis based on the Chain of Thought steps

  9. Repeat the process until satisfied with the solution

  10. Provide a single, ideally correct answer as the final output

  11. Only set next_thought_needed to false when truly done and a satisfactory answer is reached

ParametersJSON Schema
NameRequiredDescriptionDefault
thoughtYesYour current thinking step
nextThoughtNeededYesWhether another thought step is needed
thoughtNumberYesCurrent thought number
totalThoughtsYesEstimated total thoughts needed
isRevisionNoWhether this revises previous thinking
revisesThoughtNoWhich thought is being reconsidered
branchFromThoughtNoBranching point thought number
branchIdNoBranch identifier
needsMoreThoughtsNoIf more thoughts are needed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description fully carries the burden of behavioral disclosure. It details the iterative process including revision, branching, hypothesis generation, verification, and repetition. It explains that thoughts can build, question, or revise previous insights. This level of detail fully informs the agent of the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (When to use, Key features, Parameters explained, You should). It is front-loaded with the tool's purpose. However, it is somewhat verbose, particularly the 'You should' list which repeats earlier points (e.g., generating and verifying hypothesis). Trimming redundant points could improve conciseness without losing value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (9 parameters, no output schema, no annotations), the description covers most aspects: purpose, usage guidelines, parameter details, and behavioral process. The only gap is that it does not mention the return value format or output structure. Since there is no output schema, the description could have briefly described what the tool returns (e.g., final answer or thought log) to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds substantial meaning beyond the schema. For example, the 'thought' parameter is described as including regular analytical steps, revisions, questions, etc. The 'next_thought_needed' and 'total_thoughts' parameters are explained with usage context. This extra information greatly helps the agent understand how to use each parameter effectively.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'dynamic and reflective problem-solving through thoughts.' It specifies that it helps analyze problems through a flexible thinking process. Since there are no sibling tools, differentiation is not needed. The verb 'helps analyze' and the resource 'problems' make it specific and actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a dedicated 'When to use this tool' section listing scenarios like breaking down complex problems, planning with revision, and analysis needing course correction. It offers clear context but does not explicitly state when to avoid using the tool or mention alternatives. With no sibling tools, the lack of exclusions is acceptable, but the guidance could be more comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.6.5
    • First observedsequentialthinking

TDQS

A4.4/5.0
Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools.

Naming Consistency5/5

With a single tool named 'sequentialthinking', naming is trivially consistent.

Tool Count2/5

The server has only one tool, which is too few for the apparent scope of dynamic problem-solving; it would benefit from being broken into multiple tools for different actions (e.g., init, add_thought, revise, branch).

Completeness4/5

The single tool covers all necessary aspects of sequential thinking (adding, revising, branching, verifying) but lacks separate tools for auxiliary operations like clearing context or listing history.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that enables Claude to break down complex problems into manageable steps with support for revision and branching, facilitating dynamic and reflective problem-solving through a structured thinking process.
    1
    17
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A MCP server that implements sequential thinking protocols, provides structured problem-solving methods, decomposes complex problems into manageable steps, and supports iterative optimization and alternative reasoning paths.
    1
    2
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    A Python-based MCP server that facilitates structured problem-solving through sequential thinking, branching, and confidence scoring. It allows users to track assumptions and manage multiple concurrent reasoning sessions to break down complex tasks.
    1
    19
    MIT

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/zengwenliang416/mcp-server-sequential-thinking'

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