mcp-sequentialthinking-tools
mcp-sequentialthinking-tools
逐次的な推論ステップを記録するための軽量なMCPサーバーです。これは、履歴、ブランチ、リビジョンメタデータ、およびモデルが作成したツールプランのオプションの検証機能を備えたスクラッチパッドです。
このサーバーは、他のMCPツールを自動的に検出したり、モデルのためにツールを選択したりすることはありません。available_tools と recommended_tools を渡すと、サーバーは推奨された名前が存在するかどうかを検証し、そのステップを保存します。
なぜこれを使うのか?
明示的で検証可能な推論がタスクに役立つ場合に使用してください:
複雑な問題をステップに分解する
プランの修正や分岐を行う
セッションごとに小さな推論履歴を保持する
提供されたツールリストに対してツールプラン名を検証する
長いエージェント実行中に推論履歴をクリアまたは確認する
些細なリクエストには使用しないでください。オーバーヘッドが増加します。
Related MCP server: Sequential-Thinking
ツール
sequentialthinking_tools
思考を1つ記録します。
必須パラメータ:
thought— 現在の推論ステップthought_number— 現在のステップ番号total_thoughts— 現在の推定値。thought_numberより小さい場合は自動的に引き上げられますnext_thought_needed— 次の思考が必要かどうか
オプションパラメータ:
session_id— 履歴バケット。デフォルトはdefaultis_revision,revises_thoughtbranch_from_thought,branch_idneeds_more_thoughtsavailable_tools— ツール名の配列、または{ name, description }オブジェクトrecommended_tools— 検証/保存するためのモデル作成による推奨事項remaining_steps— 今後のステップの短いリスト
例:
{
"session_id": "svelte-debug",
"thought": "First inspect the route files, then run the failing check.",
"thought_number": 1,
"total_thoughts": 3,
"next_thought_needed": true,
"available_tools": ["read", "bash"],
"recommended_tools": [
{
"tool_name": "read",
"confidence": 0.9,
"rationale": "Need to inspect the relevant files before editing.",
"priority": 1
}
]
}recommended_tools に available_tools に存在しない名前が含まれている場合、呼び出しは isError: true を返し、思考は保存されません。
セキュリティ体制
このサーバーは、思考テキスト、ツール説明、根拠、および残りのステップのテキストを信頼できない入力として扱います。プロンプトインジェクションのようなテキストはスキャンされ、保存または履歴で返される前に編集(削除)されます。編集が行われた呼び出しには、どのフィールドが一致したかを示す security_warnings が含まれます。
これは防御的なフィルタリングであり、任意の敵対的テキストが安全であることを保証するものではありません。思考やツールの説明に秘密情報を含めないでください。
get_thinking_history
セッションの保存された思考を返します。
パラメータ:
session_id— デフォルトはdefaultbranch_id— オプションのブランチフィルタlimit— 返すレコードの最大数。デフォルトは50、最大は500
clear_thinking_history
1つのセッションまたはすべてのセッションをクリアします。
パラメータ:
session_id— デフォルトはdefaultall_sessions— すべての履歴バケットをクリアする
プロンプト
sequential-thinking-guidance
このサーバーを外部の推論エンジンとしてではなく、スクラッチパッドおよびバリデーターとして誠実に使用する方法をモデルに伝える短いプロンプトです。
設定
Claude Desktop / 互換性のあるMCPクライアント
{
"mcpServers": {
"mcp-sequentialthinking-tools": {
"command": "npx",
"args": ["-y", "mcp-sequentialthinking-tools"],
"env": {
"MAX_HISTORY_SIZE": "1000"
}
}
}
}MAX_HISTORY_SIZE はセッションごとで、デフォルトは 1000 です。
このサーバーは tmcp を使用しており、標準の Content-Length でフレーム化されたMCPメッセージと、古い tmcp ツールで使用される改行区切りのJSONの両方を受け入れる小さなstdioトランスポートが含まれています。
開発
pnpm install
pnpm test
pnpm build
pnpm checkこのプロジェクトは、ビルド、テスト、フォーマット、およびリントのオーケストレーションに vite-plus を使用しています。
公開
pnpm changeset
pnpm changeset version
pnpm releaseライセンス
MIT License — LICENSE を参照してください。
謝辞
Model Context Protocol に基づいて構築されています
MCP Sequential Thinking Server から適応されました
Available Tools
3 toolsclear_thinking_historyClear recorded sequential-thinking history for one session or all sessions.C
Clear recorded sequential-thinking history for one session or all sessions.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | No | History bucket to clear | |
| all_sessions | No | Clear every history bucket |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden for what is clearly a destructive operation. It never states that clearing is irreversible, whether an in-progress thinking session is affected, or whether confirmation/permissions are required — only the verb 'Clear' implies data loss.
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?
A single front-loaded sentence with no filler; the scope qualifier comes at the end but the core action leads. It is efficient, though it duplicates the title almost verbatim, so brevity comes at the cost of added information.
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?
For a destructive tool with no annotations, no output schema, and zero required parameters, the description is too thin. It omits irreversibility, default behavior when neither parameter is supplied, and any return/confirmation semantics an agent needs to call it safely.
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 description coverage is 100%, so the schema already documents 'session_id' and 'all_sessions'; baseline is 3. The description's 'one session or all sessions' loosely mirrors the two parameters but adds no format, default, or interaction details (e.g., behavior when both are omitted).
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?
Tautological: description restates name/title.
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?
There is no when-to-use or when-not-to-use guidance, no mention of prerequisites, and no pointer to the sibling get_thinking_history or sequentialthinking_tools. The phrase 'one session or all sessions' hints at the parameter choice but does not tell the agent which situation calls for which scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_thinking_historyReturn recorded thoughts for a session. Use this to inspect or resume prior reasoning.C
Return recorded thoughts for a session. Use this to inspect or resume prior reasoning.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum records to return; default 50 | |
| branch_id | No | Optional branch filter | |
| session_id | No | History bucket to inspect |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It implies a read operation ('Return', 'inspect') but says nothing about ordering, truncation, default limits, or what a returned thought record looks like — for a history-retrieval tool with zero annotation coverage this is a meaningful gap.
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?
Two short front-loaded sentences with no padding. The first sentence duplicates the title verbatim, which is mildly redundant rather than wasteful, so it stays efficient overall.
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?
For a simple three-parameter read tool whose schema is fully documented, the description is adequate but thin. With no output schema, it never describes the shape or content of returned thought records, leaving the agent to discover the return format empirically.
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 description coverage is 100%, documenting limit, branch_id, and session_id, so the baseline is 3. The description adds no meaning beyond the schema — it does not explain how branch_id interacts with session_id or what the limit default means in practice.
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?
Tautological: description restates name/title.
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?
'Use this to inspect or resume prior reasoning' gives implied usage context, but there is no explicit when-not guidance and no mention of the alternative clear_thinking_history or sequentialthinking_tools. The agent must infer which tool to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sequentialthinking_toolsRecord one step of sequential reasoning. Optionally include available_tools and recommended_tools; recommendations are validated, not generated, by this server.C
Record one step of sequential reasoning. Optionally include available_tools and recommended_tools; recommendations are validated, not generated, by this server.
| Name | Required | Description | Default |
|---|---|---|---|
| thought | Yes | Current thinking step | |
| branch_id | No | Branch identifier | |
| session_id | No | Optional history bucket. Defaults to "default". | |
| is_revision | No | Whether this revises a thought | |
| thought_number | Yes | Current thought number | |
| total_thoughts | Yes | Current estimate of total thoughts needed | |
| available_tools | No | Optional tool names/descriptions used only to validate recommendations | |
| remaining_steps | No | Optional high-level remaining steps | |
| revises_thought | No | Thought revised | |
| recommended_tools | No | Optional tool plan authored by the model; validated if available_tools is supplied | |
| branch_from_thought | No | Thought number this branch starts from | |
| needs_more_thoughts | No | Set when the estimate was too low | |
| next_thought_needed | Yes | Whether another thought is needed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose one genuinely non-obvious trait: recommendations are validated, not generated, by this server. However, it omits persistence behavior, whether steps accumulate in a session, and what the recorded step does for subsequent calls.
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?
Compact and front-loaded: the core action leads, and the optional-input/validation caveat follows in one clause. No filler sentences, though the text largely mirrors the title.
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?
For a 13-parameter tool with no annotations and no output schema, the description covers purpose and one behavioral trait but says nothing about session persistence, iterative invocation, or return behavior. The rich schema compensates for the parameter gaps, keeping this at a minimum-viable level.
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 description coverage is 100%, so the schema already documents all 13 parameters, making a 3 the baseline. The description adds only a reinforcing note that recommendations are validated against available_tools rather than invented, which the schema already implies.
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?
Tautological: description restates name/title.
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?
There is no statement of when to call this versus the history siblings, no note that it is meant to be invoked repeatedly to build a chain, and no prerequisites. The only usage-adjacent content is that available_tools and recommended_tools are optional, which is parameter guidance rather than when-to-use guidance.
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.
3 tool updates
v0.1.1- Added
clear_thinking_history - Added
get_thinking_history - Changed
sequentialthinking_tools15 fields changed- removed
Input schema / properties / available_mcp_toolsRemoved value: -{ - "description": "Array of MCP tool names available for use (e.g., [\"mcp-omnisearch\", \"mcp-turso-cloud\"])", - "items": { - "type": "string" - }, - "type": "array" -} - added
Input schema / properties / available_toolsAdded value: +{ + "description": "Optional tool names/descriptions used only to validate recommendations", + "items": { + "anyOf": [ + { + "description": "Tool name", + "type": "string" + }, + { + "properties": { + "description": { + "description": "Brief tool description", + "type": "string" + }, + "name": { + "description": "Tool name", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + ] + }, + "type": "array" +} - changed
Input schema / properties / branch_from_thought / descriptionPrevious value: -"Branching point thought number"New value: +"Thought number this branch starts from" - removed
Input schema / properties / current_stepRemoved value: -{ - "description": "Current step recommendation", - "properties": { - "expected_outcome": { - "description": "What to expect from this step", - "type": "string" - }, - "next_step_conditions": { - "description": "Conditions to consider for the next step", - "items": { - "type": "string" - }, - "type": "array" - }, - "recommended_tools": { - "description": "Tools recommended for this step", - "items": { - "properties": { - "alternatives": { - "description": "Alternative tools that could be used", - "items": { - "type": "string" - }, - "type": "array" - }, - "confidence": { - "description": "0-1 indicating confidence in recommendation", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "priority": { - "description": "Order in the recommendation sequence", - "type": "number" - }, - "rationale": { - "description": "Why this tool is recommended", - "type": "string" - }, - "suggested_inputs": { - "additionalProperties": {}, - "description": "Optional suggested parameters", - "type": "object" - }, - "tool_name": { - "description": "Name of the tool being recommended", - "type": "string" - } - }, - "required": [ - "tool_name", - "confidence", - "rationale", - "priority" - ], - "type": "object" - }, - "type": "array" - }, - "step_description": { - "description": "What needs to be done", - "type": "string" - } - }, - "required": [ - "step_description", - "recommended_tools", - "expected_outcome" - ], - "type": "object" -} - changed
Input schema / properties / is_revision / descriptionPrevious value: -"Whether this revises previous thinking"New value: +"Whether this revises a thought" - changed
Input schema / properties / needs_more_thoughts / descriptionPrevious value: -"If more thoughts are needed"New value: +"Set when the estimate was too low" - changed
Input schema / properties / next_thought_needed / descriptionPrevious value: -"Whether another thought step is needed"New value: +"Whether another thought is needed" - removed
Input schema / properties / previous_stepsRemoved value: -{ - "description": "Steps already recommended", - "items": { - "properties": { - "expected_outcome": { - "description": "What to expect from this step", - "type": "string" - }, - "next_step_conditions": { - "description": "Conditions to consider for the next step", - "items": { - "type": "string" - }, - "type": "array" - }, - "recommended_tools": { - "description": "Tools recommended for this step", - "items": { - "properties": { - "alternatives": { - "description": "Alternative tools that could be used", - "items": { - "type": "string" - }, - "type": "array" - }, - "confidence": { - "description": "0-1 indicating confidence in recommendation", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "priority": { - "description": "Order in the recommendation sequence", - "type": "number" - }, - "rationale": { - "description": "Why this tool is recommended", - "type": "string" - }, - "suggested_inputs": { - "additionalProperties": {}, - "description": "Optional suggested parameters", - "type": "object" - }, - "tool_name": { - "description": "Name of the tool being recommended", - "type": "string" - } - }, - "required": [ - "tool_name", - "confidence", - "rationale", - "priority" - ], - "type": "object" - }, - "type": "array" - }, - "step_description": { - "description": "What needs to be done", - "type": "string" - } - }, - "required": [ - "step_description", - "recommended_tools", - "expected_outcome" - ], - "type": "object" - }, - "type": "array" -} - added
Input schema / properties / recommended_toolsAdded value: +{ + "description": "Optional tool plan authored by the model; validated if available_tools is supplied", + "items": { + "properties": { + "alternatives": { + "description": "Alternative tool names", + "items": { + "type": "string" + }, + "type": "array" + }, + "confidence": { + "description": "Optional 0-1 confidence score", + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "priority": { + "description": "Optional execution order hint", + "minimum": 1, + "type": "number" + }, + "rationale": { + "description": "Why this tool may help", + "type": "string" + }, + "suggested_inputs": { + "additionalProperties": {}, + "description": "Optional suggested tool arguments", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "tool_name": { + "description": "Name of the tool being recommended", + "type": "string" + } + }, + "required": [ + "tool_name" + ], + "type": "object" + }, + "type": "array" +} - changed
Input schema / properties / remaining_steps / descriptionPrevious value: -"High-level descriptions of upcoming steps"New value: +"Optional high-level remaining steps" - changed
Input schema / properties / revises_thought / descriptionPrevious value: -"Which thought is being reconsidered"New value: +"Thought revised" - added
Input schema / properties / session_idAdded value: +{ + "description": "Optional history bucket. Defaults to \"default\".", + "type": "string" +} - changed
Input schema / properties / thought / descriptionPrevious value: -"Your current thinking step"New value: +"Current thinking step" - changed
Input schema / properties / total_thoughts / descriptionPrevious value: -"Estimated total thoughts needed"New value: +"Current estimate of total thoughts needed" - changed
Input schema / requiredPrevious value: -[ - "available_mcp_tools", - "thought", - "next_thought_needed", - "thought_number", - "total_thoughts" -]New value: +[ + "thought", + "thought_number", + "total_thoughts", + "next_thought_needed" +]
1 tool update
v1.0.0- Changed
sequentialthinking_tools7 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / branch_from_thought / typePrevious value: -"integer"New value: +"number" - added
Input schema / properties / current_step / properties / recommended_tools / items / properties / suggested_inputs / additionalPropertiesAdded value: +{} - added
Input schema / properties / previous_steps / items / properties / recommended_tools / items / properties / suggested_inputs / additionalPropertiesAdded value: +{} - changed
Input schema / properties / revises_thought / typePrevious value: -"integer"New value: +"number" - changed
Input schema / properties / thought_number / typePrevious value: -"integer"New value: +"number" - changed
Input schema / properties / total_thoughts / typePrevious value: -"integer"New value: +"number"
1 tool update
- First observed
sequentialthinking_tools
TDQS
Scored across 3 tools
The three tools map cleanly to distinct actions on the same resource: write a thought, read the history, and clear it. There is no overlap or risk of misselection between recording, retrieving, and clearing.
get_thinking_history and clear_thinking_history follow a consistent verb_noun pattern, but sequentialthinking_tools breaks it entirely, using a compound noun with no verb and no clear action cue. The mix is readable but not uniform.
Three tools is lean but adequate for a reasoning-history server covering write, read, and clear. It is on the thin side, with no session-listing or search capability to round it out.
The record/get/clear trio covers the basic lifecycle of a thinking log with no dead ends. Minor gaps exist, such as listing sessions or fetching a single thought by id, which agents could work around.
Maintenance
Related MCP Connectors
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server for generating rough-draft project plans from natural-language prompts.
Hybrid human + AI expertise for faster, trusted answers and decisions via MCP Server.
Related MCP Servers
- AlicenseAqualityAmaintenanceThis server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.5102 PyPI959MIT
- 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
- AlicenseNot gradedqualityDmaintenanceA sequential thinking tool based on the MCP protocol, used to break down complex problems into manageable steps and provide intelligent tool recommendations for each step.2Apache 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.141 npm41MIT