使用说明
项目简介
Fractal Thinking MCP Server (分形思维MCP服务器) 是一款基于 Model Context Protocol (MCP) 构建的后端应用,旨在为大型语言模型 (LLM) 客户端提供结构化思维分析能力。该服务器实现了分形思维方法,帮助用户将复杂问题分解为更小、更易管理的部分,并分析问题中的模式和关联性。通过资源管理、工具执行和Prompt模板渲染,Fractal Thinking MCP Server 为LLM应用提供强大的上下文服务框架,提升LLM在复杂任务中的表现。
主要功能点
- 资源管理:
- 提供 'thoughts://tree' 资源,用于访问完整的分形思维树结构。
- 提供 'thoughts://thought/{thoughtId}' 资源,用于访问特定思维节点及其子节点。
- 工具执行:
- 'breakDownThought': 使用预定义的分解模式(如问题-方案、概念-实现等)将一个复杂的想法分解为更小的分形分支。
- 'addFractalThought': 向思维树添加新的想法节点,并支持分形分析属性的设置(如是否完成、是否需要深入分析)。
- 'summarizeFractalAnalysis': 生成并缓存思维分析的简洁摘要,用于快速理解思维结构。重要提示:添加想法后必须立即调用此工具进行总结和缓存。
- 'analyzeFractalDepth': 对特定思维节点执行深入的分形模式分析,返回详细的分析指标和洞察。
- 分析特性:
- 模式识别: 识别跨越不同尺度的递归模式。
- 涌现属性: 检测由模式交互产生的属性。
- 缓存系统: 高效存储和检索分析结果,提升性能。
- 摘要格式: 使用简洁的 'D{深度}|C{完成度%}|P[模式]|E[属性]|S{强度%}' 格式表示分析摘要。
安装步骤
- 克隆仓库:
git clone https://github.com/Gucci-Slides/fractal-thinking.git cd fractal-thinking - 安装依赖:
npm install - 构建服务器:
npm run build
服务器配置
Fractal Thinking MCP Server 旨在与 MCP 客户端(如 Claude for Desktop)配合使用。以下是配置 Fractal Thinking MCP Server 的 JSON 示例,用于配置 Claude for Desktop 或其他 MCP 客户端。您需要根据实际文件路径进行调整。
{ "mcpServers": { "fractalThinking": { "command": "node", // 启动服务器的命令,这里使用 node.js "args": [ "/path/to/fractal-thinking/build/index.js" // 服务器入口文件路径,请替换为实际路径 ], "env": { "FRACTAL_STORAGE_FILE": "/path/to/storage/fractal-tree.json" // 可选:指定思维树数据存储文件路径,用于持久化存储,请替换为您希望存储文件的实际路径 } } } }
配置参数说明:
- 'server name': 'fractalThinking' - 服务器名称,用于在MCP客户端中标识和引用。
- 'command': 'node' - 运行服务器端代码的命令,本服务使用 Node.js 运行时。
- 'args': '["/path/to/fractal-thinking/build/index.js"]' - 命令参数,指向编译后的服务器入口文件 'index.js'。请务必将 '/path/to/fractal-thinking/build/index.js' 替换为实际的文件路径。
- 'env': '{ "FRACTAL_STORAGE_FILE": "/path/to/storage/fractal-tree.json" }' - 环境变量配置(可选)。'FRACTAL_STORAGE_FILE' 用于指定思维树数据存储的 JSON 文件路径,如果需要持久化存储思维树,请配置此项并替换为实际的文件路径。如果不需要持久化,可以移除 'env' 配置块。
基本使用方法
-
启动服务器: 在仓库根目录下,运行以下命令启动服务器:
npm start如果配置了 'FRACTAL_STORAGE_FILE' 环境变量,可以使用以下命令启动并指定存储文件:
FRACTAL_STORAGE_FILE=my-thoughts.json npm start -
使用 MCP 客户端连接: 将上述提供的服务器配置 JSON 添加到您的 MCP 客户端配置中(例如 Claude for Desktop 的配置文件)。
-
通过 MCP 客户端调用工具:
- 分解初始想法: 使用 'breakDownThought' 工具将复杂想法分解为分形分支。例如:
{ "tool_name": "breakDownThought", "parameters": { "thought": "复杂系统设计", "decompositionPattern": "system-components" } } - 添加和总结想法: 始终配对使用 'addFractalThought' 和 'summarizeFractalAnalysis' 工具。先添加想法,然后立即使用返回的 'thoughtId' 总结分析。例如:
// 添加想法 { "tool_name": "addFractalThought", "parameters": { "thought": "系统组件 X", "isComplete": false, "needsDeeperAnalysis": true } } // 获取 addFractalThought 响应中的 thoughtId,并立即调用 summarizeFractalAnalysis { "tool_name": "summarizeFractalAnalysis", "parameters": { "thoughtId": "returned_id_from_add", // 替换为实际的 thoughtId "forceSummarize": true } } - 深入分析: 可选地使用 'analyzeFractalDepth' 工具对特定想法进行深入分析。例如:
{ "tool_name": "analyzeFractalDepth", "parameters": { "thoughtId": "thought_id" // 替换为要分析的 thoughtId } }
- 分解初始想法: 使用 'breakDownThought' 工具将复杂想法分解为分形分支。例如:
重要使用流程:
- 务必遵循 'breakDownThought -> (addFractalThought -> summarizeFractalAnalysis)' 的工作流程。
- 添加想法后 必须立即 调用 'summarizeFractalAnalysis' 工具,以确保分析和缓存的正确性。
- 使用 'forceSummarize: true' 参数可以强制重新生成摘要,即使缓存中已存在。
信息
分类
AI与计算