Skip to main content
Glama
arben-adm

Sequential Thinking MCP Server

by arben-adm

Servidor MCP de pensamiento secuencial

Un servidor de Protocolo de Contexto de Modelo (MCP) que facilita el pensamiento estructurado y progresivo mediante etapas definidas. Esta herramienta ayuda a descomponer problemas complejos en ideas secuenciales, a seguir la progresión del proceso de pensamiento y a generar resúmenes.

Versión de Python Licencia: MIT Estilo de código: negro

Características

  • Marco de pensamiento estructurado : organiza los pensamientos a través de etapas cognitivas estándar (definición del problema, investigación, análisis, síntesis, conclusión).

  • Seguimiento de pensamientos : registra y gestiona pensamientos secuenciales con metadatos

  • Análisis de pensamientos relacionados : identifica conexiones entre pensamientos similares

  • Seguimiento del progreso : rastrea su posición en la secuencia general de pensamiento

  • Generación de resúmenes : crea descripciones generales concisas de todo el proceso de pensamiento.

  • Almacenamiento persistente : guarda automáticamente sus sesiones de pensamiento con seguridad para subprocesos

  • Importación/exportación de datos : sesiones de reflexión para compartir y reutilizar

  • Arquitectura extensible : personalice y amplíe la funcionalidad fácilmente

  • Manejo robusto de errores : manejo elegante de casos extremos y datos corruptos

  • Seguridad de tipos : anotaciones y validación de tipos completas

Related MCP server: Sequential Thinking MCP Server

Prerrequisitos

Tecnologías clave

  • Pydantic : para validación y serialización de datos

  • Portalocker : para acceso seguro a archivos

  • FastMCP : para la integración del protocolo de contexto de modelo

  • Rico : para una salida de consola mejorada

  • PyYAML : para la gestión de la configuración

Estructura del proyecto

mcp-sequential-thinking/
├── mcp_sequential_thinking/
│   ├── server.py       # Main server implementation and MCP tools
│   ├── models.py       # Data models with Pydantic validation
│   ├── storage.py      # Thread-safe persistence layer
│   ├── storage_utils.py # Shared utilities for storage operations
│   ├── analysis.py     # Thought analysis and pattern detection
│   ├── testing.py      # Test utilities and helper functions
│   ├── utils.py        # Common utilities and helper functions
│   ├── logging_conf.py # Centralized logging configuration
│   └── __init__.py     # Package initialization
├── tests/              
│   ├── test_analysis.py # Tests for analysis functionality
│   ├── test_models.py   # Tests for data models
│   ├── test_storage.py  # Tests for persistence layer
│   └── __init__.py
├── run_server.py       # Server entry point script
├── debug_mcp_connection.py # Utility for debugging connections
├── README.md           # Main documentation
├── CHANGELOG.md        # Version history and changes
├── example.md          # Customization examples
├── LICENSE             # MIT License
└── pyproject.toml      # Project configuration and dependencies

Inicio rápido

  1. Configurar proyecto

    # Create and activate virtual environment
    uv venv
    .venv\Scripts\activate  # Windows
    source .venv/bin/activate  # Unix
    
    # Install package and dependencies
    uv pip install -e .
    
    # For development with testing tools
    uv pip install -e ".[dev]"
    
    # For all optional dependencies
    uv pip install -e ".[all]"
  2. Ejecutar el servidor

    # Run directly
    uv run -m mcp_sequential_thinking.server
    
    # Or use the installed script
    mcp-sequential-thinking
  3. Ejecutar pruebas

    # Run all tests
    pytest
    
    # Run with coverage report
    pytest --cov=mcp_sequential_thinking

Integración de escritorio de Claude

Agregue a su configuración de Claude Desktop ( %APPDATA%\Claude\claude_desktop_config.json en Windows):

