关于 mcp-sequentialthinking-tools
mcp-sequentialthinking-tools 是一个轻量级 MCP 服务,用于记录分步推理过程,支持分支、修订和按会话保存历史。它不会自行发现或选择工具,只校验模型提供的工具推荐名称,适合需要可检查推理过程的长任务。
主要功能
- 01记录分步思考并保存历史
- 02支持修订与分支思考
- 03按会话隔离历史记录
- 04校验推荐工具名称是否存在
- 05对不可信文本进行注入模式过滤
适用场景
- 01将复杂问题拆解为可检查的步骤
- 02在长时间智能体运行中查看或清空推理历史
MCP 相关
该项目是 MCP 服务,提供 sequentialthinking_tools、get_thinking_history、clear_thinking_history 工具以及一个提示词。它记录和校验模型编写的工具计划,不连接或管理其他 MCP 服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| session_id | string | 否 | 可选的历史记录分组。默认为 "default"。 |
| thought | string | 是 | 当前思考步骤 |
| thought_number | number | 是 | 当前思考编号 |
| total_thoughts | number | 是 | 当前所需总思考次数的估计值 |
| next_thought_needed | boolean | 是 | 是否还需要另一个思考步骤 |
| is_revision | boolean | 否 | 此步骤是否修订了某个思考步骤 |
| revises_thought | number | 否 | 已修订的思考 |
| branch_from_thought | number | 否 | 此分支起始的思考编号 |
| branch_id | string | 否 | 分支标识符 |
| needs_more_thoughts | boolean | 否 | 当估计值过低时设置 |
| available_tools | array | 否 | 仅用于验证建议的可选工具名称/描述 |
| recommended_tools | array | 否 | 由模型编写的可选工具计划;如果提供了 available_tools,则会验证该计划 |
| remaining_steps | array | 否 | 可选的高层级剩余步骤 |
详细介绍
mcp-sequentialthinking-tools
一个轻量级 MCP 服务,用于记录连续的推理步骤。它是一个带有历史记录、分支、修订元数据以及可选验证功能的草稿区,用于处理由模型撰写的工具计划。
它不会发现你的其他 MCP 工具,也不会替模型选择工具。如果你传入 available_tools 和 recommended_tools,服务会验证推荐的名称是否存在,并存储该步骤。
为什么使用它?
当任务适合采用明确、可检查的推理方式时,可以使用它:
- 将复杂问题拆分为多个步骤;
- 修订计划或创建计划分支;
- 按会话保留简短的推理历史;
- 根据提供的工具列表验证工具计划中的名称;
- 在较长的 Agent 运行期间清除或检查推理历史。
不要用于简单请求。它会增加开销。
工具
sequentialthinking_tools
记录一条想法。
必需参数:
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
清除一个会话或所有会话。
参数:
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,并附带一个小型 stdio 传输层,可接受标准的 Content-Length 分帧 MCP 消息,以及较旧的 tmcp 工具所用的换行符分隔 JSON。
开发
pnpm install
pnpm test
pnpm build
pnpm check
本项目使用 vite-plus 统筹构建、测试、格式化和 lint。
发布
pnpm changeset
pnpm changeset version
pnpm release
许可证
MIT License — 参见 LICENSE。
致谢
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。