项目简介
MCP 思考工具服务器 (MCP Think Tool Server) 是一个基于 Model Context Protocol (MCP) 构建的后端服务,它实现了一个“思考 (think)”工具,旨在提升大型语言模型 (LLM) 在复杂推理任务中的表现。该工具的核心思想是为 LLM 提供一个结构化的思考空间,使其能够在解决复杂问题时,显式地记录和管理其思维过程。通过记录思考步骤、回顾思考历史和分析思考模式,该工具可以帮助 LLM 更好地进行策略规划、长链推理和问题分解。
主要功能点
- 结构化思考空间: 为 LLM 提供一个专用的、结构化的环境来逐步分解和解决复杂问题。
- 思考过程记录: 详细记录 LLM 的每一个思考步骤,并带有时间戳,方便后续追踪和分析。
- 思考历史回顾: 允许 LLM 随时回顾之前的思考过程,以便于记忆和上下文理解。
- 思考统计分析: 提供关于思考过程的统计数据,例如思考次数、平均思考长度等,帮助分析 LLM 的思考模式。
- 思考记录清空: 支持清空当前的思考记录,为新的任务提供一个干净的思考环境。
安装步骤
- 确保您的系统已安装 Python 3.10 或更高版本。
- 使用 pip 包管理器安装 MCP 思考工具服务器:
pip install mcp-think-tool
服务器配置
为了让 MCP 客户端(如支持 MCP 协议的 LLM 应用)能够使用 MCP 思考工具服务器,您需要在客户端的 MCP 配置文件中添加针对该服务器的配置信息。以下是一个典型的 JSON 格式配置示例,您需要将其添加到您的 MCP 客户端配置文件中。
{ "think": { "command": "/home/xxx/.local/bin/mcp-think-tool", "args": [], "type": "stdio", "pollingInterval": 30000, "startupTimeout": 30000, "restartOnFailure": true } }
配置参数说明:
- 'server name (think)': 服务器名称,此处定义为 "think",客户端通过此名称引用该服务器。
- 'command': MCP 思考工具服务器的启动命令。请将其替换为 'mcp-think-tool' 可执行文件的实际路径。通常情况下,如果您使用 pip 安装,该文件位于 Python 的用户本地 bin 目录下,例如 '/home/xxx/.local/bin/mcp-think-tool'。您可以使用 'which mcp-think-tool' 命令查找其具体路径。
- 'args': 启动命令的参数列表。当前配置为空列表,表示启动服务器时不需要额外的命令行参数。
- 'type': 服务器与客户端之间的通信协议类型。此处设置为 'stdio',表示使用标准输入输出流进行通信。这是最常用的简单协议类型。
- 'pollingInterval': 客户端轮询服务器状态的间隔时间,单位为毫秒。例如,'30000' 表示 30 秒轮询一次。
- 'startupTimeout': 客户端等待服务器启动的最大超时时间,单位为毫秒。例如,'30000' 表示如果服务器在 30 秒内未启动成功,则认为启动失败。
- 'restartOnFailure': 布尔值,指示当服务器意外退出或发生错误时,客户端是否自动重启服务器。'true' 表示自动重启,'false' 表示不重启。
请根据您的实际环境配置 'command' 字段,确保指向正确的 'mcp-think-tool' 可执行文件路径。
基本使用方法
配置完成后,您的 MCP 客户端(例如,集成 MCP 功能的 LLM 应用或平台)就可以通过 MCP 协议与 MCP 思考工具服务器进行交互。LLM 可以调用以下工具来使用思考工具服务器提供的功能:
- 'think(thought: str)': 让 LLM 记录一个思考片段。客户端需要提供一个字符串 'thought' 作为参数,表示 LLM 的思考内容。服务器会将该思考内容记录下来,并返回确认信息。
- 'get_thoughts()': 让 LLM 获取当前会话中记录的所有思考历史。服务器将返回一个包含所有已记录思考片段的字符串,方便 LLM 回顾之前的思考过程。
- 'clear_thoughts()': 让 LLM 清空当前会话中记录的所有思考历史。服务器将清空思考记录,并返回清空成功的消息。
- 'get_thought_stats()': 让 LLM 获取关于思考过程的统计信息。服务器将返回一个 JSON 格式的字符串,包含思考总数、平均思考长度等统计数据。
具体的工具调用方式取决于您使用的 MCP 客户端的具体实现和 API。通常,您需要在 LLM 的 Prompt 中指示其调用相应的工具,并根据工具的描述提供必要的参数。
信息
分类
AI与计算