{
  "mcpServers": {
    "sequential-thinking": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\path\\to\\your\\mcp-sequential-thinking\\run_server.py",
        "run",
        "server.py"
        ]
      }
    }
  }

Alternativamente, si ha instalado el paquete con pip install -e . , puede utilizar:

{
  "mcpServers": {
    "sequential-thinking": {
      "command": "mcp-sequential-thinking"
    }
  }
}

Cómo funciona

El servidor mantiene un historial de pensamientos y los procesa mediante un flujo de trabajo estructurado. Cada pensamiento se valida mediante modelos de Pydantic, se clasifica en etapas de pensamiento y se almacena con los metadatos relevantes en un sistema de almacenamiento seguro para subprocesos. El servidor gestiona automáticamente la persistencia de datos, la creación de copias de seguridad y proporciona herramientas para analizar las relaciones entre los pensamientos.

Guía de uso

El servidor de Pensamiento Secuencial expone tres herramientas principales:

1. process_thought

Registra y analiza un nuevo pensamiento en su proceso de pensamiento secuencial.

Parámetros:

  • thought (cadena): El contenido de tu pensamiento

  • thought_number (entero): Posición en su secuencia (por ejemplo, 1 para el primer pensamiento)

  • total_thoughts (entero): Total de pensamientos esperados en la secuencia

  • next_thought_needed (booleano): si se necesitan más pensamientos después de este

  • stage (cadena): La etapa de pensamiento - debe ser una de las siguientes:

    • "Definición del problema"

    • "Investigación"

    • "Análisis"

    • "Síntesis"

    • "Conclusión"

  • tags (lista de cadenas, opcional): Palabras clave o categorías para tu pensamiento

  • axioms_used (lista de cadenas, opcional): Principios o axiomas aplicados en tu pensamiento

  • assumptions_challenged (lista de cadenas, opcional): suposiciones que cuestionan o desafían sus pensamientos

Ejemplo:

# First thought in a 5-thought sequence
process_thought(
    thought="The problem of climate change requires analysis of multiple factors including emissions, policy, and technology adoption.",
    thought_number=1,
    total_thoughts=5,
    next_thought_needed=True,
    stage="Problem Definition",
    tags=["climate", "global policy", "systems thinking"],
    axioms_used=["Complex problems require multifaceted solutions"],
    assumptions_challenged=["Technology alone can solve climate change"]
)

2. generate_summary

Genera un resumen de todo tu proceso de pensamiento.

Ejemplo de salida:

{
  "summary": {
    "totalThoughts": 5,
    "stages": {
      "Problem Definition": 1,
      "Research": 1,
      "Analysis": 1,
      "Synthesis": 1,
      "Conclusion": 1
    },
    "timeline": [
      {"number": 1, "stage": "Problem Definition"},
      {"number": 2, "stage": "Research"},
      {"number": 3, "stage": "Analysis"},
      {"number": 4, "stage": "Synthesis"},
      {"number": 5, "stage": "Conclusion"}
    ]
  }
}

3. clear_history

Restablece el proceso de pensamiento borrando todos los pensamientos registrados.

Aplicaciones prácticas

  • Toma de decisiones : Analice decisiones importantes metódicamente.

  • Resolución de problemas : Dividir problemas complejos en componentes manejables

  • Planificación de la investigación : Estructure su enfoque de investigación con etapas claras

  • Organización de la escritura : Desarrollar ideas progresivamente antes de escribir.

  • Análisis de proyectos : evaluar proyectos a través de etapas analíticas definidas

Empezando

Con la configuración correcta de MCP, simplemente usa la herramienta process_thought para comenzar a procesar tus ideas en secuencia. A medida que avances, puedes obtener una visión general con generate_summary y reiniciar cuando sea necesario con clear_history .

Personalización del servidor de pensamiento secuencial

