使用说明

项目简介

华为云 MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端应用,旨在使大型语言模型(LLM)客户端能够以标准化方式安全地访问和操作华为云资源。它通过将华为云的操作封装为 MCP 工具,使 AI 助手能够在对话或自动化流程中执行云管理任务,支持包括云服务器 (ECS)、对象存储服务 (OBS) 等核心服务。

主要功能点

  • 华为云资源管理: 提供 LLM 直接与华为云交互的能力。
  • 对象存储 (OBS) 操作: 支持列举、判断存在性、创建、删除存储桶,以及列举、下载、删除存储桶中的对象等功能。
  • 云服务器 (ECS) 操作: 支持创建按需计费的 ECS 实例,以及查询和删除 ECS 实例(查询和删除功能代码已存在,但可能需要手动注册为工具)。
  • 虚拟私有云 (VPC) 相关辅助: 包含获取 VPC 和子网信息的辅助函数(可能通过配置暴露为工具)。
  • 标准化工具接口: 通过 MCP 标准将云操作暴露为 LLM 可调用的工具。
  • 多种传输协议: 支持 Stdio 和 SSE 协议进行客户端通信。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/HuaweiCloudDeveloper/mcp-server.git
    cd mcp-server
  2. 安装依赖: 项目依赖于华为云的 Python SDK ('huaweicloudsdkcore', 'huaweicloudsdkvpc', 'huaweicloudsdkecs')、OBS Python SDK ('obs'), 以及其他如 'fastmcp', 'click', 'dotenv' 等库。请确保安装所有必需的库。通常可以使用 pip 安装:

    pip install -r requirements.txt # 假设存在 requirements.txt 文件,或根据代码中 import 的库手动安装
    pip install fastmcp click python-dotenv huaweicloudsdkcore huaweicloudsdkvpc huaweicloudsdkecs obs-python-sdk pydantic
  3. 配置华为云凭证: 服务端需要华为云的访问密钥 (AK/SK) 和项目 ID 来调用云 API。请将以下信息配置为环境变量:

    • 'HUAWEI_CLOUD_AK': 您的华为云 Access Key ID (用于 ECS/VPC 工具)。
    • 'HUAWEI_CLOUD_SK': 您的华为云 Secret Access Key (用于 ECS/VPC 工具)。
    • 'HUAWEI_REGION_CN_GUANGZHOU_PROJECT_ID': 华为云项目 ID (用于 VPC 工具)。
    • 'AccessKeyID': 您的华为云 Access Key ID (用于 OBS 工具)。
    • 'SecretAccessKey': 您的华为云 Secret Access Key (用于 OBS 工具)。
    • (可选)'MCPServerPort': OBS 服务器监听端口(默认为 8000)。
    • (可选)'ServerTransport': OBS 服务器传输协议(默认为 stdio)。

    您可以在系统的环境变量中设置,或者创建一个 '.env' 文件在项目根目录下(如果代码支持通过 'dotenv' 加载)。

服务器配置(供 MCP 客户端使用)

MCP 客户端(如 LLM 应用)需要知道如何启动和连接到这个 MCP 服务器。通常,这通过配置服务器的启动命令和参数来实现。以下是基于 'src/server.py' (主要用于 ECS/VPC) 和 'src/obsserver.py' (专门用于 OBS) 的示例配置信息结构,具体需要哪一个取决于您的使用场景:

配置示例 1: 启动通用服务器 (包含 ECS 等工具)

该服务器注册了 ECS 等相关工具。

  • 'server name': 'alibaba-cloud-ops-mcp-server' (这是代码中指定的服务器名称)
  • 'command': 'python'
  • 'args': '["src/server.py", "--transport", "stdio"]' (使用 stdio 传输协议) 或 '["src/server.py", "--transport", "sse"]' (使用 sse 传输协议)
  • 'options': 其他可能的配置,如工作目录等。

配置示例 2: 启动 OBS 专用服务器

该服务器专门注册了 OBS 相关工具。

  • 'server name': 'obsserver' (这是代码中指定的服务器名称)
  • 'command': 'python'
  • 'args': '["src/obsserver.py"]' (传输协议默认为 stdio,可通过 'ServerTransport' 环境变量控制)
  • 'options': 其他可能的配置。

重要提示: 将上述信息集成到您的 MCP 客户端的服务器配置中。具体的 JSON 结构和位置取决于您的 MCP 客户端实现。

基本使用方法

  1. 启动服务器: 根据您的需求,选择并运行上述任一 Python 脚本作为 MCP 服务器进程。例如,在终端中运行 'python src/server.py --transport stdio' 或 'python src/obsserver.py'.
  2. 配置客户端: 在您的 LLM 客户端或 MCP 客户端框架中,按照上述 "服务器配置" 部分提供的信息,配置与此 MCP 服务器的连接方式(指定 'command', 'args' 等)。
  3. LLM 调用: 一旦客户端成功连接并识别了服务器提供的工具能力(如 OBS 或 ECS 工具),您的 LLM 就可以通过函数调用等机制,调用这些工具来执行相应的华为云操作,例如调用 'get_buckets' 工具来获取 OBS 存储桶列表,或者调用 'create_post_paid_ecs_instance' 来创建 ECS 实例。

信息

分类

AI与计算