mcpField
S
Sequential Thinking Working Notes

Sequential Thinking Working Notes

本地服务
github.com/arben-adm记忆与知识9595 天前更新

关于 Sequential Thinking Working Notes

本地 MCP 服务,用 SQLite 会话保存可恢复的任务笔记、证据、决策、风险和后续行动。它记录调用方提供的内容,不会生成或评估推理。

主要功能

  1. 01基于 SQLite 的可恢复会话
  2. 02分类记录笔记与决策
  3. 03按标题或状态查找会话
  4. 04会话导出与导入
  5. 05笔记关联与分支
  6. 06写入重试幂等处理

适用场景

  1. 01重启后继续复杂任务
  2. 02在研究过程中记录证据与决策
  3. 03在会话中整理风险和后续行动

MCP 相关

它向 MCP 客户端提供会话管理工具,包括创建、添加、列出、读取、定稿、删除、导出和导入。服务支持 stdio;HTTP/SSE 仍属实验性。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"arben-adm-mcp-sequential-thinking": {
"command": "uvx",
"args": [
"mcp-sequential-thinking"
],
"env": {
"MCP_STORAGE_DIR": "<MCP_STORAGE_DIR>"
}
}
}
}
启动命令uvx mcp-sequential-thinking
需要配置的环境变量
MCP_STORAGE_DIRLocal plaintext storage directory; defaults to ~/.mcp_sequential_thinking

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

安装包
pypimcp-sequential-thinking0.7.0

工具

11

收录的工具列表 · 更新于 6 天前

参数类型必填说明
modestring否没有强制阶段或分类
titlestring是用于稍后恢复工作的目标或标题
request_idany否

详细介绍

MseeP.ai 安全评估徽章 已在 MseeP 验证

MCP Sequential Thinking

MCP Toplist Python 版本 许可证:MIT 代码风格:Ruff

一个本地 MCP 服务,用于记录可在之后继续使用的工作笔记:针对棘手任务的证据、决策、风险和后续行动,持久存储在 SQLite 中,并可在任何重启后读取。它只记录调用方写入的内容;不会生成、评判或改进推理,也绝不会要求提供隐藏的思维链。

Sequential Thinking 服务 MCP 服务

快速开始

python -m venv .venv && . .venv/bin/activate   # Windows: .venv\Scripts\Activate.ps1
python -m pip install -e .
python scripts/stdio_smoke.py                  # restart demo: write, restart, read back

客户端配置(Claude Desktop、Cursor 等):

{"mcpServers":{"working-notes":{
  "command":"/absolute/path/to/.venv/bin/mcp-sequential-thinking",
  "env":{"MCP_STORAGE_DIR":"/absolute/path/to/notes"}}}}

在 Windows 上使用 .venv\Scripts\mcp-sequential-thinking.exe。

典型会话:

{"tool":"create_session","arguments":{"title":"Choose a local store","request_id":"create-1"}}
{"tool":"add_step","arguments":{"session_id":"<id>","content":"Two writers need unique positions.","kind":"evidence","request_id":"step-1"}}
{"tool":"add_step","arguments":{"session_id":"<id>","content":"Use SQLite.","kind":"decision","request_id":"step-2"}}
{"tool":"read_session","arguments":{"session_id":"<id>"}}

重启后找不到 ID?list_sessions 可按标题查找会话。

工具

工具用途
create_session根据标题开始一个会话。
add_step添加笔记;kind 可以是 note(默认)、observation、evidence、assumption、option、risk、decision 或 next_action。
list_sessions按标题或状态查找会话。
read_sessionview="resume"(默认):显示活动笔记,决策优先。view="steps":显示带筛选条件的完整历史记录。
finalize_session保存调用方的结果和证据 ID;此后不能再添加步骤。
delete_session删除会话的数据库记录(导出文件和备份仍会保留)。
export_session / import_session导出或导入单个会话的 JSON 归档,文件限定在 MCP_STORAGE_DIR/exports 中。

笔记之间的链接。 parent_step_id 记录来源,supersedes_step_id 替换较早的笔记(继续查看时会隐藏该笔记,完整历史记录中则会保留),而 branch_from_step_id 用于开始一个命名分支。所有引用都限定在同一会话内。

