更新时间:2026-11-03 GMT+08:00
分享

Autopilot MCP

简介

MCP(Model Context Protocol)是由 Anthropic 于 2024 年 11 月提出的开放协议标准,旨在解决大型语言模型与外部系统(如数据库、API)交互的碎片化问题。通过标准化接口,让 LLM 动态理解工具功能并执行操作,降低集成成本。

DWS Autopilot MCP Server 是 DWS AI 诊断体系中的关键组件,为 Skill 提供集群监控指标查询的工具接口。Skill 通过 MCP Server 获取集群的 CPU、内存、I/O 等实时监控数据,作为诊断的事实依据。

用户 → AI 对话窗口 → Skill(诊断逻辑)→ MCP Server(指标查询)→ DWS Autopilot API → 集群监控数据

单击github地址获取。

功能介绍

工具

DWS Autopilot MCP Server 提供以下工具:

  1. dws_autopilot_get_clusters 查询 DWS 集群列表,无需参数。
  2. dws_autopilot_get_hosts 查询 DWS 集群节点信息,支持过滤、分页、排序。
    • 必填:cluster_id(字符串)— 集群 ID
    • 可选过滤:filter(host_name / work_ip)、value、sub_filter、sub_value
    • 可选分页:page_size(默认 10,最大 2000)、page_num(默认 1)、offset(默认 0)、limit(默认 512)
    • 可选排序:order_by(cpu_usage、mem_usage、disk_usage_avg、disk_io、tcp_resend_rate、net_io)、sort_by(ASC / DESC,默认 DESC)
  3. dws_autopilot_get_metric 查询 DWS 集群指标时序数据。
    • 必填:cluster_id(字符串)、metric_name(字符串)、from_ts(13 位 Unix 时间戳,毫秒)、to_ts(13 位 Unix 时间戳,毫秒)
    • 支持的指标:cpu_usage、mem_usage、disk_usage_avg、tcp_resend_rate、disk_io、net_io、cpu_io_diagnose_detail(返回包含 query_id 和 query 字段的逐查询详情)
    • 可选:offset(默认 0)、limit(最大 1000,默认 50)、order_by、sort_by(ASC / DESC)

认证方式

采用 AK/SK 签名认证:

  • AK/SK 签名模式:使用华为云 Access Key(AK)和 Secret Key(SK)对每个 API 请求进行签名,签名后自动添加 Authorization 和 X-Sdk-Date 请求头完成认证。
  • 如果配置了 project_id,会自动添加 X-Project-Id 请求头,用于多项目场景。

配置加密

敏感字段(AK、SK)支持 AES-256-GCM 加密存储:

  • 启动 MCP Server 时自动检测明文并加密
  • 基于机器指纹的密钥保护,绑定当前机器环境
  • 主密钥双重保护:crypter(存储在 yaml)+ cryptComponent(存储在 crypt.json)

安装与配置

环境准备

  • Python 3.10 及以上
  • pip 包管理器

安装

# 克隆源码
git clone <repo_url>
cd dws_autopilot_mcp

# 安装依赖
pip install .

配置说明

配置文件位于 conf/dws_config.yaml,首次使用需填写配置:

region_id: "cn-north-7"
ak: "your_access_key"
sk: "your_secret_key"
project_id: "your_project_id"
http_proxy: "http://proxy.example.com:8080"
https_proxy: "http://proxy.example.com:8080"
proxy_username: "your_proxy_user"
proxy_password: "your_proxy_password"
表1 参数说明

参数

说明

示例

region_id

华为云区域 ID,用于自动生成 API 端点

cn-north-7

ak

华为云 Access Key(明文输入,启动后自动加密)

—

sk

华为云 Secret Key(明文输入,启动后自动加密)

—

project_id

项目 ID,用于多项目场景的 X-Project-Id 请求头

—

http_proxy

HTTP 代理地址(可直接包含认证信息,也可通过 proxy_username/proxy_password 单独配置)

http://proxy.example.com:8080

https_proxy

HTTPS 代理地址

http://proxy.example.com:8080

proxy_username

代理认证用户名(自动注入代理 URL,密码自动 percent-encoding)

—

proxy_password

代理认证密码(自动 percent-encoding 并注入代理 URL)

—

region_id 会自动生成 DMS_MONITORING_BASE_URL(https://dws.{region_id}.myhuaweicloud.com),无需手动配置。

配置管理 CLI

安装后提供 dws-mcp-config 命令行工具,需在项目根目录(dws_autopilot_mcp/)下执行:

init - 初始化/更新配置

init 命令用于设置配置参数:

python -m dws_autopilot_mcp.config_cli init --region_id cn-north-7 --ak your_ak --sk your_sk --project_id your_project_id

init 命令支持部分更新,仅更新指定的参数,未指定的参数保持不变。例如只更新 AK:python -m dws_autopilot_mcp.config_cli init --ak new_ak。

更新配置后,重启 MCP Server 即可自动加密敏感字段(AK、SK)。

其他命令

# 手动触发加密(将明文敏感字段加密,启动 MCP Server 时也会自动执行)
python -m dws_autopilot_mcp.config_cli encrypt

# 查看配置状态(敏感信息以 ****** 显示,不会泄露)
python -m dws_autopilot_mcp.config_cli show

# 重置配置为空模板(清空所有参数,删除 crypt.json)
python -m dws_autopilot_mcp.config_cli reset

encrypt、show、reset 命令无需额外参数。

客户端配置

以 OpenCode 为例,在 MCP Servers 配置中添加:

{
  "dws_autopilot_mcp": {
    "type": "local",
    "command": [
      "/path/to/python.exe",
      "-m",
      "dws_autopilot_mcp.server"
    ],
    "environment": {
      "PYTHONPATH": "/path/to/dws_autopilot_mcp/src"
    }
  }
}

将 /path/to/python.exe 替换为本机 Python 可执行文件路径,/path/to/dws_autopilot_mcp/src 替换为本项目 src 目录的绝对路径。Windows 下 PYTHONPATH 使用 ; 分隔,Linux/macOS 使用 : 分隔。

也可通过环境变量 DWS_MCP_CONFIG 指定配置文件路径。

开始体验

完成配置后,即可在客户端中通过自然语言与 DWS 集群交互,例如:

  • "查询 XXXX 集群节点信息"
  • "查看 XXXX 集群最近 1 小时的 CPU 使用率"
  • "我的 DWS 集群 CPU 使用率很高,帮忙诊断一下"
  • "检查这条 SQL 的语法:SELECT * FROM t1"

MCP Server 在 AI 诊断中的角色

在 DWS AI 诊断体系中,MCP Server 承担以下角色:

表2 MCP Server 在 AI 诊断中的角色

角色

说明

数据通道

作为 Skill 获取集群监控指标的通道

参数补全

I/O 诊断中,当用户未提供 project_id/region_id 时,自动从 MCP Server 配置文件中读取

指标查询

提供 dws_autopilot_get_metric 工具,支持 CpuStat、MemStat、IOStat、InstanceMemory、cpu_io_diagnose_detail、memory_diagnose_detail 等指标查询

相关文档