Skip to main content
Glama
hcloud MCP Server

hcloud MCP Server

by binrogithub

Huawei Cloud CLI (generic)

hcloud_cli
Destructive

Run Huawei Cloud CLI commands to discover services, inspect operation parameters, and manage cloud resources, with dry-run and explicit confirmation for destructive actions.

Instructions

Huawei Cloud CLI (hcloud) terminal interface.

Navigate the CLI using --help to discover operations and parameters:

  1. --help — list all available services

  2. <Service> --help — list operations for a service (e.g., IAM --help)

  3. <Service> <Operation> --help — show parameters for an operation (e.g., IAM ListCustomPolicies --help)

  4. <Service> <Operation> --param1=value1 --param2=value2 — execute an operation

The parameter format is always --param=value (equals sign required). JSON output is forced automatically (--cli-output=json).

For destructive operations (Delete, Remove, Revoke, Detach, etc.), set confirm=true to execute. Without confirmation, the command runs in --dryrun mode first.

OBS (Object Storage Service) uses obsutil with a different format:

  1. obs help — list all OBS commands

  2. obs help <command> — show help for a specific command (e.g., obs help ls)

  3. obs <command> [args...] [options...] — execute an OBS command

  4. Use --cli-region=<region> to specify the region (translated to the OBS endpoint automatically)

  5. OBS output is plain text (not JSON)

  6. For OBS destructive commands that support dry-run (cp, mv, sync), the command runs with -dryRun unless confirmed

  7. For OBS destructive commands without dry-run support (rm, abort, mb, chattri, bucketpolicy, lifecycle), you must set confirm=true to execute

Input Schema

NameRequiredDescriptionDefault
commandYeshcloud CLI arguments (everything after 'hcloud'). Examples: '--help', 'IAM --help', 'IAM ListCustomPolicies --help', 'IAM ListCustomPolicies', 'IAM DeleteCustomPolicy --role_id=abc123', 'obs help', 'obs help ls', 'obs ls --cli-region=la-north-2', 'obs rm obs://bucket/key'
confirmNoSet to true to execute destructive operations. If false (default), destructive commands run in --dryrun mode (or are refused for OBS commands without dry-run support).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the openWorldHint/destructiveHint annotations, the description discloses concrete behavior: JSON output forced via `--cli-output=json`, destructive verbs listed explicitly (Delete, Remove, Revoke, Detach), dry-run-by-default with confirm=true to execute, OBS plain-text output, and the split between OBS commands supporting `-dryRun` (cp, mv, sync) versus those refused without confirmation (rm, abort, mb, chattri, bucketpolicy, lifecycle). This is substantial context an agent cannot get from annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but front-loaded and structured: a one-line identity, then two numbered discovery/execution ladders, then a short destructive-behavior paragraph. Every section carries operational content; the enumerations of destructive OBS commands and verbs are dense but earn their space by defining confirmation requirements.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly compensates by stating that CLI output is forced to JSON while OBS output is plain text. It also covers confirmation semantics for both subsystems. Remaining gaps are the routing question against specialized siblings and any statement about output size, pagination, or error surface for arbitrary CLI calls.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds genuine meaning: the parameter format is always `--param=value` with an equals sign required, `--cli-region` is translated into an OBS endpoint automatically, and confirm=false triggers `--dryrun` rather than a plain refusal for most commands. These format and translation rules are not derivable from the two-parameter schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource and mechanism: a generic `hcloud`/`obs` CLI passthrough with a documented `--help` discovery ladder and `--param=value` execution form. It is clear what the tool does, but it never contrasts itself with the ~130 purpose-built `hcloud_list_*`/`hcloud_show_*` siblings, so an agent cannot tell from this text why it should pick the generic CLI over a dedicated tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives excellent *how* guidance (four-step help discovery, OBS equivalent, required equals-sign syntax) and states the confirmation rule for destructive commands. What is missing is *when* guidance: nothing says this is the fallback for operations lacking a dedicated tool, nor when the specialized siblings should be preferred. Usage is only implied by the tool's generality.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools