使用说明
MCP HarmonyOS
npm: https://www.npmjs.com/package/mcp-harmonyos
用于HarmonyOS开发的模型上下文协议(MCP)服务器。该服务器使像Claude这样的人工智能助手能够与HarmonyOS项目、设备和应用程序进行交互。
特征
- 设备管理:列出并查询连接的HarmonyOS设备
- 项目信息:读取项目配置、模块和生成输出
- 应用管理:列出并检查设备上已安装的应用程序
- 构建验证:检查构建输出和项目结构
先决条件
- Node.js 18+
- HarmonyOS DevEco Studio(用于hdc命令行工具)
hdc必须在PATH中可用
安装
全局安装(推荐)
npm install -g mcp-harmonyos
或与npx一起使用
npx mcp-harmonyos
配置
对于OpenCode
添加到您的 ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"harmonyos": {
"type": "local",
"command": ["npx", "-y", "mcp-harmonyos"],
"enabled": true
}
}
}
适用于克劳德桌面
添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"harmonyos": {
"command": "mcp-harmonyos"
}
}
}
可用工具
设备管理
harmonyos_list_devices
列出所有连接的HarmonyOS设备。
退货:具有UDID和状态的设备阵列
[
{
"udid": "7001005458323933328a01bcf4251a00",
"status": "connected"
}
]
harmonyos_get_device_info
获取特定设备的详细信息。
参数:
deviceId(string):设备UDID
退货:设备信息,包括型号、制造商、操作系统版本等。
{
"udid": "7001005458323933328a01bcf4251a00",
"model": "HUAWEI Mate 60 Pro",
"brand": "HUAWEI",
"manufacturer": "HUAWEI",
"osVersion": "4.0.0",
"sdkVersion": "11",
"buildId": "Mate60Pro 4.0.0.96"
}
项目信息
harmonyos_get_project_info
从app.json5获取HarmonyOS项目信息。
参数:
projectPath(string):HarmonyOS项目根的绝对路径
退货:项目元数据,包括bundleName、版本和模块
{
"bundleName": "com.example.myapp",
"versionCode": 1000000,
"versionName": "1.0.0",
"minCompatibleVersionCode": 1000000,
"targetAPIVersion": 11,
"modules": ["entry", "library"]
}
harmonyos_list_modules
列出项目中的所有模块及其类型(HAP/HSP/HAR)。
参数:
projectPath(string):HarmonyOS项目根的绝对路径
退货:包含名称、类型和路径的模块数组
[
{
"name": "entry",
"type": "HAP",
"path": "/path/to/project/entry",
"srcPath": "entry"
},
{
"name": "library",
"type": "HSP",
"path": "/path/to/project/library",
"srcPath": "library"
}
]
harmonyos_check_build_outputs
检查是否存在构建输出并列出它们。
参数:
projectPath(string):HarmonyOS项目根的绝对路径
退货:构建输出信息
{
"hasOutputs": true,
"outputDir": "/path/to/project/outputs",
"files": ["entry-default-signed.hap", "library-default-signed.hsp"],
"haps": ["entry-default-signed.hap"],
"hsps": ["library-default-signed.hsp"]
}
应用管理
harmonyos_list_installed_apps
列出设备上安装的所有应用程序。
参数:
deviceId(string):设备UDID
退货:已安装的应用程序阵列
[
{
"bundleName": "com.example.myapp",
"versionCode": "1000000",
"versionName": "1.0.0"
}
]
harmonyos_get_app_info
获取已安装应用程序的详细信息。
参数:
deviceId(string):设备UDIDbundleName(string):应用程序包名称
退货:详细的申请信息
{
"bundleName": "com.example.myapp",
"versionCode": "1000000",
"versionName": "1.0.0",
"uid": "20010044",
"installTime": "2026-02-15 10:30:00",
"updateTime": "2026-02-15 10:30:00",
"isSystemApp": false,
"isRemovable": true
}
使用示例
使用OpenCode
配置MCP服务器后,您可以向OpenCode提出以下问题:
"List all connected HarmonyOS devices"
"What's the bundleName of the project in /path/to/my/project?"
"Check if there are build outputs in my project"
"List all installed apps on device 7001005458323933328a01bcf4251a00"
"Show me information about com.example.myapp on my device"
OpenCode将使用MCP工具查询信息,并可以将其与bash命令结合用于构建和部署:
"Build the project and deploy to device"
# OpenCode will:
# 1. Use harmonyos_get_project_info to get bundleName
# 2. Use bash: hvigorw assembleApp --no-daemon
# 3. Use harmonyos_check_build_outputs to verify
# 4. Use bash: hdc file send and bm install to deploy
# 5. Use bash: aa start to launch the app
设计理念
此MCP服务器遵循“轻量级查询+外部操作”模式:
- MCP工具 提供快速、结构化的查询(设备信息、项目元数据、应用程序状态)
- Bash命令 处理长时间运行的操作(构建、部署)
- AI助手 智能地将两者结合起来,以实现完整的工作流程
该设计确保:
- ✅ 快速响应时间(所有查询<1秒)
- ✅ 长版本没有超时问题
- ✅ 清除错误消息和日志
- ✅ 易于维护和扩展
发展
从源代码构建
git clone <your-repo>
cd mcp-harmonyos
npm install
npm run build
npm start
项目结构
mcp-harmonyos/
├── src/
│ ├── server.ts # Main MCP server implementation
│ └── types/
│ └── harmonyos-types.ts # TypeScript type definitions
├── build/ # Compiled JavaScript output
├── package.json
├── tsconfig.json
└── README.md
故障排除
“找不到hdc命令”
确保已安装DevEco Studio hdc 在您的路径中:
# macOS/Linux
export PATH="$PATH:/path/to/deveco-studio/tools"
# Windows
set PATH=%PATH%;C:\path\to\deveco-studio\tools
“未连接任何设备”
- 在设备上启用开发人员选项(点击内部版本号7次)
- 启用USB调试
- 通过USB连接设备
- 跑
hdc list targets验证连接
“未找到app.json5”
确保提供项目根目录的绝对路径(其中 AppScope/app.json5 位于)。
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交拉取请求。