Magpie MCP 服务器

使用说明(Markdown 格式):

  • 项目简介

    • Magpie 代码库中集成了一个 MCP 服务器,用以向 LLM 客户端暴露“资源、工具、Prompts”等上下文信息和外部功能。服务器实现了对工具的注册、执行,以及对 Prompts 的管理与渲染,目标是在统一的后端框架中通过 JSON-RPC 风格的请求-响应模式提供后端服务。
  • 主要功能点

    • MCP 服务器核心能力:注册并暴露工具、资源与提示模版,提供数据访问与调用外部工具的能力。
    • JSON-RPC 通信风格:服务器端接收客户端请求,返回标准化的 JSON-RPC 响应。
    • 会话与能力声明:服务器端维护会话状态、能力(可用工具、资源等)声明,便于 LLM 客户端按需调用。
    • 多传输协议支持(示例性):通过 MCP 框架中的工具暴露接口,未来可拓展至 Stdio、SSE、WebSocket 等传输通道。
    • 安全与扩展性:模块化设计,工具以装饰器注册,便于扩展新的资源、工具与 Prompts。
  • 安装步骤

    • 环境要求:Python 3.10 及以上。
    • 快速安装(来自 GitHub 官方仓库):
      • 安装命令:pip install git+https://github.com/AMD-AGI/Magpie.git
    • 开发/源码安装(可按需本地调试):
      • git clone https://github.com/AMD-AGI/Magpie.git
      • cd Magpie
      • pip install -e .
    • 运行 MCP 服务器(示例):
      • python -m Magpie.mcp
    • 备注:仓库中提供了一个默认的 MCP 客户端配置文件 Magpie/mcp/config.json,客户端在连接服务器时可参考该配置。
  • 服务器配置(MCP 客户端需要的配置信息)

    • 说明:MCP 客户端需要通过配置文件来知道如何连接服务器。以下 JSON 配置示例描述服务器在启动时的基本信息,包含服务器名称、启动命令及参数等,用于帮助 MCP 客户端建立连接。请注意,该配置仅作为客户端连接的示例,实际请求/调用仍由 MCP 协议进行。
    • 配置示例(JSON): { "server_name": "magpie-mcp-server", "command": ["python", "-m", "Magpie.mcp"], "args": [] }
    • 注释:
      • server_name:服务器标识名称,便于在多服务器环境中区分。
      • command:启动服务器的命令(不含工作目录等依赖)。
      • args:启动命令的附加参数(若有)。
      • 该配置仅用于帮助 MCP 客户端建立初始连接,实际通信采用 MCP 框架的 JSON-RPC 风格协议。
  • 基本使用方法

    • 启动服务器:在项目根或可访问的工作目录中执行 python -m Magpie.mcp 启动服务器。
    • 客户端交互:通过 MCP 客户端以 JSON-RPC 风格的请求向服务器提交以下操作(示例性描述):
      • 注册资源与工具:将需要的资源(如数据集、模型、GPU 配置)以及工具方法注册到 MCP 服务器。
      • 读取资源:请求获取并访问服务器上的 Resources。
      • 注册和执行 Tool:通过请求调用注册的工具,以分析、比较、配置 GPU 等功能。
      • 获取与渲染 Prompt:请求渲染/获取 Prompts,用于 LLM 的对话上下文。
    • 注意:具体的请求字段与响应格式依 MCP 框架实现的 JSON-RPC 约定执行,服务器端暴露的工具通过装饰器自动注册,客户端可按需调用。
  • 典型工作流(简述)

    • 启动 MCP 服务器后,客户端可以查询服务器能力(有哪些 Tools、Resources、Prompts 可用)。
    • 客户端通过 JSON-RPC 方式请求执行某个 Tool,例如分析、比较、配置 GPU 等。
    • 服务器返回标准化的 JSON-RPC 响应,携带结果或错误信息,便于 LLM 进行后续决策与实现。
  • 备注

    • 本实现聚焦在服务器端对 MCP 协议核心能力的提供与暴露,客户端实现与具体调用格式将遵循 MCP 框架的标准约定。

服务器信息