使用说明

项目简介

MAS序贯思考MCP服务器 (MCP Server MAS Sequential Thinking) 是一个旨在提升大型语言模型(LLM)序贯思考能力的应用后端。它基于 Model Context Protocol (MCP) 构建,并集成了 Agno 框架实现多智能体系统(MAS)。该服务器通过提供结构化的思考流程,帮助LLM在复杂问题解决和决策制定中进行更深入、更有效的推理。核心功能包括资源管理(通过代码体现为集成的工具和模型)、工具注册与执行('sequentialthinking' 工具)、以及Prompt模板定义('sequential-thinking-starter' Prompt)。

主要功能点

  • 序贯思考流程管理: 通过 'sequentialthinking' 工具,服务器能够处理和追踪LLM的序贯思考步骤,支持思考过程的迭代、修订和分支探索。
  • 多智能体协作: 内置 Agno 框架,利用多智能体团队(Planner, Researcher, Analyzer, Critic, Synthesizer)协同工作,从不同角度分析和处理LLM的思考步骤,提升思考的深度和广度。
  • 非线性思考支持: 鼓励和支持非线性的思考模式,包括思考步骤的修订(Revision)和分支探索(Branching),使LLM能够更灵活地应对复杂问题。
  • 详细的日志记录: 提供全面的日志记录,包括每个思考步骤的详细信息,以及多智能体团队的协作过程,方便用户监控和分析思考过程。
  • 标准MCP协议支持: 基于 FastMCP 框架构建,遵循 MCP 协议标准,易于与 MCP 客户端集成。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/iniarfia/mcp-server-mas-sequential-thinking.git
  2. 进入项目目录:
    cd mcp-server-mas-sequential-thinking
  3. 安装依赖:
    npm install

服务器配置

为了让 MCP 客户端能够连接到 MAS序贯思考MCP服务器,需要配置服务器的启动命令。以下是一个典型的 MCP 服务器配置示例,客户端需要将其配置为与服务器建立连接的信息。

{
  "serverName": "mas-sequential-thinking-server",
  "command": "npm",
  "args": ["start"],
  "transport": "stdio"
}

配置参数说明:

  • 'serverName': 服务器的名称,可以自定义,例如 "mas-sequential-thinking-server"。
  • 'command': 启动服务器的命令。由于项目使用 Node.js 和 npm,因此设置为 "npm"。
  • 'args': 传递给启动命令的参数。使用 'npm start' 启动服务器,因此参数设置为 '["start"]'。
  • 'transport': 服务器使用的传输协议。根据代码 'mcp.run(transport="stdio")',这里设置为 '"stdio"',表示使用标准输入输出流进行通信。

环境变量配置:

该服务器依赖以下环境变量,请确保在使用前正确配置:

  • 'DEEPSEEK_API_KEY': DeepSeek API 密钥,用于初始化 Agno 框架中使用的 DeepSeek 模型。
  • 'EXA_API_KEY' (可选): Exa API 密钥,如果需要使用 ExaTools 进行信息检索,则需要配置此环境变量。

可以在项目根目录下创建 '.env' 文件,并将 API 密钥配置在文件中,例如:

DEEPSEEK_API_KEY=your_deepseek_api_key
EXA_API_KEY=your_exa_api_key

基本使用方法

  1. 启动服务器: 在项目根目录下运行命令 'npm start' 启动 MCP 服务器。服务器将通过标准输入输出流 (stdio) 与 MCP 客户端进行通信。
  2. 配置 MCP 客户端: 在 MCP 客户端中,配置上述的服务器连接信息(JSON配置)。
  3. 调用 Prompt 和 Tool:
    • 使用 'sequential-thinking-starter' Prompt 启动序贯思考流程,提供需要解决的问题和可选的上下文信息。
    • 使用 'sequentialthinking' Tool 提交每个思考步骤。Tool 接受 'thought' (思考内容), 'thoughtNumber' (思考步骤序号), 'totalThoughts' (预计总步骤数), 'nextThoughtNeeded' (是否需要下一步思考) 等参数,并支持修订和分支思考。
  4. 查看结果: 'sequentialthinking' Tool 的返回结果为 JSON 字符串,包含了多智能体系统协调器的综合响应、思考步骤状态、分支信息以及下一步思考的指导建议。根据返回结果,客户端可以继续提交后续的思考步骤,直到完成整个序贯思考流程。

序贯思考流程示例:

  1. 客户端调用 'sequential-thinking-starter' Prompt, 例如:
    {
      "jsonrpc": "2.0",
      "method": "prompt",
      "params": {
        "promptName": "sequential-thinking-starter",
        "arguments": {
          "problem": "分析提高开源项目社区活跃度的策略",
          "context": "假设项目是一个新启动的AI工具库"
        }
      },
      "id": 1
    }
  2. 服务器返回 Prompt 消息,客户端将消息发送给 LLM。
  3. LLM 根据 Prompt 指示,调用 'sequentialthinking' Tool 提交第一个思考步骤, 例如:
    {
      "jsonrpc": "2.0",
      "method": "tool_call",
      "params": {
        "toolName": "sequentialthinking",
        "arguments": {
          "thought": "制定一个全面的分析框架,用于评估和提升开源项目社区的活跃度。",
          "thoughtNumber": 1,
          "totalThoughts": 5,
          "nextThoughtNeeded": true
        }
      },
      "id": 2
    }
  4. 服务器通过多智能体系统处理思考步骤,并返回 JSON 结果。 客户端解析结果,获取协调器的响应和下一步指导。
  5. 根据服务器的返回结果和指导,LLM 继续调用 'sequentialthinking' Tool 提交后续的思考步骤, 例如修订之前的思考,或探索新的思考分支,直到 'nextThoughtNeeded' 为 'false',或达到预期的思考深度。

注意事项

  • 确保已安装 Node.js 和 npm。
  • 首次运行前请先安装项目依赖 'npm install'。
  • 务必配置 'DEEPSEEK_API_KEY' 环境变量。
  • 可以根据需要配置 'EXA_API_KEY' 环境变量以启用信息检索功能。
  • 服务器日志文件位于用户 home 目录下的 '.sequential_thinking/logs' 目录中。

信息

分类

AI与计算