Branch Thinking MCP 服务器使用说明

项目简介

Branch Thinking 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在帮助用户在使用大型语言模型(LLM)时,更好地组织和管理复杂的思考过程。它通过创建和管理多个思考分支,支持在不同分支之间建立联系和交叉引用,并能从关键点中生成洞察,从而辅助用户进行更深入、更结构化的思考。

主要功能点

  • 分支管理:创建、激活、列出和切换不同的思考分支,允许用户并行探索多个想法或解决方案。
  • 交叉引用:支持在不同思考分支之间创建关联,明确分支之间的关系类型(如互补、矛盾、构建于其上等),增强思考的连贯性和深度。
  • 洞察生成:能够从用户标记的关键点中自动生成洞察,帮助用户提炼思考成果,发现潜在的模式和联系。
  • 优先级跟踪:根据分支的置信度和与其他分支的连接,跟踪和调整思考分支的优先级,辅助用户集中精力于更有价值的分支。
  • 历史记录:查看每个思考分支的完整历史记录,回顾思考过程,方便追溯和总结。

安装步骤

  1. 下载代码:从 GitHub 仓库 https://github.com/m-siles/branch-thinking 下载或克隆代码到本地。
  2. 安装依赖:在项目根目录下打开终端,运行 'npm install' 安装项目依赖。
  3. 构建项目:运行 'npm run build' 构建项目,生成可执行的 JavaScript 文件。

服务器配置

要将 Branch Thinking 服务器配置为 MCP 工具,您需要在 MCP 客户端(例如 Claude 桌面应用)的配置文件中添加以下配置信息。以下以 'claude_desktop_config.json' 为例,展示如何配置:

"branch-thinking": {
  "command": "node",
  "args": [
    "/your-custom-mcp-dir-here/branch-thinking/dist/index.js"
  ]
}

配置参数说明:

  • '"branch-thinking"': 工具的名称,在客户端配置文件中作为工具的标识符。可以自定义,但需要与后续调用工具时使用的名称保持一致。
  • '"command": "node"': 指定启动服务器的命令为 'node',表示使用 Node.js 运行时环境来执行 JavaScript 代码。
  • '"args"': 启动命令的参数数组。
    • '"/your-custom-mcp-dir-here/branch-thinking/dist/index.js"': 指向 'index.js' 文件的路径。请务必将 '/your-custom-mcp-dir-here' 替换为您实际存放 'branch-thinking' 项目的路径。这个路径是服务器程序的入口点。

请注意: 您需要将上述配置添加到您的 MCP 客户端的工具配置部分。具体的配置文件位置和格式可能因客户端而异,请参考您使用的 MCP 客户端的文档。

基本使用方法

Branch Thinking 服务器作为一个 MCP 工具,需要通过 MCP 客户端(如 Claude)进行调用。以下是一些基本的使用场景和方法:

  1. 触发工具: 在与 LLM 对话时,可以通过自然语言指令来触发 Branch Thinking 工具。例如,您可以指示 LLM 使用 "branch-thinking" 工具来进行思考。根据仓库 'README.md' 的提示,可以尝试使用以下提示语来更明确地引导 Claude 使用该工具:

    "If I ask you to 'think step by step,' 'think before you respond,' or 'use chain of thought,' that means use the branch-thinking tool. Don't hesitate to use the branch-thinking tool on your own if you think your response would benefit from multiple steps."

    (如果你要求我“逐步思考”、“在回应前思考”或“使用链式思考”,那意味着使用 branch-thinking 工具。如果你认为你的回答会从多个步骤中受益,请不要犹豫,自行使用 branch-thinking 工具。)

  2. 使用命令: Branch Thinking 工具提供了一些命令,可以通过特定的输入结构来调用。根据 'index.ts' 和 'BRANCHING_THOUGHT_TOOL' 的定义,您可以向工具发送包含 'command' 字段的 JSON 对象来执行命令。以下是可用的命令及其用法:

    • 'list': 列出所有思考分支及其状态。

      {
        "command": {
          "type": "list"
        }
      }

      工具会返回当前存在的所有分支的列表,以及它们的状态和最近的想法摘要。

    • 'focus [branchId]': 切换到指定的思考分支。

      {
        "command": {
          "type": "focus",
          "branchId": "branch-123" // 替换为您要切换到的分支ID
        }
      }

      工具会将指定分支设置为当前活跃分支,后续的想法将默认添加到该分支。

    • 'history [branchId?]': 查看指定分支或当前活跃分支的历史记录。

      {
        "command": {
          "type": "history",
          "branchId": "branch-123" // 可选,指定要查看历史记录的分支ID,不指定则查看当前活跃分支
        }
      }

      工具会返回指定分支或当前活跃分支的完整思考历史,包括时间戳、内容、类型、关键点和洞察等信息。

  3. 添加想法: 要向 Branch Thinking 工具添加新的想法,您可以发送包含 'content' 和 'type' 字段的 JSON 对象。还可以选择性地指定 'branchId'、'parentBranchId'、'confidence'、'keyPoints'、'relatedInsights' 和 'crossRefs' 等字段,以更精细地控制想法的组织和关联。例如:

    {
      "content": "这是一个关于主要论点的初步想法。",
      "type": "hypothesis",
      "branchId": "branch-123",
      "keyPoints": ["初步想法", "主要论点"]
    }

    工具会将新的想法添加到指定分支(或当前活跃分支),并根据输入参数生成洞察和交叉引用。

重要提示: 与 MCP 服务器的交互通常由 LLM 客户端在后台自动处理。您可能不需要直接手动构建 JSON 请求,而是通过与 LLM 的自然语言对话,间接地触发工具的功能。理解工具提供的命令和输入结构有助于您更好地指导 LLM 使用该工具。

总结

Branch Thinking 服务器通过提供分支思考、交叉引用和洞察生成等功能,增强了 LLM 在复杂思考和知识管理方面的能力。通过合理配置和使用,可以帮助用户更有效地利用 LLM 进行深入分析、问题解决和内容创作。

信息

分类

生产力应用