使用说明

项目简介

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{强度%}' 格式表示分析摘要。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/Gucci-Slides/fractal-thinking.git
    cd fractal-thinking
  2. 安装依赖:
    npm install
  3. 构建服务器:
    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' 配置块。

基本使用方法

  1. 启动服务器: 在仓库根目录下,运行以下命令启动服务器:

    npm start

    如果配置了 'FRACTAL_STORAGE_FILE' 环境变量,可以使用以下命令启动并指定存储文件:

    FRACTAL_STORAGE_FILE=my-thoughts.json npm start
  2. 使用 MCP 客户端连接: 将上述提供的服务器配置 JSON 添加到您的 MCP 客户端配置中(例如 Claude for Desktop 的配置文件)。

  3. 通过 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 -> (addFractalThought -> summarizeFractalAnalysis)' 的工作流程。
  • 添加想法后 必须立即 调用 'summarizeFractalAnalysis' 工具,以确保分析和缓存的正确性。
  • 使用 'forceSummarize: true' 参数可以强制重新生成摘要,即使缓存中已存在。

信息

分类

AI与计算