• 项目简介

    • 该仓库实现了一个基于 Cortex 的 MCP 服务器端,用于通过 MCP 协议向 MCP 客户端提供工具注册、工具执行和对话模板渲染等能力,并通过 JSON-RPC 的方式进行通信。服务器端集成了一个内置的 Agent 引擎,支持简单的 Ping 健康检查以及将对话输入通过内置工具链进行处理与扩展。
  • 主要功能点

    • MCP 服务端核心能力:实现对 MCP 请求的处理、响应和通知,遵循 MCP 协议规范。
    • 工具注册与执行:在 MCP 服务中注册 “ping” 健康工具,以及一个可配置的聊天工具,LLM 调用通过 Cortex 的 Agent 引擎执行并返回结果。
    • 资源与上下文:通过集成的内存、工具与对话历史,提供上下文感知的对话能力。
    • 传输与接口:提供对 MCP 客户端的对接入口,支持通过 MCP 的 HTTP 流式请求/响应形式进行通信;在仓库实现中,MCP 端点默认通过 /mcp 提供服务,同时与主 HTTP Trigger 共用环境。
    • 服务集成示例:包含 MCP 服务示例和示例应用,展示如何将 Cortex 的/Agent 引擎暴露为 MCP 服务端工具。
  • 安装与运行步骤

    • 环境准备
      • 需要 Go 语言开发环境(推荐版本与仓库要求相符的 Go 版本)。
    • 构建与运行
      • 克隆仓库并在项目根目录执行构建与运行,或者使用提供的 go 入口文件 cortex.go 直接运行。
    • 配置与启动
      • 需要准备 cortex.yaml 配置文件,包含 LLM、工具、内存、Agent 配置等信息,仓库提供了相应的示例和字段说明。
      • 运行方式示例(默认端口端口为 5678,MCP 服务端点为 /mcp):
        • go run cortex.go -config cortex.yaml
        • 或将编译后的二进制直接执行,参数包含 -config cortex.yaml
    • MCP 客户端配置要点
      • MCP 客户端需要配置一个 JSON 配置,描述 MCP 服务器的启动信息,以便建立连接。配置字段通常包含服务器名称、启动命令以及参数等信息,示例字段包括:
        • server: { name: "cortex-mcp", version: "0.1.0" }
        • tool: { name: "chat", description: "Chat with the AI agent" }
        • server_command: "./cortex" // 启动 MCP 服务器的可执行程序路径
        • args: ["-config", "./cortex.yaml"] // 启动服务器时的参数
      • 注意:MCP 客户端无需在服务器端的实现中包含具体的客户端调用代码,以上信息用于 MCP 客户端在连接服务器时的参数化配置。
    • 运行后怎么使用
      • 访问 MCP 服务的端点 /mcp,进行工具调用与对话请求(MCP 客户端通过 JSON-RPC 请求与服务器交互)。
      • 同时(如有 HTTP Trigger)还可通过 /chat 进行普通对话请求,/chat/stream 支持流式对话。
  • 基本使用方法

    • 启动服务器后,MCP 客户端通过 JSON-RPC 向 /mcp 端点发送请求,服务器端将调用注册的 Chat 工具对输入进行处理,并返回结果与中间步骤。
    • Ping 工具用于健康检查,Chat 工具会将输入传递给 Cortex 的 Agent 引擎并返回输出与 Tool Calls 的信息。
    • 若需要扩展工具,可以在配置中增加 MCP 工具,并在服务器端实现相应的执行逻辑。
  • 运行要点

    • MCP 端点地址默认为 http(s)://<服务器地址>:5678/mcp,具体端口可在 cortex.yaml 中配置。
    • MCP 客户端连接时会读取服务器的 ToolCapability,确保能调用 ping、chat 等工具。

信息

分类

AI与计算