Sequential Thinking Tools MCP 服务器

项目简介

本项目实现了一个基于 Model Context Protocol (MCP) 的服务器,旨在帮助大型语言模型 (LLM) 客户端进行更有效的工具使用和问题解决。它通过引导用户进行序列化思考,并在每个思考步骤中智能推荐合适的 MCP 工具,从而辅助 LLM 逐步分解和解决复杂问题。

主要功能点

  • 动态和反思性思维引导: 通过序列化的思考步骤,帮助 LLM 动态地分析和解决问题。
  • 灵活的思考过程: 支持思考过程的调整和演进,允许分支和回溯。
  • 智能工具推荐: 在每个思考步骤,服务器会根据当前步骤的需求,智能推荐合适的 MCP 工具。
  • 工具推荐置信度评分和理由: 为每个推荐工具提供置信度评分 (0-1) 和详细的推荐理由。
  • 步骤跟踪和进度监控: 跟踪思考步骤,展示预期结果、已完成步骤和剩余步骤。
  • 支持多种 MCP 工具: 可以与环境中已有的任何 MCP 工具协同工作。

安装步骤

  1. 克隆仓库: 首先,你需要克隆该 GitHub 仓库到本地:
    git clone https://github.com/spences10/mcp-sequentialthinking-tools
    cd mcp-sequentialthinking-tools
  2. 安装依赖: 使用 'pnpm' 包管理器安装项目依赖:
    pnpm install
  3. 构建项目: 构建项目以生成可执行文件:
    pnpm build

服务器配置

要将此 MCP 服务器与 MCP 客户端(如 Cline 或 Claude 桌面版)配合使用,你需要配置客户端以启动该服务器。以下是针对不同客户端环境的配置示例。你只需要将以下 JSON 配置添加到你的 MCP 客户端配置文件中,并根据你的实际环境调整 'command' 和 'args' 字段。

Cline 配置示例:

{
  "mcpServers": {
    "mcp-sequentialthinking-tools": {
      "command": "npx",
      "args": ["-y", "mcp-sequentialthinking-tools"]
    }
  }
}
  • 'server name': 'mcp-sequentialthinking-tools' (服务器名称,用于在客户端中标识和调用)
  • 'command': 'npx' (用于执行 npm 包的命令)
  • 'args': '["-y", "mcp-sequentialthinking-tools"]' (传递给 'npx' 的参数,'-y' 自动确认安装包,'mcp-sequentialthinking-tools' 是要执行的包名,即此 MCP 服务器)

Claude 桌面版 (WSL) 配置示例:

{
  "mcpServers": {
    "mcp-sequentialthinking-tools": {
      "command": "wsl.exe",
      "args": [
        "bash",
        "-c",
        "source ~/.nvm/nvm.sh && /home/username/.nvm/versions/node/v20.12.1/bin/npx mcp-sequentialthinking-tools"
      ]
    }
  }
}
  • 'server name': 'mcp-sequentialthinking-tools' (服务器名称)
  • 'command': 'wsl.exe' (在 Windows Subsystem for Linux (WSL) 环境中执行命令)
  • 'args': 包含一个 Bash 命令字符串的数组,用于在 WSL 中启动服务器。该命令首先加载 'nvm' 环境,然后使用 'npx' 执行 'mcp-sequentialthinking-tools'。你需要将 '/home/username/.nvm/versions/node/v20.12.1/bin/npx' 替换为你实际的 'npx' 路径。

注意: 请确保你的 MCP 客户端和服务器运行在可以互相通信的网络环境中。对于本地客户端和服务器,通常无需额外网络配置。

基本使用方法

  1. 启动服务器: 配置完成后,当 MCP 客户端尝试连接名为 'mcp-sequentialthinking-tools' 的服务器时,客户端会根据你提供的配置自动启动该服务器。

  2. 调用 'sequentialthinking_tools' 工具: 在 LLM 应用中,你可以像调用其他 MCP 工具一样调用 'sequentialthinking_tools' 工具。你需要提供以下参数:

    • 'thought' (string, 必需): 当前的思考步骤描述。
    • 'next_thought_needed' (boolean, 必需): 是否需要进行下一步思考。
    • 'thought_number' (integer, 必需): 当前思考步骤的序号。
    • 'total_thoughts' (integer, 必需): 预计的总思考步骤数。
    • 其他可选参数,如 'is_revision', 'revises_thought', 'branch_from_thought', 'branch_id' 等,用于更精细地控制思考流程。

    服务器会分析你的思考步骤,并返回包含工具推荐、置信度、理由、预期结果等信息的 JSON 响应。你可以根据服务器的推荐,选择合适的 MCP 工具执行,并继续进行下一步思考,直到问题解决。

示例请求 (JSON 格式):

{
  "thought": "初步研究 Svelte 5 中 universal reactivity 的含义",
  "next_thought_needed": true,
  "thought_number": 1,
  "total_thoughts": 5
}

服务器会返回类似 README 中 Example Usage 部分的 JSON 响应,包含工具推荐。

通过与 'sequentialthinking_tools' 工具的持续交互,你可以引导 LLM 逐步进行问题分解和工具使用,最终达成解决复杂问题的目标。

信息

分类

AI与计算