bazzite-mcp MCP 服务器实现

使用说明(Markdown格式)

  • 项目简介

    • 该仓库实现了一个基于 MCP 的服务端,提供对资源、工具和提示模板的管理、注册与渲染,目标是让 LLM 客户端能以统一的协议访问系统资源、执行外部工具并渲染提示模板,从而实现对本地系统的智能化管理与控制。
  • 主要功能点

    • 资源管理(Resources):托管系统上下文信息与只读数据(如系统概览、服务器信息、文档索引等)。
    • 工具注册与执行(Tools):提供 24 种工具及操作集,允许 MCP 客户端通过统一接口调用外部功能(如系统信息、网络/服务管理、容器/虚拟化、游戏设置等)。
    • 提示模板(Prompts):预定义的工作流模板,帮助 AI 客户端在不同场景下进行系统诊断、应用安装、开发环境搭建等任务。
    • JSON-RPC 与多传输支持:通过 MCP 的约定向客户端处理请求与响应,且具备在 stdio、SSE、WebSocket 等传输协议上的扩展能力。
    • 会话管理、能力声明与日志审计:服务器端可记录操作、提供回滚能力及审计日志,确保安全可追溯。
    • 客户端可与之对接的示例配置:配合 Claude Code、OpenCode 等 MCP 客户端实现无缝集成。
  • 安装步骤

    • 运行环境:Python 3.11+。
    • 使用 uv 工具安装与运行(示例与仓库自带文档一致,具体命令按需执行):
      • uv tool install bazzite-mcp
      • uv tool --version
    • 从源码运行(开发场景):
      • uv sync
      • uv run --directory /path/to/bazzite-mcp python -m bazzite_mcp
    • 验证安装与服务启动后,服务器将监听 MCP 客户端的请求,开始提供资源、工具和 prompts。
  • 服务器配置(MCP 客户端所需的配置示例,供参考) { "server_name": "bazzite", "command": "bazzite-mcp", "args": {} } 注释:

    • server_name:MCP 服务端在客户端配置中的名称标识,建议与仓库中实际服务名保持一致(此处为 bazzite)。
    • command:用于启动 MCP 服务器的命令,本文对应的可执行命令为 bazzite-mcp。
    • args:启动参数,如传输方式等,若客户端不需要特定参数,此处留空即可(客户端无需包含额外配置信息)。
  • 基本使用方法

    • 在 MCP 客户端(如 Claude Code)中添加服务器配置,指向上述 server_name 与 command。
    • 启动服务器后,客户端即可通过 MCP 协议请求获取资源、调用工具、获取 Prompts等。
    • 客户端与服务器之间通过 JSON-RPC 进行请求/响应传输,支持多种传输协议,具体取决于客户端实现。
    • 如需进一步自定义工作流,可在服务器端使用 Prompts、Resources 与 Tools 的组合来实现更复杂的交互。
  • 额外说明

    • 仓库内的测试用例覆盖了工具、资源、Docs、系统、虚拟化等大量子系统,表明实现具备较完整的 MCP 服务端能力和相应工具链。
    • 客户端与服务器的对接要遵循 MCP 的标准格式与 RPC 调用约定,确保请求能够被正确解析并返回相应的 JSON-RPC 响应。

服务器信息