结构化思维 MCP 服务器是一个用 TypeScript 实现的模型上下文协议(MCP)服务器,它基于 Arben Ademi 的 顺序思维 Python 服务器开发。该项目允许大语言模型(LLMs)以编程方式构建心智地图来探索想法空间,并强制执行“元认知”自我反思。
在 Claude Desktop、Cursor 或其他 MCP 客户端中设置工具配置如下:
{
"structured-thinking": {
"command": "npx",
"args": ["-y", "structured-thinking"]
}
}
当 LLM 捕获一个思想时,会为该思想分配一个 0 到 1 之间的质量评分。此评分与思想的阶段相结合,为 LLM 提供“元认知”反馈,指导其“引导”思考过程。
每个思想都会被标记为某个阶段(如问题定义、分析、构想),以帮助管理 LLM 思考过程的生命周期。若 LLM 在给定阶段花费时间过长或产生低质量思想,服务器会提供反馈,提示其将思考转向其他阶段,或考虑与当前阶段不太典型的战略(例如,在演绎模式下鼓励考虑更多创造性思想)。
LLM 可以从特定思想 spawns “分支”,并行探索不同的推理线路。每个分支会被单独跟踪,便于管理多种解决方案或想法并存的场景。
服务器维护一个包含 LLM 最近十个思想的“短期”记忆缓冲区,以及可根据标签检索的“长期”记忆,用于总结整个主题历史。
目前,质量指标和元认知反馈是通过基于阶段的简单乘数从单个自报告质量评分中机械推导出来的。未来计划添加更复杂的元认知反馈,包括思想内容的语义分析、思想验证流程以及对推理错误更智能的监控。
目前,服务器将所有想法存储在内存中,未持久化到文件或数据库,也没有用于审查思想空间或可视化心智地图的用户界面。未来计划集成一个简单的可视化客户端,方便用户观看思想图谱的演变。
该服务器公开了以下 MCP 工具:
在思想历史中创建一个思想,并记录有关该思想类型、质量、内容及其与其他思想关系的元数据。
| 参数 | 详情 |
|---|---|
thought |
思想的内容 |
thought_number |
当前序列号 |
total_thoughts |
预计总思想数 |
next_thought_needed |
是否需要另一个思想 |
stage |
当前思考阶段(例如“问题定义”、“分析”) |
branch |
分支 ID |
parent_id |
父亲 ID |
context |
上下文信息 |
修订或更新已存在的思想。
| 参数 | 详情 |
|---|---|
thought_id |
思想 ID |
new_thought |
新的思想内容 |
stage |
新阶段(可选) |
branch |
分支 ID(可选) |
合并两个或多个思想。
| 参数 | 详情 |
|---|---|
source_ids |
源思想 ID 列表 |
target_id |
目标思想 ID |
context |
上下文信息(可选) |
删除特定的思想及其所有相关数据。
| 参数 | 详情 |
|---|---|
thought_id |
思想 ID |
recursive |
是否递归删除分支(可选,默认为 false) |
// 捕获新思想
capture_thought({
thought: "我们需要增加用户认证功能",
stage: "问题定义",
branch: "auth-feature"
});
// 修订现有思想
revise_thought({
thought_id: "12345",
new_thought: "我们需要在下个 sprint 中实现用户认证功能"
});
// 合并思想
merge_thoughts({
source_ids: ["67890", "54321"],
target_id: "43210"
});
// 删除旧思想
delete_thought({
thought_id: "12345",
recursive: true
});
这个 TypeScript MCP 服务器为 LLM 提供了一个结构化环境,支持复杂的思考和问题解决过程。用户可通过捕获、修订、合并和删除思想,有效管理思维流程并按需调整。尽管当前存在一些局限性,但未来将致力于增强其功能和扩展能力。