MCP HarmonyOS
](https://www.npmjs.com/package/mcp-harmonyos) ](https://github.com/FadingLight9291117/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助手 智能地将两者结合起来,以实现完整的工作流程
该设计确保:
- ✅ 快速响应时间(所有查询\
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
### “未连接任何设备”
1. 在设备上启用开发人员选项(点击内部版本号7次)
1. 启用USB调试
1. 通过USB连接设备
1. 跑 `hdc list targets` 验证连接
### “未找到app.json5”
确保提供项目根目录的绝对路径(其中 `AppScope/app.json5` 位于)。
## 许可证
麻省理工学院
## 贡献
欢迎投稿!请随时提交拉取请求。
## 相关资源
- [模型上下文协议](https://modelcontextprotocol.io/)
- [HarmonyOS文档](https://developer.harmonyos.com/)
- [开源代码](https://opencode.ai/)