本项目是一个基于 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 考虑更多创造性思维)。
LLM 可从特定思想“派生”出“分支”,以并行探索不同的推理线路。每个分支都会单独跟踪,方便管理需要共存的多种解决方案或想法。
服务器维护一个“短期”记忆缓冲区,记录 LLM 的十个最近思想,同时还有一个“长期”记忆库,可根据标签检索思想,用于总结 LLM 在整个主题上的思考过程历史。
目前,质量度量和元认知反馈是通过机械地从基于阶段的乘数应用于单一自报告质量分数中推导出来的。作为未来工作的一部分,计划添加更复杂的元认知反馈,包括思想内容的语义分析、思想验证过程以及对推理错误更智能的监控。
目前,服务器将所有思想存储在内存中,未持久化到文件或数据库,也没有用户界面用于审核思想空间或可视化心智图。作为未来工作的一部分,计划集成一个简单的可视化客户端,使用户能观看思想图的发展过程。
服务器公开了以下 MCP 工具:
创建思想历史中的一个思想,并记录该思想的类型、质量、内容及其与其他思想的关系。 参数:
thought:当前思想的内容thought_number:在序列中的当前位置total_thoughts:预期的思想总数next_thought_needed:是否需要另一个思想current_phase:当前阶段(例如:“定义问题”、“分析”、“构想”)related_tags:相关标签列表修订已有的思想。 参数:
thought_id:要修订的思想 IDnew_content:新的内容new_quality_score:新的质量分数(可选)根据当前上下文检索相关思想。 参数:
current_context:当前上下文max_results:最大结果数获取整个思考过程的摘要。 参数:
start_time:开始时间(可选)end_time:结束时间(可选){
"action": "capture_thought",
"thought": "我们需要解决用户的问题,首先明确问题是什么。",
"thought_number": 1,
"total_thoughts": 5,
"next_thought_needed": true,
"current_phase": "定义问题",
"related_tags": ["问题定义"]
}
{
"action": "capture_thought",
// 这里原文档未完整给出分析阶段的代码内容,保持原样
}