通过MCP调用SysOM诊断的配置方法

更新时间:
复制为 MD 格式

SysOM MCP是一套基于 Model Context Protocol(MCP)的系统诊断工具集。它将多个 SysOM 诊断服务聚合到统一的 MCP Server 中,对外提供标准 MCP 调用接口,使你可以直接运行诊断服务,或接入 AI 智能助手(如 Qwen Code)用自然语言完成系统诊断、性能分析与问题排查。

核心能力一览

  • 标准 MCP 协议实现,可与 Qwen Code 等客户端对接。

  • 单一 MCP Server 聚合多类诊断服务,统一调用入口。

  • 支持两种运行模式:stdio(给 MCP 客户端)与 SSE(HTTP/SSE 服务)。

  • 20+ 诊断工具:内存、IO、网络、调度、磁盘、崩溃分析等。

  • 支持 VMCORE / dmesg 宕机诊断:创建任务、查询结果、查看历史。

直接拉起 SysOM MCP 服务器

环境要求

  • Python 3.11+

  • uv 包管理工具

若需使用 Qwen Code,需要配置Node.js + npm。

安装与依赖准备

git clone https://github.com/alibaba/sysom\_mcp.git # 克隆项目
cd sysom_mcp
curl -LsSf https://astral.sh/uv/install.sh | sh  # 安装 uv
uv sync                                          # 安装依赖

配置认证信息

在项目根目录创建 .env 文件(默认 AccessKey 模式):

type='access_key'
ACCESS_KEY_ID=your_access_key_id
ACCESS_KEY_SECRET=your_access_key_secret
如需 STS、RAM Role ARN 等其他认证方式,请参考项目内 ENV_CONFIG.md

启动 SysOM MCP Server

SysOM MCP 支持两种运行模式:stdioSSE

  • stdio 模式(MCP 标准:JSON-RPC over stdio)

    适用于“由 MCP Client 拉起并通过标准输入输出通信”的场景(例如后面 AI 助手接入时就会用它):

    uv run python sysom_main_mcp.py --stdio
  • SSE 模式(HTTP/SSE 服务)

    适用于希望把服务作为网络端点暴露出来的场景:

    uv run python sysom_main_mcp.py --sse --host 0.0.0.0 --port 7140

通过 AI 智能助手接入 SysOM MCP

以 Qwen Code 为例,让 AI 助手通过 MCP 协议调用 SysOM MCP 提供的诊断工具。可实现使用自然语言描述问题后,AI 决定调用哪些工具、如何组合输出诊断结论。

  1. 安装 Qwen Code:确保本机有 Node.js + npm,然后执行以下命令进行安装。

    # 可选:配置 npm 镜像源加速
    npm config set registry https://registry.npmmirror.com
    
    # 安装 Qwen Code
    npm install -g @qwen-code/qwen-code@latest
    
  2. 参考阿里云百炼文档开通服务并获取API Key

  3. 配置 Qwen Code MCP Server,编辑 Qwen Code 配置文件(通常位于 ~/.qwen/settings.json),加入 SysOM MCP 作为 MCP Server:

    {
      "mcpServers": {
        "sysom_mcp": {
          "command": "uv",
          "args": ["run", "python", "sysom_main_mcp.py", "--stdio"],
          "env": {
            "ACCESS_KEY_ID": "your_access_key_id",
            "ACCESS_KEY_SECRET": "your_access_key_secret",
            "DASHSCOPE_API_KEY": "your_dashscope_api_key"
          },
          "cwd": "<项目目录>",
          "timeout": 30000,
          "trust": false
        }
      }
    }
    

    配置要点:

    • command/args:通过 uv run ... --stdio 方式让 Qwen Code 自动拉起 SysOM MCP(stdio 通信)

    • cwd:必须替换为 sysom_mcp 的实际目录

    • env:填入真实的密钥环境变量

    • trust=false:首次使用时需要人工确认信任该 MCP Server

    • timeout:默认 30 秒,可按实际诊断耗时调整