Sequential Thinking Multi-Agent System
순차적 사고 다중 에이전트 시스템(MAS)
영어 | 간체 중국어
이 프로젝트는 Agno 프레임워크로 구축되고 MCP 를 통해 제공되는 다중 에이전트 시스템(MAS)을 사용하여 고급 순차적 사고 프로세스를 구현합니다. 이는 심층 분석 및 문제 분해를 위해 조정되고 특화된 에이전트를 활용함으로써 단순한 상태 추적 방식에서 크게 발전한 것을 보여줍니다.
개요
이 서버는 복잡한 문제 해결을 위해 설계된 정교한 sequentialthinking 도구를 제공합니다. 이전 버전 과 달리, 이 버전은 다음과 같은 특징을 갖춘 진정한 다중 에이전트 시스템(MAS) 아키텍처를 활용합니다.
조정 에이전트 (
coordinate모드에서는Team객체)는 워크플로를 관리합니다.전문 에이전트 (기획자, 연구자, 분석가, 비평가, 합성가)는 정의된 역할과 전문성에 따라 특정 하위 작업을 처리합니다.
에이전트 팀은 들어오는 생각을 단순히 기록하는 데 그치지 않고 적극적으로 처리, 분석, 종합합니다 .
이 시스템은 이전 단계를 수정하고 대체 경로를 탐색하기 위한 분기 를 포함한 복잡한 사고 패턴을 지원합니다.
Exa (Researcher 에이전트를 통해)와 같은 외부 도구와 통합하면 동적으로 정보를 수집할 수 있습니다.
강력한 Pydantic 검증을 통해 사고 단계에 대한 데이터 무결성이 보장됩니다.
자세한 로깅은 코디네이터가 처리하는 에이전트 상호작용을 포함한 프로세스를 추적합니다.
목표는 단일 에이전트나 단순한 상태 추적으로는 불가능한, 전문화된 역할의 협업적 작업을 통해 더 높은 품질의 분석과 더 섬세한 사고 과정을 달성하는 것입니다.
Related MCP server: Sequential-Thinking
원본 버전(TypeScript)과의 주요 차이점
이 Python/Agno 구현은 원래 TypeScript 버전과 근본적으로 다른 점을 보여줍니다.
특징/측면 | Python/Agno 버전(현재) | TypeScript 버전(원본) |
건축학 | 다중 에이전트 시스템(MAS) ; 에이전트 팀에 의한 능동적 처리. | 단일 클래스 상태 추적기 ; 간단한 로깅/저장. |
지능 | 분산 에이전트 로직 ; 전문 에이전트 및 코디네이터에 내장됨. | 외부 LLM만 해당 ; 내부 인텔리전스 없음. |
처리 중 | 능동적 분석 및 합성 ; 에이전트는 생각에 따라 행동합니다 . | 수동 로깅 ; 단지 생각을 기록함. |
프레임워크 | Agno(MAS) + FastMCP(서버) ; 전용 MAS 라이브러리를 사용합니다. | MCP SDK만 해당 . |
조정 | 명시적 팀 조정 논리 ( | 없음 ; 조정 개념이 없습니다. |
확인 | Pydantic 스키마 검증 ; 강력한 데이터 검증. | 기본 유형 검사 ; 신뢰성이 낮음. |
외부 도구 | 통합(연구자를 통한 실험) ; 연구 작업을 수행할 수 있습니다. | 없음 . |
벌채 반출 | 구조화된 Python 로깅(파일 + 콘솔) ; 구성 가능. | Chalk를 이용한 콘솔 로깅 ; 기본. |
언어 및 생태계 | Python ; Python AI/ML 생태계를 활용합니다. | 타입스크립트/노드.js . |
본질적으로, 이 시스템은 수동적인 사고 기록기 에서 AI 에이전트로 구성된 협업 팀에 의해 구동되는 능동적인 사고 처리기 로 진화했습니다.
작동 원리(좌표 모드)
개시: 외부 LLM은
sequential-thinking-starter프롬프트를 사용하여 문제를 정의하고 프로세스를 개시합니다.도구 호출: LLM은
ThoughtDataPydantic 모델에 따라 구조화된 첫 번째(또는 그 이후의) 사고로sequentialthinking도구를 호출합니다.검증 및 로깅: 도구는 호출을 받고 Pydantic을 사용하여 입력을 검증하고, 들어오는 생각을 로깅하고,
AppContext통해 기록/분기 상태를 업데이트합니다.코디네이터 호출: 핵심 사고 내용(개정/분기에 대한 컨텍스트와 함께)은
SequentialThinkingTeam의arun메서드로 전달됩니다.코디네이터 분석 및 위임:
Team(코디네이터 역할)은 입력된 사고를 분석하고, 이를 하위 작업으로 나누고, 이러한 하위 작업을 가장 관련성이 높은 전문가 에이전트(예: 분석 작업을 위한 분석가, 정보 요구 사항을 위한 연구원)에게 위임합니다.전문가 실행: 위임된 에이전트는 각자의 지침, 모델, 도구(
ThinkingTools또는ExaTools등)를 사용하여 특정 하위 작업을 실행합니다.응답 수집: 전문가가 결과를 코디네이터에게 반환합니다.
종합 및 지침: 코디네이터는 전문가들의 답변을 하나의 응집력 있는 결과물로 종합합니다. 이 결과물에는 전문가의 결과(특히 비평가와 분석가의 결과)를 바탕으로 수정 또는 분기화에 대한 권고가 포함될 수 있습니다. 또한 LLM에게 다음 아이디어를 구체화하는 데 필요한 지침을 제공합니다.
반환 값: 이 도구는 코디네이터의 합성 응답, 상태, 업데이트된 컨텍스트(분기, 기록 길이)를 포함하는 JSON 문자열을 반환합니다.
반복: 호출하는 LLM은 코디네이터의 응답과 지침을 사용하여 다음
sequentialthinking도구 호출을 공식화하고, 제안된 대로 개정이나 분기를 유발할 가능성이 있습니다.
토큰 소비 경고
⚠️ 높은 토큰 사용량: 다중 에이전트 시스템 아키텍처로 인해 이 도구는 단일 에이전트 대안이나 이전 TypeScript 버전보다 훨씬 더 많은 토큰을 사용합니다. 각 sequentialthinking 호출은 다음을 호출합니다.
코디네이터 에이전트(
Team자체).다수의 전문가 에이전트(조정자의 위임에 따라 기획자, 연구자, 분석가, 비평가, 합성가 등)
이러한 병렬 처리는 단일 에이전트 또는 상태 추적 방식에 비해 토큰 사용량이 상당히 높아집니다(생각 단계당 3~6배 이상). 이에 따라 예산을 책정하고 계획을 수립하십시오. 이 도구는 토큰 효율성보다 분석 심도와 품질을 우선시합니다.
필수 조건
파이썬 3.10+
호환되는 LLM API에 대한 액세스(
agno용으로 구성됨). 시스템은 현재 다음을 지원합니다.Groq:
GROQ_API_KEY가 필요합니다.DeepSeek:
DEEPSEEK_API_KEY가 필요합니다.OpenRouter:
OPENROUTER_API_KEY가 필요합니다.LLM_PROVIDER환경 변수를 사용하여 원하는 공급자를 구성합니다(기본값은deepseek).
Exa API 키(연구원 에이전트의 기능을 사용하는 경우에만 필요)
EXA_API_KEY환경 변수를 통해 설정됩니다.
uv패키지 관리자(권장) 또는pip.
MCP 서버 구성(클라이언트 측)
이 서버는 MCP에서 예상하는 대로 stdio를 통해 통신하는 표준 실행 가능 스크립트로 실행됩니다. 정확한 구성 방법은 특정 MCP 클라이언트 구현에 따라 다릅니다. 외부 도구 서버 통합에 대한 자세한 내용은 클라이언트 설명서를 참조하십시오.
MCP 클라이언트 구성 내의 env 섹션에는 선택한 LLM_PROVIDER 에 대한 API 키가 포함되어야 합니다.
지엑스피1
설치 및 설정
Smithery를 통해 설치
Smithery를 통해 Claude Desktop용 Sequential Thinking Multi-Agent System을 자동으로 설치하려면:
npx -y @smithery/cli install @FradSer/mcp-server-mas-sequential-thinking --client claude수동 설치
저장소를 복제합니다.
git clone git@github.com:FradSer/mcp-server-mas-sequential-thinking.git cd mcp-server-mas-sequential-thinking환경 변수 설정: 프로젝트 루트 디렉토리에
.env파일을 만들거나 변수를 환경으로 직접 내보냅니다.# --- 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"모델 선택에 대한 참고 사항:
TEAM_MODEL_ID는 코디네이터(Team객체)에서 사용됩니다. 이 역할은 강력한 추론, 합성 및 위임 기능을 활용합니다. 이 경우 더 강력한 모델(예:deepseek-chat,claude-3-opus,gpt-4-turbo)을 사용하여 성능과 비용/속도의 균형을 맞추는 것을 고려해 보세요.AGENT_MODEL_ID는 전문 에이전트(Planner, Researcher 등)에서 사용됩니다. 이들은 특정 하위 작업을 처리합니다. 작업의 복잡성과 예산/성능 요구 사항에 따라 더 빠르거나 비용 효율적인 모델(예:deepseek-chat,claude-3-sonnet,llama3-8b)이 적합할 수 있습니다.이러한 환경 변수가 설정되지 않은 경우 코드(예:
main.py)에 기본값이 제공됩니다. 사용 사례에 가장 적합한 균형을 찾기 위해 여러 가지 방법을 시도해 보는 것이 좋습니다.
종속성 설치: 가상 환경을 사용하는 것이 좋습니다.
uv사용(권장):# 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 .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 .
용법
환경 변수가 설정되어 있고 가상 환경(사용하는 경우)이 활성화되어 있는지 확인하세요.
서버를 실행하세요. 다음 방법 중 하나를 선택하세요.
uv run사용(권장):uv --directory /path/to/mcp-server-mas-sequential-thinking run mcp-server-mas-sequential-thinkingPython을 직접 사용하는 경우:
python main.py
서버가 시작되어 stdio를 통해 요청을 수신하고, 이를 통해 sequentialthinking 도구를 사용하도록 구성된 호환 MCP 클라이언트에서 해당 도구를 사용할 수 있게 됩니다.
sequentialthinking 도구 매개변수
이 도구는 ThoughtData Pydantic 모델과 일치하는 인수를 예상합니다.
# 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 step도구와의 상호 작용(개념적 예)
LLM은 이 도구와 반복적으로 상호 작용합니다.
LLM: 문제 정의와 함께 시작 프롬프트(예:
sequential-thinking-starter)를 사용합니다.LLM:
thoughtNumber: 1, 초기thought(예: "분석 계획..."), 추정된totalThoughts,nextThoughtNeeded: True사용하여sequentialthinking도구를 호출합니다.서버: MAS가 생각을 처리합니다. 코디네이터는 전문가들의 답변을 종합하여 지침을 제공합니다(예: "분석 계획 완료. 다음 X 조사 제안. 아직 수정 권장 없음").
LLM:
coordinatorResponse포함하는 JSON 응답을 수신합니다.LLM:
coordinatorResponse기반으로 다음 생각을 공식화합니다(예: "사용 가능한 도구를 사용하여 X를 연구하세요...").LLM:
thoughtNumber: 2, 새로운thought, 잠재적으로 업데이트된totalThoughts,nextThoughtNeeded: True사용하여sequentialthinking도구를 호출합니다.서버: MAS 프로세스. 코디네이터는 종합합니다(예: "연구 완료. 연구 결과에 따르면 생각 #1의 가정에 결함이 있는 것으로 보입니다. 권고: 생각 #1을 수정하세요...").
LLM: 응답을 받고 권장 사항을 기록합니다.
LLM: 수정 사상을 공식화합니다.
LLM:
thoughtNumber: 3,thought수정,isRevision: True,revisesThought: 1,nextThoughtNeeded: True를 사용하여sequentialthinking도구를 호출합니다.... 이런 식으로 필요에 따라 프로세스를 분기화하거나 확장할 수 있습니다.
도구 응답 형식
이 도구는 다음을 포함하는 JSON 문자열을 반환합니다.
{
"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'
}벌채 반출
로그는 기본적으로
~/.sequential_thinking/logs/sequential_thinking.log에 기록됩니다. (로깅 설정 코드에서 설정을 조정할 수 있습니다.)Python의 표준
logging모듈을 사용합니다.회전 파일 핸들러(예: 10MB 제한, 5회 백업)와 콘솔 핸들러(일반적으로 INFO 수준)가 포함됩니다.
로그에는 타임스탬프, 수준, 로거 이름, 메시지가 포함되며, 처리되는 생각에 대한 구조화된 표현도 포함됩니다.
개발
저장소를 복제합니다. (설치와 같이)
git clone git@github.com:FradSer/mcp-server-mas-sequential-thinking.git cd mcp-server-mas-sequential-thinking가상 환경 설정: (권장)
python -m venv .venv source .venv/bin/activate # On Windows use `.venv\\Scripts\\activate`종속성 설치(dev 포함):
requirements-dev.txt또는pyproject.toml에 개발 도구(pytest,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]"검사 실행: 린터, 포매터, 테스트를 실행합니다(프로젝트 설정에 따라 명령을 조정합니다).
# Example commands (replace with actual commands used in the project) ruff check . --fix black . mypy . pytest기여: (기여 가이드라인을 추가하는 것을 고려하세요: 분기 전략, 풀 리퀘스트 프로세스, 코드 스타일).
특허
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