mcpField
M
mcp-sequentialthinking-tools

mcp-sequentialthinking-tools

本地服务
github.com/spences10AI 与智能体5863 天前更新

关于 mcp-sequentialthinking-tools

mcp-sequentialthinking-tools 是一个轻量级 MCP 服务,用于记录分步推理过程,支持分支、修订和按会话保存历史。它不会自行发现或选择工具,只校验模型提供的工具推荐名称,适合需要可检查推理过程的长任务。

主要功能

  1. 01记录分步思考并保存历史
  2. 02支持修订与分支思考
  3. 03按会话隔离历史记录
  4. 04校验推荐工具名称是否存在
  5. 05对不可信文本进行注入模式过滤

适用场景

  1. 01将复杂问题拆解为可检查的步骤
  2. 02在长时间智能体运行中查看或清空推理历史

MCP 相关

该项目是 MCP 服务,提供 sequentialthinking_tools、get_thinking_history、clear_thinking_history 工具以及一个提示词。它记录和校验模型编写的工具计划,不连接或管理其他 MCP 服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sequentialthinking-tools": {
"command": "npx",
"args": [
"-y",
"mcp-sequentialthinking-tools"
],
"env": {
"MAX_HISTORY_SIZE": "<MAX_HISTORY_SIZE>"
}
}
}
}
启动命令npx -y mcp-sequentialthinking-tools
需要配置的环境变量
MAX_HISTORY_SIZE

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-sequentialthinking-tools

工具

3

收录的工具列表 · 更新于 3 周前

参数类型必填说明
session_idstring否可选的历史记录分组。默认为 "default"。
thoughtstring是当前思考步骤
thought_numbernumber是当前思考编号
total_thoughtsnumber是当前所需总思考次数的估计值
next_thought_neededboolean是是否还需要另一个思考步骤
is_revisionboolean否此步骤是否修订了某个思考步骤
revises_thoughtnumber否已修订的思考
branch_from_thoughtnumber否此分支起始的思考编号
branch_idstring否分支标识符
needs_more_thoughtsboolean否当估计值过低时设置
available_toolsarray否仅用于验证建议的可选工具名称/描述
recommended_toolsarray否由模型编写的可选工具计划;如果提供了 available_tools,则会验证该计划
remaining_stepsarray否可选的高层级剩余步骤

详细介绍

mcp-sequentialthinking-tools

CI built with vite+ tested with vitest

一个轻量级 MCP 服务,用于记录连续的推理步骤。它是一个带有历史记录、分支、修订元数据以及可选验证功能的草稿区,用于处理由模型撰写的工具计划。

它不会发现你的其他 MCP 工具,也不会替模型选择工具。如果你传入 available_tools 和 recommended_tools,服务会验证推荐的名称是否存在,并存储该步骤。

README 配图

为什么使用它?

当任务适合采用明确、可检查的推理方式时,可以使用它:

  • 将复杂问题拆分为多个步骤;
  • 修订计划或创建计划分支;
  • 按会话保留简短的推理历史;
  • 根据提供的工具列表验证工具计划中的名称;
  • 在较长的 Agent 运行期间清除或检查推理历史。

不要用于简单请求。它会增加开销。

工具

sequentialthinking_tools

记录一条想法。

必需参数:

  • thought — 当前推理步骤
  • thought_number — 当前步骤编号
  • total_thoughts — 当前估计值;若低于 thought_number,会自动调高
  • next_thought_needed — 是否需要下一条想法

可选参数:

  • session_id — 历史记录分组;默认为 default
  • is_revision、revises_thought
  • branch_from_thought、branch_id
  • needs_more_thoughts
  • available_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 — 默认为 default
  • branch_id — 可选的分支筛选条件
  • limit — 返回记录的最大数量;默认为 50,最大为 500
clear_thinking_history

清除一个会话或所有会话。

参数:

  • session_id — 默认为 default
  • all_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。

致谢

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。