HarmonyOS MCP service for device automation, app deployment, UI interaction, E2E support, and log validation.
Critical gaps across all dimensions. Tool definitions lack parameter descriptions, input schemas are not visible in source code, and descriptions are minimal or absent. The server registers 18 tools via tool_registration.py using fastmcp's @server.tool() decorator with output_schema=build_output_schema(func), but actual parameter schemas and descriptions are not shown in provided code. Without seeing the function signatures and docstrings in tools/*.py files, parameter validation cannot be assessed. Naming is reasonable (verb_noun pattern: build_app, install_app, click, swipe), but descriptions appear to be auto-generated or missing entirely. No evidence of error handling guidance, recovery paths, or actionable error messages. STDIO transport limits remote accessibility.
No input schemas visible in source code. Tool registration calls build_output_schema(func) for output only; input parameter schemas not shown. Cannot verify parameter types, constraints, or descriptions.
Tool descriptions missing or not visible. Without docstrings or description text in tool definitions, LLMs cannot determine when to select each tool or what it does.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 31 | 2025-06-18+ | v2 |
No parameter descriptions visible. Even if parameter names exist (e.g., device_id, x, y), their meanings, constraints, and valid ranges are not documented in source.
Error handling not visible. No evidence of actionable error messages, recovery guidance, or error classification (retryable vs. fatal). HilogtoolWrapper returns dicts with 'success' and 'error' fields, but tool-level error handling is not shown.
Destructive operations (uninstall_app) lack confirmation or dry-run support. No evidence of confirmation_request pattern for irreversible actions.