使用说明(Markdown 格式)

  • 项目简介

    • 该仓库实现的是一个 MCP 服务器端集成方案,围绕 vLLM.rs 引擎,提供对资源管理、工具调用(Tools/MCP 形式)、Prompt 定义与渲染等核心能力的 MCP 风格对接能力。服务器端处理来自 MCP 客户端的请求,执行工具调用、管理会话、并渲染提示模板等,支持在同一系统中通过配置同时运行多个 MCP 服务。
  • 主要功能点

    • MCP 协议处理与会话管理:接收并响应 MCP 请求,维护会话状态与上下文,支持持续对话的上下文传递。
    • 资源与数据访问:提供资源管理能力,供 LLM 在推理过程中读取/使用资源数据。
    • 工具注册与执行(Tools):注册外部工具,处理模型对工具的请求调用,并将结果回传给模型,支持跨服务器协同执行。
    • Prompt 模板渲染与渲染模式:定义和渲染 Prompt 模板,支持可定制的 LLM 交互模式。
    • JSON-RPC 风格的通信:通过 MCP 相关消息格式进行请求/响应传递,以及必要的通知机制。
    • 会话与能力声明:管理会话、声明服务器能力,结合 MCP 配置提供外部工具的调用能力。
    • 支持多种传输模式与并发:结合后端引擎,提供高并发的工具调用与任务调度。
    • MCP 配置驱动:通过 mcp-config 指定多服务器配置,以实现分布式 MCP 服务的协同工作。
  • 安装与运行步骤

    • 先安装 Rust 开发环境(Rustup、Cargo)。

    • 构建项目(Release 版本以获得最佳性能)。

    • 启动 MCP 服务器与主 MCP 客户端协同工作流程:

      • 如需启用 MCP,请在启动 vLLM.rs 服务时提供 MCP 配置文件路径,例如: python -m vllm_rs.server --m <模型标识> --mcp-config ./mcp.json --ui-server --context-cache
      • MCP 配置示例(JSON,示意性,具体字段请按实际 MCP 管理工具的实现而定): { "server_name": "vllm-rs-mcp-1", "servers": [ { "name": "mcp-server-1", "command": "/path/to/mcp-server-executable", "args": ["--host","0.0.0.0","--port","9100"] }, { "name": "mcp-server-2", "command": "/path/to/mcp-server-executable", "args": ["--host","0.0.0.0","--port","9101"] } ], "notes": "每个 MCP 服务器负责不同的工具执行/资源分区,vLLM.rs 服务将通过 MCP 协议与这些服务器进行工具调用和资源协同。客户端无需配置 MCP 细节。" }
    • 服务器配置与依赖

      • 服务器侧需要提供一个 MCP 配置(mcp.json 等),以描述要启动的 MCP 服务及其命令和参数。此配置用于 MCP 管理器创建并管理多个 MCP 服务实例(若有)。
      • 启动后,MCP 服务将与 vLLM.rs 服务器对接,进行工具调用、资源交互等。
  • 基本使用方法

    • 启动方式
      • 运行包含 MCP 配置的 MCP-集成服务器(如上示例),确保 MCP 服务正确启动并对接到 vLLM.rs 服务器。
      • 启动 vLLM.rs 服务,使用 --mcp-config 指向 MCP 配置文件,以开启 MCP 工具调用能力。
    • 使用流程
      • 客户端通过 MCP 请求调用工具,服务器接收后通过 execute_mcp_tool_calls_async 调用 MCP 管理的工具,返回结果并继续推理。
      • 在需要持续上下文的场景下,服务器会管理会话信息与 KV Cache 等资源,以支持高性能推理。
    • 典型用例
      • 启动包含 MCP 的 API 服务器后,使用带有工具调用能力的客户端向模型发送请求,服务器在模型需要调用外部工具时,通过 MCP 管理器执行工具并把结果回传给模型继续推理。

信息

分类

AI与计算