项目简介

这是一个专门为大型语言模型(LLM)客户端设计的AI规划MCP服务器。它严格遵循Model Context Protocol (MCP) 标准,提供了一个核心功能:智能任务规划。通过调用其提供的 'plan' 工具,LLM可以生成详细的、可操作的步骤,以解决复杂的任务或问题。该服务器支持通过标准输入输出 (STDIO) 和 HTTP 协议与客户端进行通信,方便在不同部署环境下使用。

主要功能点

  • 任务规划 (Plan Tool):接收LLM客户端发送的任务描述,并利用先进的AI模型(Grok-4 AI)生成详细的、分步的任务执行计划。这使得LLM能够处理需要多步骤思考和策略的任务。
  • MCP协议支持:完全符合Model Context Protocol (MCP) 规范。服务器能够正确处理 MCP 客户端发送的 'mcp_listTools' (列出可用工具) 和 'mcp_callTool' (调用工具) 等 JSON-RPC 请求,并返回相应的 MCP 格式响应。
  • 多传输协议:为了适应不同的部署场景,该服务器支持两种主要的通信方式:
    • HTTP 模式:通过标准的HTTP请求/响应进行通信,适用于需要通过网络进行远程连接的MCP客户端。
    • STDIO 模式:通过标准输入输出流进行通信,适合于本地进程间通信或与通过管道连接的客户端(如某些本地LLM运行时)集成。
  • 环境配置:服务器的端口和运行模式可以通过环境变量或命令行参数灵活配置,便于部署和管理。

安装步骤

请按照以下步骤安装和准备AI规划MCP服务器:

  1. 克隆仓库: 首先,将Discerio仓库克隆到您的本地机器上,然后进入MCP服务器的目录:

    git clone https://github.com/RomanSlack/Discerio.git
    cd Discerio/mcp-server
  2. 安装依赖: 使用npm安装项目所需的所有依赖项:

    npm install
  3. 构建项目: 运行构建命令以编译TypeScript代码到JavaScript,生成可执行的 'dist' 目录:

    npm run build
  4. 配置环境变量: 在 'mcp-server' 目录下创建一个名为 '.env' 的文件,并添加以下内容:

    NODE_ENV=development
    PORT=3001
    • 'NODE_ENV': 设置为 'development' (开发环境) 或 'production' (生产环境)。
    • 'PORT': 指定HTTP服务器监听的端口号,默认为 '3001'。如果您计划使用HTTP模式,请确保此端口未被占用。

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

MCP客户端需要配置MCP服务器的启动命令 (command) 及其参数 (args) 才能与MCP服务器建立连接。以下是一个JSON格式的配置示例,您需要根据实际的部署环境和选择的传输协议进行调整:

{
  "mcpServers": {
    "ai-planning": {
      "url": "http://localhost:3001/mcp",  
      "command": "node",                   
      "args": ["dist/index.js", "--port", "3001"]
    }
  }
}

配置参数说明:

  • 'mcpServers.ai-planning.url': MCP服务器的HTTP访问URL。请将 'localhost:3001' 替换为MCP服务器实际部署的IP地址或域名,以及其监听的端口号。
  • 'mcpServers.ai-planning.command': 启动MCP服务器进程的命令。对于基于Node.js的项目,通常是 'node'。
  • 'mcpServers.ai-planning.args': 传递给 'command' 的参数列表。
    • '"dist/index.js"': 这是项目构建后服务器的入口文件路径。
    • '"--port", "3001"': 这两个参数用于指示服务器以HTTP模式启动,并监听 '3001' 端口。请确保此端口与 'url' 中的端口一致。
    • 如果您希望使用 STDIO 模式(即通过标准输入输出进行通信,通常用于本地集成),则 'args' 参数应修改为:'["dist/index.js", "--stdio"]'。在此模式下,'url' 参数通常可以忽略或设置为任意值,因为客户端将通过进程管道直接通信。

基本使用方法

一旦服务器安装和配置完毕,您就可以启动它并开始通过MCP客户端进行交互。

  1. 启动服务器

    • HTTP模式 (推荐用于MCP客户端连接): 在 'mcp-server' 目录下运行以下命令:

      npm start
      # 或者直接运行构建后的文件并指定端口
      node dist/index.js --port 3001

      服务器将启动并监听 '3001' 端口(或您在 '.env' 或命令行中指定的端口)。您会看到类似 'AI Planning MCP Server listening on http://localhost:3001' 的提示。

    • STDIO模式: 如果您需要通过标准输入输出进行通信,请运行:

      node dist/index.js --stdio

      服务器将通过标准输入和输出来交换消息。您会看到类似 'Ticketmaster MCP server running on stdio' 的提示(尽管名称提及Ticketmaster,但实际功能是规划)。

  2. 通过MCP客户端调用: 一旦服务器启动,您的MCP客户端即可通过 JSON-RPC 协议发送请求。

    • 获取工具列表: 客户端可以首先发送 'mcp_listTools' 请求来发现服务器提供的工具:

      {"jsonrpc": "2.0", "id": 1, "method": "mcp_listTools", "params": {}}

      服务器将返回一个响应,其中包含 'plan' 工具的定义,包括其名称、描述和输入参数('prompt')。

    • 调用规划工具: 客户端可以发送 'mcp_callTool' 请求来调用 'plan' 工具,并提供一个 'prompt' 参数来描述需要规划的任务:

      {"jsonrpc": "2.0", "id": 2, "method": "mcp_callTool", "params": {"name": "plan", "arguments": {"prompt": "如何创建一个成功的在线课程?"}}}

      服务器将处理此请求,并返回一个包含生成计划的响应。例如:

      {
        "jsonrpc": "2.0",
        "id": 2,
        "result": {
          "content": [
            {"type": "text", "text": "要创建一个成功的在线课程,请遵循以下步骤:\n1. 确定目标受众和课程主题...\n"}
          ]
        }
      }

信息

分类

AI与计算