使用说明
项目简介
MCP思维工具服务器(MCP Thought Server)是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为 AI Agent (如 Cline) 提供结构化的思维工具。通过 MCP 协议,该服务器可以与 LLM 客户端进行标准化通信,提供资源访问和工具执行能力,从而增强 AI Agent 的推理、规划和迭代改进能力。
该服务器的核心目标是提供一系列专门的 MCP 工具,引导 AI Agent 进行结构化的认知过程,使其能够更有效地处理复杂任务,例如模拟高级推理、分解问题、生成和评估解决方案以及可靠地跟踪进度。
主要功能点
- 结构化思维工具集: 提供 'sequentialThinking'(顺序思考)、'chainOfDraft'(草稿链)和 'integratedThinking'(集成思考)等多种工具,支持 AI Agent 进行分步骤问题解决、迭代内容生成和复杂任务处理。
- 高级置信度评分: 采用语义相关性和可选的 LLM 一致性检查,更准确地评估 AI 输出的质量和相关性。
- 状态持久化: 使用 SQLite 数据库持久化草稿历史等状态信息,确保跨请求的可靠性。
- 灵活配置: 通过环境变量进行详细配置,包括日志级别、数据库路径、LLM 服务参数以及输出详细程度控制等。
- 易于扩展: 模块化架构设计,方便添加新的思维工具和服务。
- 标准 MCP 协议: 基于 '@modelcontextprotocol/sdk' 构建,确保与 MCP 客户端的兼容性和互操作性。
安装步骤
- 环境准备: 确保已安装 Node.js (>= 16.0.0) 和 npm。
- 克隆仓库:
git clone https://github.com/bsmi021/mcp-thought-server.git cd mcp-thought-server - 安装依赖:
npm install
服务器配置
MCP 服务器作为后端服务,需要 MCP 客户端配置连接信息才能使用。以下是 MCP 客户端的 'server' 配置示例,用于连接到 MCP思维工具服务器。
{ "server": { "name": "mcp-thought-server", "command": "npm", "args": ["start"], "capabilities": { "tools": [ "sequentialThinking", "chainOfDraft", "integratedThinking", "setFeature" ] } } }
参数说明:
- 'name': 服务器名称,可以自定义,例如 "mcp-thought-server"。
- 'command': 启动服务器的命令,这里使用 'npm',因为项目使用 npm 管理。
- 'args': 启动命令的参数,使用 '["start"]' 运行 'npm start' 脚本,该脚本在 'package.json' 中定义,用于启动服务器。
- 'capabilities.tools': 声明客户端希望使用的工具列表,包括 "sequentialThinking", "chainOfDraft", "integratedThinking", "setFeature"。客户端会根据此列表与服务器协商实际可用的工具。
环境变量配置 (可选):
服务器行为可以通过环境变量进行配置,例如:
- 'LOG_LEVEL': 设置日志级别,可选值:'debug', 'info', 'warn', 'error'。 默认为 'info'。
- 'MCP_SQLITE_PATH': SQLite 数据库文件路径。 默认为 'data/mcp-thought-server.sqlite'。
- 'COHERENCE_API_KEY', 'COHERENCE_CHECK_MODEL', 'COHERENCE_API_BASE': 用于启用 LLM 一致性检查的 OpenAI API 相关配置。
基本使用方法
- 启动服务器: 在仓库根目录下运行 'npm start' 命令启动 MCP 思维工具服务器。
- 配置 MCP 客户端: 在 MCP 客户端中配置上述 'server' 信息,建立与 MCP 服务器的连接。
- 调用工具: 客户端通过 JSON-RPC 协议向服务器发送请求,调用 'sequentialThinking', 'chainOfDraft', 'integratedThinking' 或 'setFeature' 等工具,并根据工具参数文档 ('src/tools' 目录下对应的 '*Params.ts' 文件) 构造请求参数。
- 接收响应: 服务器处理请求后,将 MCP 响应返回给客户端,客户端解析响应内容,并根据 'nextThoughtNeeded' 等参数决定下一步操作。
示例 (调用 sequentialThinking 工具):
以下是一个调用 'sequentialThinking' 工具的 JSON-RPC 请求示例 (简化):
{ "jsonrpc": "2.0", "method": "tool_call", "params": { "tool_name": "sequentialThinking", "arguments": { "thought": "分析用户请求以重构身份验证模块。", "nextThoughtNeeded": true, "thoughtNumber": 1, "totalThoughts": 5, "category": { "type": "analysis", "confidence": 0.6 }, "context": { "problemScope": "重构现有身份验证模块以提高安全性。", "constraints": ["必须保持与现有用户数据库的兼容性。"] } } }, "id": "123" }
请参考 'README.md' 和 'src/tools' 目录下的参数定义文件获取更详细的工具使用说明和参数信息。
信息
分类
AI与计算