Running one server per product is the design choice that matters here: an agent working on ECS never sees the WAF tools, which keeps the tool list — and the context it costs — proportional to the job. The credentials are account-level access keys, so scope them at IAM before you point anything at production.
Huawei Cloud's own collection of MCP servers, one per product: you launch the service you need, such as mcp-server-ecs, and it exposes that service's operations.
- Compute and storage — Elastic Cloud Server, Bare Metal Server, Auto Scaling, FunctionGraph, Object Storage Service, Elastic Volume Service, Cloud Backup and Recovery
- Networking — Elastic Load Balance, Virtual Private Cloud, Elastic IP, NAT Gateway, VPC Endpoint, Enterprise Router, Direct Connect, Virtual Private Network
- Databases — Relational Database Service, GaussDB, TaurusDB, GeminiDB, Document Database Service, Data Replication Service, Data Admin Service
- Containers — Cloud Container Engine, Cloud Container Instance, SoftWare Repository for Container, Application Service Mesh
- Data and AI — MapReduce Service, Data Warehouse Service, Data Lake Insight, ModelArts, Optical Character Recognition, Speech Interaction Service, Graph Engine Service
- Operations and security — Identity and Access Management, Cloud Eye, Log Tank Service, Cloud Trace Service, Web Application Firewall, Host Security Service, Key Management
- CodeArts across the delivery chain — Req, Build, Check, Deploy, Pipeline, Artifact and CloudTest
A Huawei Cloud access key and secret key, set as HUAWEI_ACCESS_KEY and HUAWEI_SECRET_KEY. Python 3.10 or above, and uv for the recommended launch path. Each service starts as its own process — uv run mcp-server-ecs, for example — and takes -t to choose http, sse or stdio and -p to set the port, overriding the sub-project's config.yaml.
Build from source — clone the repository and build it, then point your client at the binary