重试。 每次写入都需要一个 request_id。使用相同 ID 和相同输入重复调用会返回原始结果;使用相同 ID 和不同输入则会返回 IDEMPOTENCY_CONFLICT。finalize_session 和 delete_session 还需要 expected_version。

分页和限制。 读取默认返回 20 条记录和 12,000 个字符 (limit ≤ 100,max_chars 为 1,000–50,000)。持续传递 cursor,直到其值为 null,并在分页期间保持相同的 view。 truncated 表示内容已缩短。如果笔记过大,无法在单个响应中返回,则会返回其首个片段;继续使用 step_id 和 content_offset 获取内容,直到 next_content_offset 为 null。

错误会设置 isError=true,并附带稳定的错误代码和简短提示,例如 INVALID_INPUT(附带 Fields: …)、UNKNOWN_SESSION、INVALID_REFERENCE、 CONFLICT(附带 current_version)、SESSION_FINALIZED、IDEMPOTENCY_CONFLICT、 STORAGE_BUSY(使用相同的 request_id 重试)、PATH_OUTSIDE_EXPORTS、 RESPONSE_LIMIT。

附加到笔记的来源由调用方提供,不会被获取或验证。

旧版工具(已弃用)

process_thought、generate_summary 和 clear_history,以及未指定 session_id 的 export_session / import_session,都在单个共享的 legacy 会话上运行。 这些工具仍为现有客户端保留;每个结果都包含 deprecation_notice。 新任务请使用会话 API。

  • 阶段:问题定义、研究、分析、综合、结论 (不区分大小写)。除非设置了 --strict-stages,否则顺序警告仅供参考。
  • main_line_progress 仅统计主线笔记,并以 total_thoughts 为基准; 它不代表任务完成度。
  • 旧版导入会替换旧版历史记录。
  • read_session(session_id="legacy") 可读取该历史记录;旧版分支 X 在其中显示为 legacy-X。

存储和运行

mcp-sequential-thinking              # stdio server
mcp-sequential-thinking --health     # diagnostic check
mcp-sequential-thinking --ephemeral  # in memory only, lost on exit
  • 数据以明文 SQLite 格式(WAL、synchronous FULL、5 秒忙碌超时)存储在 ~/.mcp_sequential_thinking(或 MCP_STORAGE_DIR)中。请使用本地磁盘;不支持 NFS/SMB 和多台主机。
  • 多个 stdio 服务可以共享同一个存储。本地 stdio 信任操作系统用户;会话 ID 不具备授权作用。HTTP/SSE 仍处于实验阶段。
  • 删除并不等同于安全擦除。没有自动保留策略。
  • 首次启动时,现有的 0.6 JSONL 历史记录会在单个事务中迁移到 SQLite,并保留 ID 和内容;源文件的备份会留在原处。 请先停止旧版 0.6 服务。新写入数据后不支持降级。

备份和恢复(所有会话,包括重试键):

python -m mcp_sequential_thinking.backup create  /path/to/storage /path/to/snapshot.sqlite3
python -m mcp_sequential_thinking.backup restore /path/to/NEW-storage /path/to/snapshot.sqlite3

恢复需要使用一个新目录。切勿在数据库文件仍处于运行状态时进行复制,否则会遗漏其 WAL。

已测试的客户端

客户端操作系统日期
Python MCP SDK 2.0.0 和最新版本,Python 3.10–3.14Linux、Windows每次 CI 运行
Claude DesktopLinux2026-10-21

开发

uv run --extra dev ruff check .
uv run --extra dev ruff format --check .
uv run --extra dev mypy --strict mcp_sequential_thinking
uv run --extra dev pytest --cov=mcp_sequential_thinking --cov-fail-under=85
rm -rf dist && uv run --extra dev --with build --with twine --with jsonschema python scripts/check_artifacts.py

制品检查会在隔离环境中构建并安装 wheel,然后执行真实的重启往返测试。创建 GitHub release 后,发布流程会通过 Trusted Publishing 发布经过测试的制品;版本号定义在 mcp_sequential_thinking/_version.py 中。详情请参阅 CHANGELOG.md。

评论

支持 Markdown

第一次接触 MCP?

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

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