huaweicloud-devkitBLOCK
Official Huawei Cloud plugin for AI agents — skills, MCP tools, safety guardrails, and cloud sandbox to help AI agents build, deploy, and operate on Huawei Cloud securely.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://github.com/huaweicloud/huaweicloud-devkit/discussions) [](LICENSE) [](https://github.com/huaweicloud/huaweicloud-devkit/actions/workflows/ci.yml) [](https://www.npmjs.com/package/huaweicloud-devkit) [](https://github.com/huaweicloud/huaweicloud-devkit)
中文 | English
Help AI coding agents use Huawei Cloud safely and accurately — a single integration that gives agents cloud knowledge, CLI tooling, and safety guardrails.
Supports OpenCode, Codex, CodeArts Agent, WorkBuddy, DeepSeek Harness (DSH), OfficeAce, Hermes, OpenClaw, and AtomCode.
Prerequisites
- Node.js >= 22
China mainland users: If you experience slow downloads or connection issues with the default npm registry, configure the Huawei Cloud npm mirror: ``bash npm config set registry https://mirrors.huaweicloud.com/repository/npm/`Restore the default registry:npm config delete registry**Mirror lag**: npm mirrors (npmmirror, mirrors.huaweicloud.com) may lag behind the official registry for hours after a new release. If install fails withETARGETor you get an older version, install via the official registry instead:`bash npx --yes --registry=https://registry.npmjs.org huaweicloud-devkit install --target``
Quick Start
If --target is omitted, the installer auto-detects agents on your machine: - None detected: interactive terminals ask what you want (install to one explicit target / install to all / wire up a generic MCP agent); non-interactive shells error out with the supported target list. - One detected: if7d34ce6814cOBSERVED · 2026-10-12Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add huaweicloud-devkit --env GITHUB_TOKEN=${GITHUB_TOKEN} --env HUAWEICLOUD_SDK_SECURITY_TOKEN=${HUAWEICLOUD_SDK_SECURITY_TOKEN} --env HUAWEI_ACCESS_KEY=${HUAWEI_ACCESS_KEY} --env HUAWEI_SECRET_KEY=${HUAWEI_SECRET_KEY} -- npx -y [email protected]{
"mcpServers": {
"huaweicloud-devkit": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}",
"HUAWEICLOUD_SDK_SECURITY_TOKEN": "${HUAWEICLOUD_SDK_SECURITY_TOKEN}",
"HUAWEI_ACCESS_KEY": "${HUAWEI_ACCESS_KEY}",
"HUAWEI_SECRET_KEY": "${HUAWEI_SECRET_KEY}"
}
}
}
}Exposed tools (33)
23 read · 10 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
huaweicloud_auth_confirm | read | Confirm a pending credential reconciliation choice returned by auth_switch persist when S1 already holds a different account (R2). decision=s1 keeps S1 as source of truth and propagates it; decision=newImported propagates the newly imported account into S1 and mirrors. |
huaweicloud_auth_status | read | Check unified Huawei Cloud authentication status across the global credential vault, OBS, KooCLI, and all supported agent MCP registrations. Returns only redacted/status information, never credentials. |
huaweicloud_auth_sync | write | Synchronize credentials from the global Huawei Cloud credential vault to OBS and report agent registration status. Does not write secrets into any agent config. |
huaweicloud_check_cli | read | Check whether Huawei Cloud KooCLI hcloud is installed and whether its version matches the plugin paired version. Returns redacted output. |
huaweicloud_check_update | write | 检查 huaweicloud-devkit 插件是否有新版本。结果含 currentVersion / latestStable / latestNext / targetVersion / updateAvailable / dismissExpiresAt / result。支持 dismiss:true 记录用户拒绝(3 天冷却,新版本会重新提醒)。 |
huaweicloud_competition_voucher_claim | read | 领取华为开发者大赛·小红书skill创新赛专属华为云代金券。前置条件:用户已完成该赛事报名(后端自动校验,未报名返回 code=HDKIT_NOT_SIGNED_UP)。仅当用户明确要求领取该赛事代金券时调用,不要主动提示。重复领取会返回已领取。 |
huaweicloud_explain_error | read | Explain a Huawei Cloud CLI, API, SDK, or agent workflow error and suggest next diagnostic steps. |
huaweicloud_get_regional_availability | read | Check if a specific Huawei Cloud service is available in a target region. Use before creating resources to prevent failures from regional unavailability. |
huaweicloud_hook_check_artifacts | read | Check generated code, IaC, policy, or config artifacts against Huawei Cloud hook risk rules. |
huaweicloud_hook_check_command | read | Check a planned shell or hcloud command against Huawei Cloud hook risk rules without executing it. |
huaweicloud_hook_check_deploy_plan | write | Check a structured or textual deployment plan for Huawei Cloud sandbox, exposure, IAM, and cost risks. |
huaweicloud_list_operations | read | List KooCLI operations for a Huawei Cloud service by running local/read-only hcloud <Service> --help. |
huaweicloud_list_regions | read | List available Huawei Cloud regions. Returns region IDs, display names, and endpoints. Use when the agent needs to discover available regions before creating resources. |
huaweicloud_obs_set_website_config | write | 配置 OBS 桶的静态网站托管。KooCLI OBS 不支持 SetBucketWebsite API,此工具内部实现 AWS4 签名调用 OBS REST API,屏蔽签名细节。支持 set(配置)、get(查询)、delete(删除)三种操作。操作前需确保桶已创建且已设置 public-read ACL。 |
huaweicloud_plan_cli_command | read | Classify and plan a Huawei Cloud hcloud command without executing it. |
huaweicloud_retrieve_skill | read | Retrieve a full SKILL.md by skill name. Returns the complete skill content plus list of reference files. Use when the agent has identified which skill to load and needs the full procedure. |
huaweicloud_run_approved_command | write | Run a write-capable hcloud command only after the exact command has been shown and explicitly approved by the user. |
huaweicloud_run_readonly_command | write | Run a read-only hcloud command through the toolkit safety policy and redact output. |
huaweicloud_sandbox_close_session | read | Close the persistent terminal session for a workspace. |
huaweicloud_sandbox_connect | read | Connect to a sandbox via hdkitservice. One user one instance - reuses existing sandbox if available, otherwise creates a new one. Returns session_id, dev_stage_id, connection_id, connection_address, and expiresAt (STS credential expiry). |
huaweicloud_sandbox_deploy_check | write | Run a deployment completeness check on the sandbox. Verifies nginx is serving, output directory exists, DevBridge tunnel is active and accessible, and QR code exists (cross-platform). Returns a score, nextStep, and (when the DevBridge tunnel is missing) an executable |
huaweicloud_sandbox_exec_with_session | write | Execute a command on a workspace terminal with session reuse (state persists across calls). Shell state (cd, env vars, aliases) carries over between calls. Use for interactive work and command sequences that need shared state. NOT for long-running commands (>30s) — prefer exec_one_shot for those. |
huaweicloud_sandbox_sign_agreement | read | Sign all unsigned or outdated agreements for the current user. Required before huaweicloud_sandbox_connect if check-user returns agreementSigned=false. CRITICAL: only call after the user explicitly consents to signing — never sign agreements on the user |
huaweicloud_sandbox_upload_file | write | Upload a local file into the sandbox workspace. Base64-encodes the file, writes it in small chunks through the terminal session (the exec channel is fragile for large single commands), then decodes and verifies the md5 checksum. Use this instead of embedding large file content directly in a command. |
huaweicloud_sandbox_upload_project | write | Package a local project directory and upload it to a sandbox workspace via HTTP tunnel. Falls back to base64 chunking if tunnel fails. Creates a tar.gz archive, uploads it, and extracts it on the sandbox by default. |
huaweicloud_search_docs | read | Search across Huawei Cloud SKILL.md files and local documentation. Returns top 10 relevant results with source, name, snippet, and relevance score. Use when the agent needs to discover which skill covers a topic, or when uncertain about API parameters, quotas, or limitations. |
huaweicloud_search_marketplace | read | Search the Huawei Cloud agent skill marketplace for available skills. Returns scored results with names, categories, and descriptions. Use when built-in skills are insufficient or the user asks what skills exist. |
huaweicloud_service_catalog | read | Return the recommended capability sources for Huawei Cloud agent tasks. |
huaweicloud_setup_obs_config | read | Synchronize KooCLI credentials to OBS config (~/.obsutilconfig). KooCLI and OBS use separate credential stores — hcloud commands work fine but OBS commands fail with |
huaweicloud_show_profile_redacted | read | Inspect a KooCLI profile through hcloud configure show and return only redacted output. |
huaweicloud_upgrade | read | 升级 huaweicloud-devkit 到最新版本。执行前必须先征得用户同意。version 仅支持 |
huaweicloud_voucher_claim | read | 领取代金券(一人一次)。重复领取会返回已领取。 |
huaweicloud_voucher_status | read | 查询代金券领取状态。用户首次使用、开始会话或询问插件能力时,应主动调用本工具检查:未领取(claimed=false)则主动提示可领取一张代金券;已领取(claimed=true)则不提示、不打扰。 |
Trust audit
BLOCKgrade F · trust 37/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (12 observation(s))
- Shell
- declared (7 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
> The token normally arrives at the subscribing endpoint (HTTP/HTTPS ping-back body, or the URL in the email confirmation link). The agent must obtain it from the user/endpoint and show the exact conf
exec(command, options = {}) {exec(command, options = {}) {proxyTls: { rejectUnauthorized: false },requestTls: { rejectUnauthorized: false },**Login** (0.2.2 has two builds — image builds retain AK/SK login + env auto-read; release builds accept only API Key. Probe the capability and branch — never assume from the version number):
> SWR Auth token valid 12h. For CCE node pull access, create long-term credential with `CreateSecret` (valid 1 year).
2. Extract to `%USERPROFILE%\hcloud`, add to user `PATH`
# HuaweiCloud DevKit 安装指南
6. **UTF-8 WITHOUT BOM**: PowerShell 5.1 `Set-Content -Encoding utf8` writes a BOM that makes strict JSON parsers fail (`Unexpected token ''`). Write state with Node `fs.writeFileSync` or another BOM-
proxy_pass http://127.0.0.1:${effectiveNodePort};const out = await callTool('huaweicloud_auth_confirm', { token: 'never-issued-confirm-token', decision: 's1' });'--keypair.private_key=-----BEGIN RSA PRIVATE KEY-----',
.markdownlint-cli2.yaml
.prettierignore
.release-please-manifest.json
.version-override
md5 = hashlib.md5()
const expectedMd5 = createHash('md5').update(content).digest('hex');const hash = createHash('md5');` name: '../../huaweicloud-plugins/hook-plugin.mjs'`,
proxy_pass http://127.0.0.1:<nodePort>;
const endpoint = `http://127.0.0.1:${server.address().port}`;process.env.HW_IAM_ENDPOINT = 'http://127.0.0.1:9';
HUAWEICLOUD_NPM_REGISTRY: 'http://127.0.0.1:9',
Gates applied: critical_finding, no_behavioural_pass, undeclared_transfer.
f7d34ce6814cfull audit observations/trust-audit/mcp-server/huaweicloud__huaweicloud-devkit.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | f7d34ce6814c | BLOCK | F | 37 | first audit |
Questions
What is the huaweicloud-devkit MCP server?
Official Huawei Cloud plugin for AI agents — skills, MCP tools, safety guardrails, and cloud sandbox to help AI agents build, deploy, and operate on Huawei Cloud securely.
What tools does huaweicloud-devkit expose?
33 in total: 23 read-only, 10 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is huaweicloud-devkit safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (37/100) and found 10 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does huaweicloud-devkit need?
It reads GITHUB_TOKEN, HUAWEICLOUD_SDK_SECURITY_TOKEN, HUAWEI_ACCESS_KEY, HUAWEI_SECRET_KEY, HUAWEI_SECURITY_TOKEN, HW_ACCESS_KEY, HW_API_KEY, HW_SECRET_KEY, HW_SECURITY_TOKEN, RELEASE_PLEASE_TOKEN, SKILL_QUALITY_STS_TOKEN and SKILL_QUALITY_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How current is this page?
The grade is for one exact copy of the source (f7d34ce6814c), read on 2026-10-12. The repository is watched and re-audited when it changes.