Sage MCP Server

使用说明(简要、可直接操作):

  • 项目简介
    • Sage 是一个面向大模型的多智能体工作流框架,其中的 MCP 服务端模块实现了 MCP(模型上下文协议)的服务端能力,能够注册、管理 MCP 服务器,并通过插件化的工具系统对外暴露可调用的工具与资源,支持多种传输形态(如 HTTP API、SSE、流式接口等)。
  • 主要功能点
    • MCP 服务器注册与管理:提供添加、列出、删除、刷新 MCP 服务器的接口与逻辑,支持对服务器状态的开启/禁用管理。
    • 工具与资源集成:通过 ToolManager/ToolProxy 集成 MCP 服务器暴露的工具,支持自动发现 MCP 工具并可按需要进行过滤和代理。
    • Prompts 与上下文模板:结合 Sage 的上下文/提示词体系,能够暴露并渲染 Prompt 模板,供 MCP 客户端使用。
    • JSON-RPC/流式通讯支持:通过 MCP 框架提供的接口,按 MCP 规范返回 JSON-RPC 风格的响应,以及对大规模流式输出进行分块传输。
    • 安全与会话管理:提供会话上下文管理、任务状态查询、会话中断、会话持久化(保存/恢复)等能力。
    • 多传输支持与 UI 集成:支持 Stdio、SSE/WebSocket 等传输形态,且与 Sage 的后端管理、前端 UI/示例集成良好。
  • 安装与运行步骤(概要)
    1. 安装依赖:确保 Python 环境就绪,安装项目所需依赖(含 FastAPI、UVicorn、OpenAI 客户端、mcp/fastmcp 等)。
    2. 启动后端服务:直接运行 Sage 的后端服务器(包含 MCP 服务端路由和 MCP HTTP App 的注册)。
    3. MCP 配置与注册:通过 /api/mcp/add 接口向工具管理器注册 MCP 服务器,提供名称、协议、URL、API Key 等信息。
    4. MCP 客户端接入:MCP 客户端需要具备启动命令与参数(command、args),以与 Sage 的 MCP 服务器建立连接并加载工具。配置信息需为 JSON,包含 server name、command、args 等字段。
    5. 运行与调试:通过 Sage 提供的工具列表、Prompts、工作流等功能进行验证,确保 MCP 工具能够正确调用并返回结果。
  • 服务器配置(示例性描述,非代码)
    MCP 客户端需要的配置(JSON 格式,示例字段):
    • server_name: "Knowledge Base MCP Server"
    • command: 指向 MCP 客户端启动程序的可执行入口(如某个 MCP 客户端进程的启动命令)
    • args: ["--mcp-config", "mcp_setting.json", "--server_uri", "http://localhost:8001/api/mcp/"]
      注释:server_name 对应 Sage 中注册的 MCP 服务器名称,command/args 代表 MCP 客户端启动所需的命令及其参数,用于与 Sage 的 MCP 服务端建立连接并注册工具。实际的启动命令与参数需根据部署环境与具体 MCP 客户端实现来确定。此处给出结构信息用于理解配置场景。
  • 基本使用方法
    • 注册 MCP 服务器后端后,客户端可通过提供的命令和参数启动 MCP 客户端进程,连接到 Sage 的 MCP 服务端;Sage 将暴露工具、资源及 Prompts,客户端可通过 MCP 协议向服务端发起资源读取、工具调用、Prompts 获取等请求,并接收标准化的 JSON-RPC 响应或通知。
    • 管理端可查看已注册的 MCP 服务器、状态、以及是否启用/禁用,必要时可通过刷新接口重新建立连接。
    • 客户端另可通过 Sage 提供的 API 操作工具、执行任务并获取执行结果与日志信息,便于监控和错误排查。

服务器信息