-
项目简介
- 该仓库实现了一个基于 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 客户端需要配置一个 JSON 配置,描述 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与计算