使用说明

项目简介

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 客户端的兼容性和互操作性。

安装步骤

  1. 环境准备: 确保已安装 Node.js (>= 16.0.0) 和 npm。
  2. 克隆仓库:
    git clone https://github.com/bsmi021/mcp-thought-server.git
    cd mcp-thought-server
  3. 安装依赖:
    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 相关配置。

基本使用方法

  1. 启动服务器: 在仓库根目录下运行 'npm start' 命令启动 MCP 思维工具服务器。
  2. 配置 MCP 客户端: 在 MCP 客户端中配置上述 'server' 信息,建立与 MCP 服务器的连接。
  3. 调用工具: 客户端通过 JSON-RPC 协议向服务器发送请求,调用 'sequentialThinking', 'chainOfDraft', 'integratedThinking' 或 'setFeature' 等工具,并根据工具参数文档 ('src/tools' 目录下对应的 '*Params.ts' 文件) 构造请求参数。
  4. 接收响应: 服务器处理请求后,将 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与计算