MCP server for controlling HarmonyOS devices via HDC (HarmonyOS Device Connector), providing tools for app management, media control, UI interaction, and device screenshots
This server has significant definition quality gaps. Tool names are mostly verb-noun compliant (list_app, launch_app, get_screenshot), but descriptions are inconsistent, some are detailed (media_play_pause, get_uilayout), others are terse (volume_up: 'turn up the volume'). Parameter descriptions exist but lack constraints (e.g., 'center' param in click/long_click accepts a string like '(x, y)' but no validation rules). No output schemas are documented. Error handling is minimal, most tools return raw command output without recovery guidance. The 'click' and 'long_click' tools accept coordinate strings instead of structured numeric parameters, forcing LLMs to format coordinates manually. No tool has destructive/idempotent hints. Overall, definitions are functional but lack the rigor needed for reliable agent composition.
click the given coordinate
Get the current foreground application information.
Takes a screenshot of the device and returns it.
Retrieves information about clickable elements in the current UI. Returns a formatted string containing details about each clickable element, including its text, content description, bounds, and center coordinates.
input text to the given coordinate
launch app accrodingt to the given package name.
Get all installed packages on the device
Coordinate parameters use string format '(x, y)' instead of structured numeric types. Forces LLMs to manually format coordinates; error-prone and violates constrained-input pattern.
Volume control and media navigation tools have descriptions under 20 characters (e.g., 'turn up the volume', 'play the next media'). Insufficient context for LLM tool selection.
No output schemas documented for any tool. LLMs cannot predict return structure, forcing them to guess field names for downstream tool calls.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | <=2025-11-25 | v2 |
long click the given coordinate
play the next media
Play or pause media on the phone. Sends the media play/pause keycode to control any currently active media. Can be used to play music or videos that were recently playing.
play the previous media
Stop the given application by package name
Swipe from one coordinate to another on the device screen
turn down the volume
mute the volume
turn up the volume
No error handling guidance. Tools return raw command output (e.g., 'hdc shell' errors) without recovery hints. LLMs cannot determine if errors are retryable or user-fixable.
Destructive tools (stop_app, launch_app, click, swipe, input_text) lack idempotent/destructive hints. No confirmation or dry-run support for irreversible actions.