Para ver ejemplos detallados sobre cómo personalizar y ampliar el servidor de Pensamiento Secuencial, consulte example.md . Incluye ejemplos de código para:

  • Modificar las etapas del pensamiento

  • Mejorando las estructuras de datos de pensamiento con Pydantic

  • Añadiendo persistencia a las bases de datos

  • Implementando análisis mejorado con PNL

  • Creación de indicaciones personalizadas

  • Configuración de configuraciones avanzadas

  • Creación de integraciones de interfaz de usuario web

  • Implementación de herramientas de visualización

  • Conexión a servicios externos

  • Creación de entornos colaborativos

  • Separación del código de prueba

  • Construyendo servicios públicos reutilizables

Licencia

Licencia MIT

Available Tools

5 tools
clear_historyB

Clear the thought history.

Returns:
    dict: Status message
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations exist, so the description must disclose all behavioral traits. It only states the action and return type, omitting details like destructiveness, scope, or confirmation requirements.

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 concise at two sentences, front-loading the key action. While it lacks depth, it contains no superfluous information.

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

Completeness2/5

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

Despite the tool's simplicity, the description is incomplete. It does not mention that clearing history is irreversible or provide any behavioral context, especially given the lack of annotations and output schema.

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

Parameters4/5

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

The input schema has zero parameters, so the baseline is 4. The description does not need to add parameter information since none exist.

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 explicitly states 'Clear the thought history,' which matches the tool name 'clear_history.' The verb 'clear' and resource 'thought history' are clear and distinct from sibling tools like export_session or process_thought.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, side effects, or context for clearing history.

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

export_sessionB

Export the current thinking session to a file.

Args:
    file_path: Path to save the exported session

Returns:
    dict: Status message
ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It does not disclose side effects, file overwrite behavior, or access permissions; merely states the action and returns 'Status message' without detail.

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?

Two sentences plus structured Args/Returns sections, clear and front-loaded; no unnecessary text.

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

Completeness3/5

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

Adequate for a simple tool with one parameter and no output schema, but lacks information on file format, overwrite behavior, or status message contents.

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

Parameters3/5

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

Schema coverage is 0%, but the description adds 'Path to save the exported session' for file_path, clarifying its purpose beyond the schema's type definition.

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 uses a specific verb ('Export') and resource ('current thinking session') with destination ('to a file'), clearly distinguishing from siblings like import_session or generate_summary.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives; lacks context on prerequisites or situations like saving vs sharing.

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

generate_summaryB

Generate a summary of the entire thinking process.

Returns:
    dict: Summary of the thinking process
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations exist, and the description does not disclose behavioral traits (e.g., whether it is a read-only operation, requires state, or has side effects). It only states it returns a dict, which is insufficient.

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

Conciseness5/5

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

The description is extremely concise with two short sentences, no unnecessary words, and the key information is front-loaded.

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

Completeness2/5

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

Given no output schema and sibling tools, the description lacks details about what the summary contains, how it is generated, or any dependencies. It feels incomplete for a tool that produces a significant output.

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

Parameters4/5

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

There are no parameters, so schema coverage is trivially 100%. The description adds meaning by specifying the output is a summary of the thinking process, which is helpful beyond an empty schema.

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 action ('Generate') and the resource ('summary of the entire thinking process'). It is a specific verb+resource combination that distinguishes it from sibling tools like 'clear_history', 'export_session', etc.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions.

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

import_sessionC

Import a thinking session from a file.

Args:
    file_path: Path to the file to import

Returns:
    dict: Status message
ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral traits. It only states 'Import a thinking session from a file' without mentioning side effects (e.g., overwriting current session), file requirements, or error behavior.

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

Conciseness3/5

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

The description is brief (three lines) and uses a standard Args/Returns structure. However, it is too terse to be fully effective, lacking essential details.

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

Completeness2/5

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

Given the absence of an output schema, the description only vaguely states 'dict: Status message'. It does not explain what the status indicates or what happens to the existing session, leaving the agent uninformed.

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

Parameters2/5

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

