项目简介
Sequential Tools MCP 服务器是一个基于 Model Context Protocol (MCP) 的后端实现,旨在为大型语言模型 (LLM) 客户端提供结构化的思考和故事叙述工具。它包含两个主要工具:
- 顺序思考 (Sequential Thinking):帮助用户将复杂问题分解为一系列有序的思考步骤,支持修订和分支,用于分析和解决问题。
- 顺序故事 (Sequential Story):通过故事叙述的方式组织问题,将问题元素转化为故事的角色、 setting 和 plot,利用叙事结构增强记忆和理解。
这两个工具都旨在通过序列化和结构化的方法来提升记忆保持和问题理解能力,并以 MCP 协议标准与 LLM 客户端进行通信。
主要功能点
- 资源管理:虽然仓库描述中没有明确提及资源管理,但作为 MCP 服务器,它具备管理和提供上下文信息的能力,可以被视为一种资源管理。
- 工具注册与执行:
- 注册了“顺序思考”和“顺序故事”工具,LLM 客户端可以调用这些工具进行问题分解和故事构建。
- 工具接收结构化的数据(思考步骤或故事元素),并返回处理结果。
- Prompt 模板:仓库中没有明确的 Prompt 模板定义,但工具的描述本身可以被视为指导 LLM 如何与工具交互的模板。
- 会话管理:MCP 服务器框架本身支持会话管理,但仓库代码中没有显式体现会话管理逻辑。
- 能力声明:通过 MCP 协议声明了服务器提供的工具能力。
- 多种传输协议支持:基于 'FastMCP' 框架,理论上支持 Stdio, SSE, WebSocket 等传输协议(仓库默认使用 Stdio)。
安装步骤
-
克隆仓库
git clone https://github.com/dhkts1/sequentialStory cd sequentialStory -
创建并激活虚拟环境 (推荐使用 uv 或 virtualenv)
uv venv # 或 python -m venv .venv source .venv/bin/activate # 或 .venv\Scripts\activate (Windows) -
安装依赖
uv sync # 或 pip install -r requirements.txt
服务器配置
MCP 客户端需要配置服务器的启动命令和参数以连接 Sequential Tools MCP 服务器。以下是不同工具配置的示例,请根据需要选择:
默认配置 (启用顺序故事工具)
{ "serverName": "Sequential Story", "command": "python", "args": ["sequential_tools.py"] }
仅启用顺序思考工具
{ "serverName": "Sequential Thinking", "command": "python", "args": ["sequential_tools.py", "--tools=thinking"] }
仅启用顺序故事工具 (显式指定)
{ "serverName": "Sequential Story", "command": "python", "args": ["sequential_tools.py", "--tools=story"] }
同时启用顺序思考和顺序故事工具
{ "serverName": "Sequential Tools", "command": "python", "args": ["sequential_tools.py", "--tools=thinking,story"] }
参数说明:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 启动服务器的命令,这里使用 'python'。
- 'args': 传递给启动命令的参数,包括主脚本 'sequential_tools.py' 和可选的工具配置参数 '--tools'。
您可以在 MCP 客户端 (例如 Claude 桌面应用) 中配置以上 JSON 信息来安装和连接 Sequential Tools MCP 服务器。
基本使用方法
-
启动服务器 在仓库根目录下,根据所需的工具配置,运行相应的命令,例如:
python sequential_tools.py # 默认启动顺序故事工具 -
在 MCP 客户端中安装和连接服务器 根据 MCP 客户端的指引,使用上述提供的服务器配置信息进行安装和连接。
-
通过 MCP 客户端调用工具 连接成功后,您可以通过 MCP 客户端调用 "sequentialstory" (顺序故事) 或 "sequentialthinking" (顺序思考) 工具,并按照工具的参数要求 (例如 'StoryElementData' 或 'SequentialThoughtData' 的结构) 发送请求。服务器会处理请求,返回结构化的响应,并在控制台输出格式化的结果。
请参考仓库的 README.md 和代码注释了解更详细的工具参数和使用方法。
信息
分类
生产力应用