Haplane MCP server
鸿蒙 HAP 签名部署 MCP:面向鸿蒙应用开发者,真机调试一键签装,也走华为邀测/上架。中性工具+可订阅源,本地 stdio。
0 stars45 downloads/wk
Reviews
Write oneNobody has reviewed Haplane yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Haplane tools (13, 1 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
agc_provision真机一次性配置向导(只读计划):自检 appId/设备/调试Profile 现状,输出还差哪几步一次性配置 + 每步确切写端点。不产生写。写执行占真账号配额(调试证书仅2本/设备一年不可删),须真机 UDID,逐项确认后按 plan.api 执行。
agc_status真机一次性配置自检(只读):用 AGC client_credentials 查 appId(按包名)/ 已注册设备(用量 X/100)/ 现有 Profile。凭据走 env:AGC_TOKEN 或 AGC_CLIENT_ID+AGC_CLIENT_SECRET。不产生任何写。
deploy_to_devicewrite action核心(一条命令全自动):hdc 联机 → 取 UDID → 签名 → 装真机 → 验签。**零配置**:config 无有效签名材料时,自动读 HAP 包名 + 绑当前 UDID 本地生成 OpenHarmony 材料(模拟器/OpenHarmony 装机);config 有 AGC 材料则用它(真机)。装机遇签名不一致自动卸旧重装。inFile 与 app 二选一:app=<registry 应用 id> 时先从 HapLane Registry 下载并 sha256 强校验再进链(search_hap 查 id)。
doctor自检:华为工具链(hvigorw/java/hap-sign-tool/hdc)与签名材料(证书/Profile/keystore/密码环境变量)是否就位。
gen_signing_material纯 Node 生成 OpenHarmony 本地自签材料(不碰 AGC,跨平台):app 证书链+debug profile(绑 bundleName+UDID)+keystore(密码 123456)。返回可直接填进 config.signing 的段。产物链 OpenHarmony 根→模拟器/OpenHarmony 设备有效,纯血真机须换 AGC 材料。
hdc_devices列出 hdc 已联机的真机/模拟器(hdc list targets)。装真机前先确认设备在线。
hdc_udid取指定设备 UDID(hdc shell bm get --udid)。真机 debug 签名/Profile 必须绑该 UDID;也供注册到华为开发者账号。
install把已签名 HAP 装到联机真机(hdc install -r)。失败多为签名/Profile/UDID 未注册。
list_sources列出用户当前订阅的 registry 源(只读)。HapLane 是中性工具,可搜可装的内容来自这些订阅源;每源含 id/name/url。search_hap 的结果就来自这些源。增删订阅是用户配置动作,走 CLI `haplane source add/remove/reset`。
rename_bundle改 HAP 的 bundleName(纯 Node 重打包 module.json+pack.info,产出未签 HAP)。用于真机+包名已被全局占用(如 bilibili)时。⚠️改名破坏应用身份(数据/更新链断),仅侧载/自测用。
search_hap在用户订阅的源里搜 HAP 资源(只读,可多源)。registry 类=用户订阅的 index.json 源(HapLane 是中性工具,内容来自订阅源;list_sources 查已订阅);条目非 discoveryOnly 的可 deploy_to_device{app:id} 从上游拉+sha256 校验+签装;discoveryOnly 条目仅索引,去 upstreamRelease 自取。hapstore=HAP Store(sydxky.cn)开放接口,只发现给源站链接——下载须用户在源站登录完成,不代下/不转存/不绕登录。结果每条带 registryId 标来源。找不到关键词时用 query:'*'+source:'registry' 列全部,自己做语义匹配再选 id。
sign用配置的签名材料给 HAP 签名(hap-sign-tool sign-app)。材料/密码走 hap-deploy.config.json + .env,不入参数。
verify验证 HAP 签名是否有效(hap-sign-tool verify-app)。注意:verify 通过=链自洽,纯血鸿蒙真机还需链到华为商用根。
Public scan report
scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it
- Code scan9 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 60 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
What the publisher says
From the Haplane repository's README, as published. We do not edit it. Read it on GitHub
HapLane
鸿蒙 HAP 一键签名 · 调试 · 部署 —— CLI + MCP,agent 可驱动。
封装华为官方工具链(hvigorw / hap-sign-tool / hdc),把散在文档里的命令拼成一条可脚本、可 --dry-run、可让 AI 调用的链。零运行时依赖(纯 Node stdlib)。
开源 MIT · 不破解 · 不逆向 · 签名走你自己的 AGC 凭据。
- 官网:https://leonting1010.github.io/haplane/
- npm:haplane · Gitee:https://gitee.com/LeonTing1010/hap-deploy · GitHub:https://github.com/LeonTing1010/hap-deploy-cli
装
npm i -g haplane # 已上 npm,国内把 registry 设成 npmmirror 更快
# 或从 Gitee Release 直连下单文件(网络拉不动 npm 时):
# https://gitee.com/LeonTing1010/haplane/releases接入 MCP(挂进你的 AI)
HapLane 是标准 stdio MCP server(JSON-RPC 2.0,协议 2024-11-05)。粘一段配置就接上,支持 Claude Code / Cursor / Cline / DevEco Code 等任意 MCP 客户端。
{
"mcpServers": {
"haplane": {
"command": "npx",
"args": ["-y", "-p", "haplane", "haplane-mcp"]
}
}
}国内网络拉不动 npm 时,下载 haplane-mcp.mjs 放本地,改成 "command": "node", "args": ["/你的路径/haplane-mcp.mjs"]。
接上后在 AI 里直接说:「把 ./app.hap 签名装到我手机上」——agent 自己调 deploytodevice,撞 system 权限自动降级重装,装完验签。
13 个 MCP 工具
HapLane 是中性工具,自身不内嵌任何应用内容。 可搜可装的条目来自你订阅的源(registry index.json,apt/sources.list 模型);默认订阅官方源、可退订。工具指向上游权利人官方发布位,不托管/不转存二进制。详见 分发合规边界。
配置与密码走 HAPDEPLOYCONFIG 指向的配置文件 + .env(自动加载),不入 MCP 参数;stdout 只出协议 JSON,日志走 stderr。
也能命令行直接用
haplane setup # 首次:自动探测 SDK + 生成配置与 .env 模板
haplane doctor # 体检工具链与签名材料
haplane device # 列设备 + 打印 UDID
haplane source list # 看订阅了哪些源(默认官方源,可 add/remove/reset)
haplane source add <url> # 订阅一个 registry 源(index.json URL)
haplane search 浏览器 # 在订阅源里搜:可装条目直接装,discoveryOnly/HAP Store 给源站链接
haplane deploy --app linysbrowser # 从订阅源解析 → 上游拉 → sha256 校验 → 签名 → 装机 → 验签
haplane deploy --in app.hap # 对现成 HAP:签名 → 装机 → 验签
haplane deploy # 从源码工程全链:hvigorw 打包 → 签名 → 装机 → 验签
haplane deploy --in app.hap --target <设备> # 多台设备时指定装哪台(设备键用 device 命令看)
haplane sign|install|verify --in app.hap # 单步执行全局:--config · --dry-run(只打印命令不真跑,无真机也能看全链)· --verbose · --in · --target <设备>
配置与密码
复制 hap-deploy.config.example.json 为 hap-deploy.config.json,填 SDK 路径 + 签名材料路径。密码只从环境变量读,绝不入配置 / 日志:
# 写进 .env(自动加载,免 export)
HAP_KEY_PWD=***
HAP_KEYSTORE_PWD=***认证:三条路,选最白那档
给 AGC 打交道有三种方式,推荐机器密钥:
- 🟢 clientcredentials 机器密钥(推荐):AGC 控制台铸 clientid / secret → 换 Bearer token。无交互登录、可吊销、可审计。凭据走 env AGCCLIENTID + AGCCLIENTSECRET(或直接 AGC_TOKEN)。
- 🟡 deveco login 的 cookie 会话:只连 DevEco AI 助手,根本不碰 AGC,与签名无关。
- 🔴 寄生会话(抓登录 session 冒充调网页 API):不可审计,本工具不用。
关键坑:请求头 client_id 必须匹配 token 的 sub,否则 401。
老实说:它不做什么 · 前提
不做
- 不破解、不绕过签名——只帮你把该走的流程走顺
- 只处理你自己或已授权的设备 / 账号
- 不碰纯血鸿蒙真机的商用根:真机走你自己的 AGC 材料
前提
- 华为开发者账号 + AGC(真机 / 上架签名要)
- 华为 SDK:hdc / hap-sign-tool / java(各平台官方版都有,几 G,华为官网装)
- Node ≥ 18;macOS / Windows / Linux 都行
签名的物理约束(必须知道)
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
Runs npx -y haplane on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add haplane -- npx -y haplane
Haplane: common questions
- Is Haplane MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the Haplane safety report
- How do I install Haplane?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Haplane need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Haplane maintained?
- The last commit was 61 days ago (2026-07-27). The latest release is v0.4.1.