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 スキーマ検証; 堅牢なデータ検証。 | 基本的な型チェック。信頼性は低くなります。 |
外部ツール | 統合型 (研究者経由の Exa) ; 研究タスクを実行できます。 | なし。 |
ログ記録 | 構造化された Python ログ (ファイル + コンソール) ; 構成可能。 | Chalk を使用したコンソール ログ記録、基本。 |
言語とエコシステム | Python ; Python AI/ML エコシステムを活用します。 | TypeScript/Node.js 。 |
本質的には、このシステムは受動的な思考記録装置から、AI エージェントの共同チームによって駆動される能動的な思考処理装置へと進化しました。
仕組み(座標モード)
**開始:**外部の LLM は
sequential-thinking-starterプロンプトを使用して問題を定義し、プロセスを開始します。ツール呼び出し: LLM は、
ThoughtDataPydantic モデルに従って構造化された最初の (または後続の) 思考でsequentialthinkingツールを呼び出します。**検証とログ記録:**ツールは呼び出しを受け取り、Pydantic を使用して入力を検証し、受信した考えをログに記録し、
AppContextを介して履歴/ブランチの状態を更新します。**コーディネーターの呼び出し:**中核となる思考内容 (リビジョン/ブランチに関するコンテキストとともに) が
SequentialThinkingTeamのarunメソッドに渡されます。コーディネーターによる分析と委任:
Team(コーディネーターとして機能) は入力された考えを分析し、それをサブタスクに分割し、これらのサブタスクを最も関連性の高い専門エージェント (分析タスクの場合はアナライザー、情報ニーズの場合はリサーチャーなど) に委任します。**専門家による実行:**委任されたエージェントは、指示、モデル、ツール (
ThinkingToolsやExaToolsなど) を使用して、特定のサブタスクを実行します。**回答の収集:**スペシャリストは結果をコーディネーターに返します。
**統合とガイダンス:**コーディネーターは、スペシャリストの回答を一つのまとまりのあるアウトプットに統合します。このアウトプットには、スペシャリストの知見(特に批評家と分析者からの知見)に基づいた修正や分岐の提案が含まれる場合があります。また、LLM(法学修士)が次の考えをまとめるためのガイダンスも提供します。
**戻り値:**ツールは、コーディネーターの合成応答、ステータス、更新されたコンテキスト (ブランチ、履歴の長さ) を含む JSON 文字列を返します。
**反復:**呼び出し元の LLM はコーディネーターの応答とガイダンスを使用して次の
sequentialthinkingツール呼び出しを策定し、提案に応じて修正または分岐をトリガーする可能性があります。
トークン消費警告
⚠️トークン使用量の増加:マルチエージェントシステムアーキテクチャのため、このツールはシングルエージェントの代替ツールや以前のTypeScriptバージョンよりも大幅に多くのトークンを消費します。sequentialthinking sequentialthinking各呼び出しは以下を呼び出します。
コーディネーター エージェント (
Team自体)。複数の専門エージェント (コーディネーターの委任に応じて、プランナー、リサーチャー、アナライザー、批評家、シンセサイザーのいずれかになる可能性あり)。
この並列処理により、単一エージェントや状態追跡アプローチと比較して、トークン使用量が大幅に増加します(思考ステップごとに3~6倍以上になる可能性があります)。それに応じて予算と計画を立ててください。このツールは、トークン効率よりも分析の深さと品質を優先します。
前提条件
Python 3.10以上
互換性のある LLM API へのアクセス(
agno用に構成)。システムは現在以下をサポートしています。Groq:
GROQ_API_KEYが必要です。DeepSeek:
DEEPSEEK_API_KEYが必要です。OpenRouter:
OPENROUTER_API_KEYが必要です。LLM_PROVIDER環境変数を使用して、必要なプロバイダーを構成します (デフォルトはdeepseek)。
Exa API キー (Researcher エージェントの機能を使用する場合にのみ必要)
EXA_API_KEY環境変数を介して設定します。
uvパッケージ マネージャー (推奨) またはpip。
MCP サーバー構成 (クライアント側)
このサーバーは、MCPの想定通り、stdio経由で通信する標準実行スクリプトとして実行されます。具体的な設定方法は、MCPクライアントの実装によって異なります。外部ツールサーバーの統合に関する詳細は、クライアントのドキュメントを参照してください。
MCP クライアント構成内のenvセクションには、選択したLLM_PROVIDERの API キーを含める必要があります。
{
"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
}
}
}
}インストールとセットアップ
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は、専門エージェント(プランナー、リサーチャーなど)によって使用されます。これらのエージェントは、特定のサブタスクを担当します。タスクの複雑さや予算/パフォーマンスのニーズに応じて、より高速またはコスト効率の高いモデル(例: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モジュールを使用します。ローテーションファイル ハンドラー (例: 10 MB 制限、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貢献: (貢献ガイドラインの追加を検討してください: ブランチ戦略、プル リクエスト プロセス、コード スタイル)。
ライセンス
マサチューセッツ工科大学
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