使用说明
项目简介
序贯思考服务器是一个实现了 Model Context Protocol (MCP) 的后端服务,专注于为大型语言模型 (LLM) 提供结构化的思考工具。该服务器的核心功能是提供名为 'sequentialthinking' 的工具,使 LLM 能够通过一系列有序的思考步骤来解决复杂问题。这个工具允许 LLM 动态调整思考过程,进行回溯、修订和分支,从而更有效地进行问题分析和决策。
主要功能点
- 结构化思考流程: 将复杂问题分解为一系列可管理的思考步骤,帮助 LLM 有序地进行分析。
- 动态调整思考: 支持在思考过程中修改和完善想法,允许 LLM 根据新的理解调整思考方向和深度。
- 思考路径分支: 允许 LLM 探索不同的推理路径,支持从之前的思考步骤分叉出新的思考方向。
- 灵活的思考数量: 可以动态调整预计的思考步骤总数,适应问题复杂度和 LLM 的思考需求。
- 假设生成与验证: 支持 LLM 生成和验证解决方案假设,确保思考过程的严谨性和有效性。
- 问题情境适应: 适用于需要逐步深入理解、可能需要修正方向、或初始范围不明确的问题。
安装步骤
本 MCP 服务器可以通过以下两种方式安装和运行:
1. 使用 npx (Node.js 包执行器)
确保您的环境中已安装 Node.js 和 npm。
无需额外安装,可以直接使用 'npx' 命令运行。
2. 使用 Docker
确保您的环境中已安装 Docker。
您需要先构建 Docker 镜像,然后运行 Docker 容器。
打开终端,导航到仓库根目录,执行以下命令构建 Docker 镜像:
docker build -t mcp/sequentialthinking -f src/sequentialthinking/Dockerfile .
构建完成后,可以使用 Docker 命令运行服务器。
服务器配置
MCP 客户端(如 Claude Desktop)需要配置 MCP 服务器的启动命令才能连接和使用 'sequentialthinking' 工具。以下是针对不同运行方式的配置示例:
1. npx 方式配置 (claude_desktop_config.json):
{ "mcpServers": { "sequential-thinking": { // 服务器名称,客户端配置中引用 "command": "npx", // 启动命令,使用 npx 执行 npm 包 "args": [ // 命令参数 "-y", // 自动确认安装 npm 包 "@modelcontextprotocol/server-sequential-thinking" // 要执行的 npm 包名 ] } } }
2. Docker 方式配置 (claude_desktop_config.json):
{ "mcpServers": { "sequentialthinking": { // 服务器名称,客户端配置中引用 "command": "docker", // 启动命令,使用 docker 运行容器 "args": [ // 命令参数 "run", // docker run 子命令,运行容器 "--rm", // 容器退出后自动删除 "-i", // 保持标准输入打开 "mcp/sequentialthinking" // Docker 镜像名称 ] } } }
基本使用方法
配置完成后,MCP 客户端可以通过调用 'sequentialthinking' 工具来使用序贯思考服务器的功能。
调用 'sequentialthinking' 工具时,需要提供以下参数:
- 'thought' (string): 当前的思考步骤内容。
- 'nextThoughtNeeded' (boolean): 指示是否需要进行下一步思考。设置为 'true' 表示需要继续思考,'false' 表示思考过程结束。
- 'thoughtNumber' (integer): 当前思考步骤的序号,从 1 开始。
- 'totalThoughts' (integer): 预估的思考步骤总数。可以根据实际情况动态调整。
- 'isRevision' (boolean, 可选): 指示当前思考是否是对之前思考的修订。
- 'revisesThought' (integer, 可选): 如果是修订,指定修订的是哪个思考步骤(序号)。
- 'branchFromThought' (integer, 可选): 如果是分支思考,指定分支的起始思考步骤(序号)。
- 'branchId' (string, 可选): 分支思考的标识符,用于区分不同的分支。
- 'needsMoreThoughts' (boolean, 可选): 在看似思考结束时,如果意识到还需要更多思考,可以设置为 'true'。
LLM 客户端根据任务需求,逐步调用 'sequentialthinking' 工具,并根据工具的返回信息(例如,思考步骤序号、总数、分支信息等)来组织和调整思考过程,最终完成复杂问题的解决。
信息
分类
AI与计算