CLI, MCP server, and Agent Skill for controlling DroidLume Android devices
Strong tool naming with consistent verb_noun patterns (device_list, device_create, app_install). All 29 tools have descriptions and input schemas with typed parameters. However, descriptions are terse (avg ~40 chars, well below the 194-char baseline), lacking context on WHEN to use tools or prerequisites. Parameter descriptions are present but minimal. Output schemas are not documented, LLMs cannot predict response structure for chaining. Error handling guidance is absent. Risk annotations (READ_ONLY, WRITE, DESTRUCTIVE) are present but not integrated into descriptions. No pagination guidance for list tools despite managing multiple devices/snapshots.
Install a local APK through DroidLume's upload endpoint.
Launch an installed Android application.
List third-party Android packages.
Force-stop an Android application.
Uninstall an Android application and its app data.
List Android virtual and available Mac camera sources.
Clone an existing stopped device.
Update supported device profile fields.
Create a managed Android device.
Descriptions are terse (avg ~40 chars vs 194-char baseline). Most lack context on WHEN to use the tool, prerequisites, or what the LLM should expect. E.g., 'Read host, API, and runtime health' does not explain when to call system_health vs device_list, or what 'health' means.
Output schemas are not documented. LLMs cannot predict response structure (e.g., does device_list return an array or an object with a 'devices' field?). This breaks tool chaining, the agent cannot know what fields to extract for downstream calls.
No pagination guidance for list tools (device_list, app_list, snapshot_list, camera_list). If a user has 100+ devices or apps, the response could explode the context window. No limit, offset, or cursor parameters documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2025-06-18+ | v2 |
Delete a device and its writable Android data.
Read one managed device.
List managed Android devices and lifecycle state.
Clear disposable launch state while preserving userdata.
Restart Android and wait until it is ready.
Capture the current Android display as PNG.
Open or focus the interactive device window.
Start Android and wait until it is ready.
Stop Android and persist Quick Boot state.
Create a redacted diagnostic bundle in DroidLume storage.
Send an Android key event.
Swipe between Android display coordinates.
Tap Android display coordinates.
Type UTF-8 text into the focused Android control.
Create a Personal snapshot of a stopped device.
Delete a Personal device snapshot.
List Personal snapshots for a stopped device.
Restore a stopped device from a Personal snapshot.
Read host, API, and runtime health.
Read the complete command contract.
Risk annotations (READ_ONLY, WRITE, DESTRUCTIVE) are metadata but not integrated into descriptions. LLMs cannot see these annotations in the tool definition, they only see the description text. Destructive tools like device_delete and snapshot_restore should explicitly warn in the description.
No error handling guidance. If device_start fails (e.g., device already running, insufficient resources), the tool does not tell the LLM what to do next. No recovery hints or actionable error messages documented.