项目简介

该项目是一个符合 Model Context Protocol (MCP) 标准的应用后端,专注于为大型语言模型 (LLM) 客户端提供强大的顺序思考能力。它通过协调一个多智能体团队(包括规划者、研究员、分析师、评论员和合成器)来处理思考过程中的每个步骤,支持线性和非线性的思维路径,如修订和分支。

主要功能点

  • 顺序思考工具 ('sequentialthinking'): 核心工具,LLM通过调用此工具提交一个思考步骤,服务器负责调用内部的多智能体团队进行处理、分析和综合,然后返回结构化的结果和下一步指导。
  • 多智能体协作: 内部使用 Agno 框架协调一个专家团队(Planner, Researcher, Analyzer, Critic, Synthesizer),根据LLM提交的思考内容,分配子任务、执行分析并综合结果。
  • 支持修订与分支: 服务器响应会包含是否需要修订或创建新的思考分支的建议,帮助LLM进行更复杂的非线性思考探索。
  • 顺序思考启动提示词 ('sequential-thinking-starter'): 提供一个标准的起始点,指导LLM客户端如何开始一个顺序思考流程。
  • 会话状态管理: 记录思考历史和分支信息,支持跟踪整个思考过程。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/iniarfia/mcp-server-mas-sequential-thinking.git
  2. 进入项目目录:
    cd mcp-server-mas-sequential-thinking
  3. 安装 Node.js 依赖 (用于启动脚本):
    npm install
  4. 确保已安装 Python 及其依赖。Python 依赖通常在 'requirements.txt' 中指定,虽然此仓库未提供,但根据 'main.py' 的导入,至少需要 'fastmcp', 'agno', 'python-dotenv', 'pydantic' 等库。请根据需要手动安装:
    pip install fastmcp agno python-dotenv pydantic
  5. 配置环境变量:在项目根目录下创建 '.env' 文件,提供必要的API密钥。至少需要 DeepSeek API 密钥,如果 Researcher 智能体启用了 Exa Tools,还需要 Exa API 密钥。
    DEEPSEEK_API_KEY="your_deepseek_api_key_here"
    # EXA_API_KEY="your_exa_api_key_here" # Uncomment and add if using Exa

服务器配置 (供MCP客户端参考)

MCP客户端需要通过配置来连接并启动这个MCP服务器。以下是一个示例配置信息,用于指导客户端如何与服务器建立连接。

这是一个概念性的JSON结构,包含了客户端连接和启动服务器所需的基本信息。

// MCP客户端的服务器配置示例 (概念性)
{
  "serverName": "Sequential Thinking Server", // 服务器名称
  "description": "MCP server for multi-agent sequential thinking.", // 服务器描述
  "command": "npm", // 用于启动服务器进程的命令,这里使用npm脚本
  "args": ["start"], // 传递给启动命令的参数,对应package.json中的start脚本
  // 或者,如果直接运行Python脚本:
  // "command": "python",
  // "args": ["main.py"],
  "transport": "stdio" // 通信传输协议,stdio表示标准输入输出
}
  • 'serverName': 提供给客户端显示的服务名称。
  • 'description': 简要说明服务功能。
  • 'command': 执行启动脚本的程序名 ('npm' 或 'python')。
  • 'args': 传递给启动程序的参数 ('start' 或 'main.py')。
  • 'transport': 使用的通信协议 ('stdio' 是通过标准输入输出进行通信)。

请注意,实际客户端的配置界面或文件格式可能有所不同,但核心信息(命令、参数、传输协议)是必备的。客户端需要确保服务器文件已下载并安装好依赖,且已配置好 '.env' 文件中的API密钥。

基本使用方法

  1. 启动服务器: 在项目目录中运行配置信息中的 'command' 和 'args',例如:
    npm start
    服务器将在标准输入输出上运行,等待MCP客户端连接。
  2. LLM客户端连接: 使用支持MCP协议的LLM客户端连接到该服务器。客户端将发现服务器提供的 'sequential-thinking-starter' 提示词和 'sequentialthinking' 工具。
  3. 发起思考流程: LLM客户端调用 'sequential-thinking-starter' 提示词,提供问题和可选的上下文。
  4. 执行思考步骤: LLM客户端根据 'sequential-thinking-starter' 提示词的指导和服务器 'sequentialthinking' 工具返回的结果,多次调用 'sequentialthinking' 工具,每次提交一个思考步骤(thought),并根据服务器的响应调整后续步骤,包括处理修订和分支建议。
  5. 接收结果: 每次调用 'sequentialthinking' 工具,服务器都会返回包含多智能体协作综合结果、下一步指导以及思考过程状态(当前步数、总步数、分支信息等)的JSON响应。LLM根据这些信息继续或结束思考过程。

注意事项:

  • 确保您的LLM客户端支持并正确实现了MCP协议。
  • 确保服务器运行环境中已设置正确的API密钥环境变量。
  • 由于使用标准输入输出 ('stdio') 传输,一次只能有一个客户端连接。

信息

分类

AI与计算