The input schema has 0% description coverage, so the description must compensate. It merely repeats 'Path to the file to import', adding no detail about file format, size limits, or path constraints.

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

Purpose4/5

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

The description clearly states the action (import) and the object (thinking session from a file). It is distinguishable from sibling tools like export_session, but lacks specifics on file format or source.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no context on prerequisites or when not to use it.

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

process_thoughtB

Add a sequential thought with its metadata.

Args:
    thought: The content of the thought
    thought_number: The sequence number of this thought
    total_thoughts: The total expected thoughts in the sequence
    next_thought_needed: Whether more thoughts are needed after this one
    stage: The thinking stage (Problem Definition, Research, Analysis, Synthesis, Conclusion)
    tags: Optional keywords or categories for the thought
    axioms_used: Optional list of principles or axioms used in this thought
    assumptions_challenged: Optional list of assumptions challenged by this thought
    is_revision: Whether this thought revises an earlier thought
    revises_thought_number: The number of the earlier thought being revised (required if is_revision is true)
    branch_from_thought: The thought number this thought branches from, to explore an alternative path
    branch_id: Identifier for the branch (letters, digits, '-', '_'; max 64 chars; requires branch_from_thought)
    ctx: Optional MCP context object

Returns:
    dict: Analysis of the processed thought
ParametersJSON Schema
NameRequiredDescriptionDefault
ctxNo
tagsNo
stageYes
thoughtYes
branch_idNo
axioms_usedNo
is_revisionNo
thought_numberYes
total_thoughtsYes
branch_from_thoughtNo
next_thought_neededYes
assumptions_challengedNo
revises_thought_numberNo

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are present, so the description must disclose all behavioral traits. It details what the tool does but omits side effects, permission requirements, error handling, or the state modifications (e.g., appending to a thought list). The return value is only vaguely described as 'dict: Analysis of the processed thought.'

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 front-loaded with a one-line summary, then structured as a docstring with Args and Returns. It is reasonably concise, though the parameter list is lengthy. Every sentence adds value, but could be more compact.

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

Completeness3/5

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

Given the tool's complexity (13 parameters, no output schema, no annotations), the description explains each parameter but lacks guidance on the overall workflow (e.g., sequential numbering, when to set 'next_thought_needed'). The stage values are enumerated, but the return value and error conditions are unspecified.

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

Parameters3/5

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

The input schema has no property descriptions (0% coverage), so the description must compensate. The Args list provides brief explanations for each parameter, but these mostly restate the parameter names (e.g., 'thought: The content of the thought') without adding deeper semantics, constraints, or examples.

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 opens with 'Add a sequential thought with its metadata,' which clearly states the action and resource. This distinguishes it from sibling tools (clear_history, export_session, generate_summary, import_session) which serve different purposes.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives. The usage is implied by the tool name and sibling context, but no exclusion criteria or when-not scenarios are provided.

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.

  1. 5 tool updatesv1.0.1
    • First observedclear_history
    • First observedexport_session
    • First observedgenerate_summary
    • First observedimport_session
    • First observedprocess_thought

TDQS

A3.5/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a distinct purpose: clearing history, exporting/importing sessions, generating summaries, and processing thoughts. No functional overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., clear_history, export_session). The naming is predictable and clear.

Tool Count5/5

Five tools is appropriate for a focused sequential thinking server, covering core operations without unnecessary bloat.

Completeness4/5

The tool surface covers the full lifecycle: adding thoughts (with revision and branching), clearing, exporting/importing, and generating summaries. Minor gap: lack of a dedicated edit/delete tool, but revisions handle edits.

Maintenance

ActivitySlowing
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    An adaptation of the MCP Sequential Thinking Server designed to guide tool usage in problem-solving. This server helps break down complex problems into manageable steps and provides recommendations for which MCP tools would be most effective at each stage.
    1
    600 npm
    588
    MIT
  • 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
    11 npm
    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