Sequential Thinking Multi-Agent System
Sistema multiagente de pensamiento secuencial (MAS)
Inglés | Chino tradicional
Este proyecto implementa un proceso avanzado de pensamiento secuencial mediante un Sistema Multiagente (MAS) desarrollado con el framework Agno y gestionado mediante MCP . Representa una evolución significativa respecto a los enfoques más sencillos de seguimiento de estados, al aprovechar agentes coordinados y especializados para un análisis más profundo y la descomposición de problemas.
Descripción general
Este servidor proporciona una sofisticada herramienta sequentialthinking diseñada para la resolución de problemas complejos. A diferencia de su predecesor , esta versión utiliza una verdadera arquitectura de Sistema Multiagente (MAS) donde:
Un agente coordinador (el objeto
Teamen modocoordinate) administra el flujo de trabajo.Los agentes especializados (planificador, investigador, analizador, crítico, sintetizador) manejan subtareas específicas según sus roles y experiencia definidos.
El equipo de agentes procesa, analiza y sintetiza activamente los pensamientos entrantes, no solo los registra.
El sistema admite patrones de pensamiento complejos, incluidas revisiones de pasos anteriores y ramificaciones para explorar caminos alternativos.
La integración con herramientas externas como Exa (a través del agente Researcher) permite la recopilación de información dinámica.
La sólida validación de Pydantic garantiza la integridad de los datos durante todos los pasos del proceso.
El registro detallado rastrea el proceso, incluidas las interacciones de los agentes (gestionadas por el coordinador).
El objetivo es lograr una mayor calidad de análisis y un proceso de pensamiento más matizado que el que es posible con un solo agente o un simple seguimiento de estados aprovechando el poder de roles especializados que trabajan en colaboración.
Related MCP server: Sequential-Thinking
Diferencias clave con respecto a la versión original (TypeScript)
Esta implementación de Python/Agno marca un cambio fundamental con respecto a la versión original de TypeScript:
Característica/Aspecto | Versión de Python/Agno (actual) | Versión de TypeScript (original) |
Arquitectura | Sistema Multiagente (MAS) ; Procesamiento activo por un equipo de agentes. | Rastreador de estado de clase única ; registro y almacenamiento sencillos. |
Inteligencia | Lógica de agente distribuido ; integrada en agentes especializados y coordinador. | Solo LLM externo ; sin inteligencia interna. |
Tratamiento | Análisis y síntesis activa ; los agentes actúan sobre el pensamiento. | Registro pasivo ; simplemente registra el pensamiento. |
Marcos | Agno (MAS) + FastMCP (Servidor) ; Utiliza una biblioteca MAS dedicada. | Sólo SDK de MCP . |
Coordinación | Lógica explícita de coordinación de equipo ( | Ninguno ; No existe concepto de coordinación. |
Validación | Validación de esquemas de Pydantic ; Validación de datos robusta. | Comprobaciones de tipo básicas : menos fiables. |
Herramientas externas | Integrado (Exa vía Investigador) ; Puede realizar tareas de investigación. | Ninguno . |
Explotación florestal | Registro estructurado de Python (archivo + consola) ; configurable. | Registro de consola con Chalk ; Básico. |
Lenguaje y ecosistema | Python ; Aprovecha el ecosistema AI/ML de Python. | TipoScript/Node.js . |
En esencia, el sistema evolucionó desde un registrador de pensamientos pasivo a un procesador de pensamientos activo impulsado por un equipo colaborativo de agentes de IA.
Cómo funciona (modo de coordenadas)
Iniciación: un LLM externo utiliza el mensaje
sequential-thinking-starterpara definir el problema e iniciar el proceso.Llamada de herramienta: El LLM llama a la herramienta
sequentialthinkingcon el primer pensamiento (o subsiguiente), estructurado de acuerdo con el modelo PydanticThoughtData.Validación y registro: la herramienta recibe la llamada, valida la entrada usando Pydantic, registra el pensamiento entrante y actualiza el historial/estado de la rama a través de
AppContext.Invocación del coordinador: el contenido del pensamiento central (junto con el contexto sobre las revisiones/ramas) se pasa al método
arundelSequentialThinkingTeam.Análisis y delegación del coordinador: el
Team(que actúa como coordinador) analiza el pensamiento de entrada, lo divide en subtareas y delega estas subtareas a los agentes especializados más relevantes (por ejemplo, el analizador para las tareas de análisis, el investigador para las necesidades de información).Ejecución especializada: los agentes delegados ejecutan sus subtareas específicas utilizando sus instrucciones, modelos y herramientas (como
ThinkingToolsoExaTools).Recopilación de respuestas: Los especialistas devuelven sus resultados al Coordinador.
Síntesis y orientación: El coordinador sintetiza las respuestas de los especialistas en un resultado único y coherente. Este resultado puede incluir recomendaciones de revisión o ramificación basadas en las conclusiones de los especialistas (especialmente del crítico y el analista). También proporciona orientación al LLM para formular la siguiente idea.
Valor de retorno: la herramienta devuelve una cadena JSON que contiene la respuesta sintetizada del Coordinador, el estado y el contexto actualizado (ramas, longitud del historial).
Iteración: el LLM que realiza la llamada utiliza la respuesta y la guía del Coordinador para formular la siguiente llamada a la herramienta de
sequentialthinking, lo que potencialmente desencadena revisiones o ramas según lo sugerido.
Advertencia sobre el consumo de tokens
Alto consumo de tokens: Gracias a la arquitectura del sistema multiagente, esta herramienta consume muchos más tokens que las alternativas de un solo agente o la versión anterior de TypeScript. Cada llamada sequentialthinking invoca:
El agente Coordinador (el
Teamen sí).Múltiples agentes especialistas (potencialmente Planificador, Investigador, Analizador, Crítico, Sintetizador, dependiendo de la delegación del Coordinador).
Este procesamiento paralelo genera un uso de tokens considerablemente mayor (potencialmente de 3 a 6 veces o más por paso de pensamiento) en comparación con los enfoques de agente único o de seguimiento de estado. Planifique y calcule el presupuesto en consecuencia. Esta herramienta prioriza la profundidad y la calidad del análisis sobre la eficiencia de los tokens.
Prerrequisitos
Python 3.10+
Acceso a una API LLM compatible (configurada para
agno). El sistema actualmente admite:Groq: Requiere
GROQ_API_KEY.DeepSeek: requiere
DEEPSEEK_API_KEY.OpenRouter: requiere
OPENROUTER_API_KEY.Configure el proveedor deseado utilizando la variable de entorno
LLM_PROVIDER(predeterminada endeepseek).
Clave API de Exa (requerida solo si se utilizan las capacidades del agente Investigador)
Se establece a través de la variable de entorno
EXA_API_KEY.
Gestor de paquetes
uv(recomendado) opip.
Configuración del servidor MCP (lado del cliente)
Este servidor se ejecuta como un script ejecutable estándar que se comunica mediante stdio, como lo espera MCP. El método de configuración exacto depende de la implementación específica de su cliente MCP. Consulte la documentación de su cliente para obtener más información sobre la integración de servidores de herramientas externos.
La sección env dentro de la configuración de su cliente MCP debe incluir la clave API para el LLM_PROVIDER elegido.
{
"mcpServers": {
"mas-sequential-thinking": {
"command": "uvx", // Or "python", "path/to/venv/bin/python" etc.
"args": [
"mcp-server-mas-sequential-thinking" // Or the path to your main script, e.g., "main.py"
],
"env": {
"LLM_PROVIDER": "deepseek", // Or "groq", "openrouter"
// "GROQ_API_KEY": "your_groq_api_key", // Only if LLM_PROVIDER="groq"
"DEEPSEEK_API_KEY": "your_deepseek_api_key", // Default provider
// "OPENROUTER_API_KEY": "your_openrouter_api_key", // Only if LLM_PROVIDER="openrouter"
"DEEPSEEK_BASE_URL": "your_base_url_if_needed", // Optional: If using a custom endpoint for DeepSeek
"EXA_API_KEY": "your_exa_api_key" // Only if using Exa
}
}
}
}Instalación y configuración
Instalación mediante herrería
Para instalar automáticamente el sistema multiagente de pensamiento secuencial para Claude Desktop a través de Smithery :
npx -y @smithery/cli install @FradSer/mcp-server-mas-sequential-thinking --client claudeInstalación manual
Clonar el repositorio:
git clone git@github.com:FradSer/mcp-server-mas-sequential-thinking.git cd mcp-server-mas-sequential-thinkingEstablecer variables de entorno: cree un archivo
.enven el directorio raíz del proyecto o exporte las variables directamente a su entorno:# --- LLM Configuration --- # Select the LLM provider: "deepseek" (default), "groq", or "openrouter" LLM_PROVIDER="deepseek" # Provide the API key for the chosen provider: # GROQ_API_KEY="your_groq_api_key" DEEPSEEK_API_KEY="your_deepseek_api_key" # OPENROUTER_API_KEY="your_openrouter_api_key" # Optional: Base URL override (e.g., for custom DeepSeek endpoints) # DEEPSEEK_BASE_URL="your_base_url_if_needed" # Optional: Specify different models for Team Coordinator and Specialist Agents # Defaults are set within the code based on the provider if these are not set. # Example for Groq: # GROQ_TEAM_MODEL_ID="llama3-70b-8192" # GROQ_AGENT_MODEL_ID="llama3-8b-8192" # Example for DeepSeek: # DEEPSEEK_TEAM_MODEL_ID="deepseek-chat" # Note: `deepseek-reasoner` is not recommended as it doesn't support function calling # DEEPSEEK_AGENT_MODEL_ID="deepseek-chat" # Recommended for specialists # Example for OpenRouter: # OPENROUTER_TEAM_MODEL_ID="deepseek/deepseek-r1" # Example, adjust as needed # OPENROUTER_AGENT_MODEL_ID="deepseek/deepseek-chat" # Example, adjust as needed # --- External Tools --- # Required ONLY if the Researcher agent is used and needs Exa EXA_API_KEY="your_exa_api_key"Nota sobre la selección del modelo:
El
TEAM_MODEL_IDlo utiliza el Coordinador (objetoTeam). Este rol se beneficia de sólidas capacidades de razonamiento, síntesis y delegación. Considere usar un modelo más potente (p. ej.,deepseek-chat,claude-3-opus,gpt-4-turbo), para equilibrar la capacidad con el costo y la velocidad.El
AGENT_MODEL_IDlo utilizan los agentes especializados (Planificador, Investigador, etc.). Estos gestionan subtareas específicas. Un modelo más rápido o rentable (p. ej.,deepseek-chat,claude-3-sonnet,llama3-8b) podría ser adecuado, dependiendo de la complejidad de la tarea y las necesidades de presupuesto y rendimiento.Si estas variables de entorno no están configuradas, se proporcionan valores predeterminados en el código (p. ej., en
main.py). Se recomienda experimentar para encontrar el equilibrio óptimo para su caso de uso.
Instalar dependencias: es muy recomendable utilizar un entorno virtual.
Uso de
uv(recomendado):# Install uv if you don't have it: # curl -LsSf https://astral.sh/uv/install.sh | sh # source $HOME/.cargo/env # Or restart your shell # Create and activate a virtual environment (optional but recommended) python -m venv .venv source .venv/bin/activate # On Windows use `.venv\\Scripts\\activate` # Install dependencies uv pip install -r requirements.txt # Or if a pyproject.toml exists with dependencies defined: # uv pip install .Usando
pip:# Create and activate a virtual environment (optional but recommended) python -m venv .venv source .venv/bin/activate # On Windows use `.venv\\Scripts\\activate` # Install dependencies pip install -r requirements.txt # Or if a pyproject.toml exists with dependencies defined: # pip install .
Uso
Asegúrese de que las variables de entorno estén configuradas y que el entorno virtual (si se utiliza) esté activo.
Ejecute el servidor. Elija uno de los siguientes métodos:
Uso de
uv run(recomendado):uv --directory /path/to/mcp-server-mas-sequential-thinking run mcp-server-mas-sequential-thinkingUsando Python directamente:
python main.py
El servidor se iniciará y escuchará solicitudes a través de stdio, lo que hará que la herramienta sequentialthinking esté disponible para los clientes MCP compatibles configurados para usarla.
Parámetros de la herramienta sequentialthinking
La herramienta espera argumentos que coincidan con el modelo Pydantic ThoughtData :
# Simplified representation from src/models.py
class ThoughtData(BaseModel):
thought: str # Content of the current thought/step
thoughtNumber: int # Sequence number (>=1)
totalThoughts: int # Estimated total steps (>=1, suggest >=5)
nextThoughtNeeded: bool # Is another step required after this?
isRevision: bool = False # Is this revising a previous thought?
revisesThought: Optional[int] = None # If isRevision, which thought number?
branchFromThought: Optional[int] = None # If branching, from which thought?
branchId: Optional[str] = None # Unique ID for the new branch being created
needsMoreThoughts: bool = False # Signal if estimate is too low before last stepInteractuando con la herramienta (Ejemplo conceptual)
Un LLM interactuaría con esta herramienta de forma iterativa:
LLM: utiliza un mensaje inicial (como
sequential-thinking-starter) con la definición del problema.LLM: Llama a la herramienta
sequentialthinkingconthoughtNumber: 1, elthoughtinicial (por ejemplo, "Planifique el análisis..."), untotalThoughtsestimado de Thoughts ynextThoughtNeeded: True.Servidor: El MAS procesa la idea. El Coordinador sintetiza las respuestas de los especialistas y ofrece orientación (p. ej., "Plan de análisis completo. Sugiero investigar X a continuación. No se recomiendan revisiones todavía").
LLM: recibe la respuesta JSON que contiene
coordinatorResponse.LLM: Formula el siguiente pensamiento basándose en la
coordinatorResponse(por ejemplo, "Investiga X usando las herramientas disponibles...").LLM: Llama a la herramienta
sequentialthinkingconthoughtNumber: 2, el nuevothought, potencialmente actualizadototalThoughts,nextThoughtNeeded: True.Servidor: Procesos MAS. El Coordinador sintetiza (p. ej., "Investigación completa. Los hallazgos sugieren una falla en la suposición de la idea n.° 1. RECOMENDACIÓN: Revisar la idea n.° 1...").
LLM: Recibe la respuesta, toma nota de la recomendación.
LLM: Formula un pensamiento de revisión.
LLM: Llama a la herramienta
sequentialthinkingconthoughtNumber: 3, elthoughtde revisión,isRevision: True,revisesThought: 1,nextThoughtNeeded: True....y así sucesivamente, ramificando o ampliando potencialmente el proceso según sea necesario.
Formato de respuesta de la herramienta
La herramienta devuelve una cadena JSON que contiene:
{
"processedThoughtNumber": int, // The thought number that was just processed
"estimatedTotalThoughts": int, // The current estimate of total thoughts
"nextThoughtNeeded": bool, // Whether the process indicates more steps are needed
"coordinatorResponse": "...", // Synthesized output from the agent team, including analysis, findings, and guidance for the next step.
"branches": ["main", "branch-id-1"], // List of active branch IDs
"thoughtHistoryLength": int, // Total number of thoughts processed so far (across all branches)
"branchDetails": {
"currentBranchId": "main", // The ID of the branch the processed thought belongs to
"branchOriginThought": null | int, // The thought number where the current branch diverged (null for 'main')
"allBranches": { // Count of thoughts in each active branch
"main": 5,
"branch-id-1": 2
}
},
"isRevision": bool, // Was the processed thought a revision?
"revisesThought": null | int, // Which thought number was revised (if isRevision is true)
"isBranch": bool, // Did this thought start a new branch?
"status": "success | validation_error | failed", // Outcome status
"error": null | "Error message..." // Error details if status is not 'success'
}Explotación florestal
Los registros se escriben en
~/.sequential_thinking/logs/sequential_thinking.logde forma predeterminada. (La configuración se puede ajustar en el código de configuración del registro).Utiliza el módulo
loggingestándar de Python.Incluye un controlador de archivos rotativo (por ejemplo, límite de 10 MB, 5 copias de seguridad) y un controlador de consola (normalmente de nivel INFO).
Los registros incluyen marcas de tiempo, niveles, nombres de registradores y mensajes, incluidas representaciones estructuradas de los pensamientos que se están procesando.
Desarrollo
Clonar el repositorio: (Como en la Instalación)
git clone git@github.com:FradSer/mcp-server-mas-sequential-thinking.git cd mcp-server-mas-sequential-thinkingConfigurar entorno virtual: (recomendado)
python -m venv .venv source .venv/bin/activate # On Windows use `.venv\\Scripts\\activate`Instalar dependencias (incluido dev): asegúrese de que su
requirements-dev.txtopyproject.tomlespecifique herramientas de desarrollo (comopytest,ruff,black,mypy).# Using uv uv pip install -r requirements.txt uv pip install -r requirements-dev.txt # Or install extras if defined in pyproject.toml: uv pip install -e ".[dev]" # Using pip pip install -r requirements.txt pip install -r requirements-dev.txt # Or install extras if defined in pyproject.toml: pip install -e ".[dev]"Ejecutar comprobaciones: ejecuta linters, formateadores y pruebas (adapta los comandos según la configuración de tu proyecto).
# Example commands (replace with actual commands used in the project) ruff check . --fix black . mypy . pytestContribución: (Considere agregar pautas de contribución: estrategia de ramificación, proceso de solicitud de extracción, estilo de código).
Licencia
Instituto Tecnológico de Massachusetts (MIT)
Available Tools
1 toolsequentialthinkingA
Multi-step sequential reasoning contract. Always treat this tool as iterative: after each response, read structuredContent.should_continue and continue calling until it is false. Actively use reflection: when a step reveals a flaw, explicitly send a revision step with isRevision=true. Input contract:
thought: one concrete reasoning step in natural language.
thoughtNumber: 1-based step index; increment by one for each new step.
totalThoughts: target number of steps for the current plan.
nextThoughtNeeded: true while the sequence should continue; false on final step.
isRevision: true only when revising an earlier conclusion.
branchFromThought + branchId: set together to explore an alternative branch.
needsMoreThoughts: true only when extending beyond totalThoughts. Output contract:
structuredContent.should_continue: canonical continuation signal.
structuredContent.next_thought_number: next recommended thoughtNumber.
structuredContent.stop_reason: canonical reason code for orchestration.
| Name | Required | Description | Default |
|---|---|---|---|
| thought | Yes | Current reasoning step text. Keep this to one concrete step. | |
| thoughtNumber | Yes | 1-based sequence index for this thought. Increment for each step. | |
| totalThoughts | Yes | Estimated total number of steps in the current reasoning plan. | |
| nextThoughtNeeded | Yes | Set true when another thought follows this one. Set false on the final thought. | |
| isRevision | Yes | Set true only when this step revises an earlier conclusion. | |
| branchFromThought | Yes | Original thought number for branching. Null for the main path. | |
| branchId | Yes | Branch identifier. Required when branchFromThought is not null. | |
| needsMoreThoughts | Yes | Set true only when you must continue beyond totalThoughts. |
Output Schema
| Name | Required | Description |
|---|---|---|
| should_continue | Yes | If true, call sequentialthinking again. The tool is designed for multi-step reasoning loops. |
| next_thought_number | No | Recommended thoughtNumber for the next call. Null means no next step is currently required. |
| stop_reason | Yes | Machine-readable reason that explains why to continue or stop. |
| current_thought_number | Yes | Echo of the current thoughtNumber after normalization. |
| total_thoughts | Yes | Echo of current totalThoughts after normalization. |
| next_call_arguments | No | Concrete argument recommendations for the next call when the current run completes successfully and should continue. |
| parameter_usage | Yes | Contract reminders for each core parameter to keep multi-step iterations consistent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It discloses the iterative nature, revision mechanism, and output contract. It lacks explicit statements about side effects or auth but is sufficient for the intended reasoning use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (input contract, output contract) and front-loaded with the core concept. It is slightly lengthy but each sentence adds value, so it earns a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 required params, output schema), the description covers the input and output contracts, usage pattern, and corner cases like revision and branching. It is nearly complete, lacking only examples or defaults, which are covered by the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 8 parameters. The description adds value by contextualizing parameter usage, such as grouping branchFromThought and branchId, and clarifying that needsMoreThoughts extends beyond totalThoughts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a 'Multi-step sequential reasoning contract' and explains its iterative, revision, and branching capabilities. It is very specific and distinguishes itself by detailing the contract-like behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to treat the tool iteratively, read structuredContent.should_continue, and continue until false. It also specifies when to use revisions (when a flaw is revealed) and branching (with branchFromThought and branchId).
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 tool update
v0.8.0- Changed
sequentialthinking31 fields changed- added
Input schema / properties / branchFromThoughtAdded value: +{ + "anyOf": [ + { + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Original thought number for branching. Null for the main path.", + "title": "Branchfromthought" +} - added
Input schema / properties / branchIdAdded value: +{ + "anyOf": [ + { + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Branch identifier. Required when branchFromThought is not null.", + "title": "Branchid" +} - removed
Input schema / properties / branch_fromRemoved value: -{ - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Branch From" -} - removed
Input schema / properties / branch_idRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Branch Id" -} - added
Input schema / properties / isRevisionAdded value: +{ + "description": "Set true only when this step revises an earlier conclusion.", + "title": "Isrevision", + "type": "boolean" +} - removed
Input schema / properties / is_revisionRemoved value: -{ - "default": false, - "title": "Is Revision", - "type": "boolean" -} - added
Input schema / properties / needsMoreThoughtsAdded value: +{ + "description": "Set true only when you must continue beyond totalThoughts.", + "title": "Needsmorethoughts", + "type": "boolean" +} - removed
Input schema / properties / needs_moreRemoved value: -{ - "default": false, - "title": "Needs More", - "type": "boolean" -} - added
Input schema / properties / nextThoughtNeededAdded value: +{ + "description": "Set true when another thought follows this one. Set false on the final thought.", + "title": "Nextthoughtneeded", + "type": "boolean" +} - removed
Input schema / properties / next_neededRemoved value: -{ - "title": "Next Needed", - "type": "boolean" -} - removed
Input schema / properties / revises_thoughtRemoved value: -{ - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Revises Thought" -} - added
Input schema / properties / thought / descriptionAdded value: +"Current reasoning step text. Keep this to one concrete step." - added
Input schema / properties / thought / minLengthAdded value: +1 - added
Input schema / properties / thoughtNumberAdded value: +{ + "description": "1-based sequence index for this thought. Increment for each step.", + "minimum": 1, + "title": "Thoughtnumber", + "type": "integer" +} - removed
Input schema / properties / thought_numberRemoved value: -{ - "title": "Thought Number", - "type": "integer" -} - added
Input schema / properties / totalThoughtsAdded value: +{ + "description": "Estimated total number of steps in the current reasoning plan.", + "minimum": 1, + "title": "Totalthoughts", + "type": "integer" +} - removed
Input schema / properties / total_thoughtsRemoved value: -{ - "title": "Total Thoughts", - "type": "integer" -} - changed
Input schema / requiredPrevious value: -[ - "thought", - "thought_number", - "total_thoughts", - "next_needed" -]New value: +[ + "thought", + "thoughtNumber", + "totalThoughts", + "nextThoughtNeeded", + "isRevision", + "branchFromThought", + "branchId", + "needsMoreThoughts" +] - added
Input schema / titleAdded value: +"sequentialthinkingArguments" - added
Output schema / $defsAdded value: +{ + "NextCallArguments": { + "description": "Recommended arguments for the next tool call.", + "properties": { + "needsMoreThoughts": { + "description": "Set to true only when you need to exceed totalThoughts and extend the sequence.", + "title": "Needsmorethoughts", + "type": "boolean" + }, + "nextThoughtNeeded": { + "description": "Set to true when another step should follow the next call. Set to false on the final thought.", + "title": "Nextthoughtneeded", + "type": "boolean" + }, + "thoughtNumber": { + "description": "Recommended thoughtNumber for the next tool call.", + "minimum": 1, + "title": "Thoughtnumber", + "type": "integer" + }, + "totalThoughts": { + "description": "Recommended totalThoughts for the next tool call.", + "minimum": 1, + "title": "Totalthoughts", + "type": "integer" + } + }, + "required": [ + "thoughtNumber", + "totalThoughts", + "nextThoughtNeeded", + "needsMoreThoughts" + ], + "title": "NextCallArguments", + "type": "object" + }, + "StopReason": { + "description": "Reason code for continuing or stopping thought iteration.", + "enum": [ + "next_thought_required", + "needs_more_thoughts", + "thought_sequence_complete", + "validation_error", + "processing_error", + "rate_limited", + "request_too_large", + "unexpected_error" + ], + "title": "StopReason", + "type": "string" + } +} - added
Output schema / descriptionAdded value: +"Structured control fields returned on every tool response." - added
Output schema / properties / current_thought_numberAdded value: +{ + "description": "Echo of the current thoughtNumber after normalization.", + "minimum": 1, + "title": "Current Thought Number", + "type": "integer" +} - added
Output schema / properties / next_call_argumentsAdded value: +{ + "anyOf": [ + { + "$ref": "#/$defs/NextCallArguments" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Concrete argument recommendations for the next call when the current run completes successfully and should continue." +} - added
Output schema / properties / next_thought_numberAdded value: +{ + "anyOf": [ + { + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Recommended thoughtNumber for the next call. Null means no next step is currently required.", + "title": "Next Thought Number" +} - added
Output schema / properties / parameter_usageAdded value: +{ + "additionalProperties": { + "type": "string" + }, + "description": "Contract reminders for each core parameter to keep multi-step iterations consistent.", + "title": "Parameter Usage", + "type": "object" +} - removed
Output schema / properties / resultRemoved value: -{ - "title": "Result", - "type": "string" -} - added
Output schema / properties / should_continueAdded value: +{ + "description": "If true, call sequentialthinking again. The tool is designed for multi-step reasoning loops.", + "title": "Should Continue", + "type": "boolean" +} - added
Output schema / properties / stop_reasonAdded value: +{ + "$ref": "#/$defs/StopReason", + "description": "Machine-readable reason that explains why to continue or stop." +} - added
Output schema / properties / total_thoughtsAdded value: +{ + "description": "Echo of current totalThoughts after normalization.", + "minimum": 1, + "title": "Total Thoughts", + "type": "integer" +} - changed
Output schema / requiredPrevious value: -[ - "result" -]New value: +[ + "should_continue", + "stop_reason", + "current_thought_number", + "total_thoughts", + "parameter_usage" +] - changed
Output schema / titlePrevious value: -"sequentialthinkingOutput"New value: +"SequentialThinkingStructuredContent"
1 tool update
v1.0.0- First observed
sequentialthinking
TDQS
Only one tool exists, so there is no possibility of ambiguity or confusion between tools.
With a single tool, naming consistency is inherently perfect; the name clearly describes the action.
One tool is appropriate for a focused multi-step reasoning system; the tool itself is complex and self-contained.
The tool covers the full sequential reasoning lifecycle including revision, branching, and extension, leaving no obvious gaps.
Maintenance
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
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
MCP server for building and testing AI agents with multi-model experimentation and insights.
An MCP server for deep research or task groups
Official MCP server for subfeed.app — the cloud for agents. 15+ tools for AI agents to register, build, and deploy other agents. Zero human required. Start here: subfeed.app/skill.md
Related MCP Servers
- FlicenseCqualityDmaintenanceAn MCP server implementing the Unified Cognitive Processing Framework for advanced problem-solving, creative thinking, and cognitive analysis through structured tools for knowledge mapping, recursive questioning, and perspective generation.316-
- AlicenseAqualityDmaintenanceA 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.12Apache 2.0
- AlicenseAqualityDmaintenanceA structured problem-solving MCP server that breaks down complex tasks into sequential steps, supports iterative refinement and branching, and helps maintain context and explore alternative reasoning paths.11542MIT
- AlicenseNot gradedqualityDmaintenanceA powerful MCP server that enhances LLMs with advanced sequential thinking capabilities, supporting 19 thinking modes for structured reasoning and complex cognitive tasks.17MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/FradSer/mcp-server-mas-sequential-thinking'
If you have feedback or need assistance with the MCP directory API, please join our Discord server