使用说明
顺序思维MCP服务器
顺序思维是一种模型上下文协议(MCP)服务器,用于操作深思熟虑的推理。它允许MCP客户端创建结构化思维会话,捕获连续步骤(分析→ 假设→ 验证→ 结论),分支到不同的思路,并输出或审计整个推理链。
概述
- 用Go 1.24编写,MCP Go SDK是其唯一的直接依赖项。
- 提供内存会话存储、分支管理、逻辑验证和推理质量启发式。
- 提供11个MCP工具、会话和模板的资源端点以及3个推理提示。
- 支持stdio(默认)和流式HTTP传输,以及发布为的最小基于划痕的Docker映像
bpradana/sequentialthinking. - 由跨处理程序的单元测试和端到端的MCP集成测试提供支持。
快速开始
先决条件
- 转到1.24或更高版本
- Git(或其他获取源代码的方法)
构建和运行(stdio传输)
go mod download
go build -o sequentialthinking ./cmd/sequentialthinking
./sequentialthinking
二进制文件在stdio上监听,并准备由支持MCP的客户端启动。
以HTTP服务器运行
./sequentialthinking -http :8080
这 -http 标志在提供的地址上启用可流式传输的HTTP。
Docker(预构建映像)
docker pull bpradana/sequentialthinking
docker run --rm -i bpradana/sequentialthinking
-i 保持stdin打开,这样MCP客户端就可以与容器化服务器进行stdio通信。
Docker(本地构建)
docker build -t sequentialthinking .
docker run --rm sequentialthinking
多级Dockerfile构建一个静态二进制文件,并从头开始运行它(UID 65532)。
与MCP客户端集成
- MCP检查员
npm install -g @modelcontextprotocol/inspector mcp-inspector ./sequentialthinking - Claude Desktop通过Docker(显示macOS路径)先用以下命令拉取图像
{ "mcpServers": { "sequentialthinking": { "command": "docker", "args": [ "run", "--rm", "-i", "bpradana/sequentialthinking" ] } } }docker pull bpradana/sequentialthinking.Claude在MCP会话处于活动状态时保持容器活动,并根据需要重新创建它。
启动模板会话
连接后(Inspector、Claude或其他MCP客户端),调用 sequentialthinking.start_from_template 用于启动新会话的工具:
{
"name": "sequentialthinking.start_from_template",
"arguments": {
"template": "scientific-method",
"problem": "Why did the nightly build fail?",
"context": {
"repo": "widgets-service",
"last_green_commit": "abc1234"
}
}
}
服务器以新的 session_id,从请求的模板填充步骤,并建议下一步操作。后续调用可以像往常一样扩展或分支推理。
工具表面
| 工具 | 目的 | 值得注意的论点 |
|---|---|---|
start_thinking |
创建一个包含初步分析和建议的下一步的新会话。 | problem,可选 context,可选 tags,可选 template |
add_step |
在主流程或分支中添加推理步骤。 | session_id,可选 branch_id, step_type, step_content |
update_step |
编辑现有步骤的内容、类型或元数据。 | session_id, step_number,要更新的可选字段 |
review_thinking |
检索完整的链、连接、模式和摘要。 | session_id,可选 format (linear, tree, summary) |
branch_thinking |
从现有步骤中分叉推理路径,并为分支播种。 | session_id, from_step, alternative_reasoning |
merge_insights |
综合多个分支的结论。 | session_id, branch_ids |
validate_logic |
标记逻辑问题并描述优势。 | session_id,可选 range_start, range_end |
export_session |
将会话导出为markdown、JSON或纯文本。 | session_id,可选 include_branches, format |
list_sessions |
带有质量分数的可过滤会话目录。 | 可选 status, tags, limit |
delete_session |
删除会话。 | session_id |
get_metrics |
跨会话聚合推理指标。 | 可选 time_range (day, week, month, all) |
资源和提示
-
资源
thinking://session/{session_id}–单个会话的JSON快照。thinking://sessions/list–内存中所有会话的JSON列表。thinking://template/{template_type}–思维框架的JSON表示(scientific-method,five-whys,root-cause-analysis,decision-matrix,swot-analysis,pros-cons,first-principles,fishbone,pareto-analysis).
-
提示
problem_breakdown–结构复杂问题分解。critical_analysis–指导索赔和证据的评估。synthesis_prompt–有助于将多种见解结合到连贯的输出中。
推理模型亮点
- 步骤类型:
analysis,hypothesis,verification,conclusion父引用和连接跟踪使客户端能够构建推理图。 - 分支:任何步骤都可以分支为其他推理路径。分支步骤在本地编号,并与原始步骤保持关联。
- 质量评分:启发式结合了步骤类型多样性(30%)、连接密度(30%)和深度(40%)。分数保持不变
[0,1]并在每次更新后重新计算。 - 逻辑验证:检测未经支持的结论和未经证实的假设。返回结构化问题、建议、优势亮点和总体有效性得分。
- 模式检测:识别用于分析的重复推理模式(假设验证、逐步细化、分支综合)。
- 出口:Markdown、JSON和文本导出器包括元数据、连接、分支和建议的文件名。
操作说明
- 存储:在记忆中(
internal/thinking.MemoryStore)由RW静音器保护。会话是短暂的,重新启动时会被清除。 - 并发:读取返回深度克隆以防止外部突变;写入更新时间戳、当前步数计数器和质量分数。
- 日志记录:用途
log/slog用于初始化消息和mcp.LoggingTransport用于stdio诊断。 - 完工支持:自动完成处理程序为MCP完成请求显示会话ID和模板名称。
开发工作流程
# Run unit and integration tests
go test ./...
# Format and lint
go fmt ./...
golangci-lint run # optional, if installed
项目布局
cmd/sequentialthinking CLI entry point and flag parsing
internal/server MCP server assembly, transports, integration tests
internal/handlers Tool, resource, prompt handlers and helper logic
internal/thinking Core domain types, in-memory store, exports, metrics
发布提示
- 建立
CGO_ENABLED=0用于静态二进制文件(已在Dockerfile中使用)。 - 将版本插入
internal/server.New发布服务器更改时。 - 使用提供的Dockerfile作为规范的容器构建。
许可证
MIT许可证(使用存储库根 LICENSE 如果存在)。