MCP server that enables Claude to control an Android phone remotely via a Phone Bridge queue system. Supports getting foreground app, pressing home button, launching apps, and querying device status.
Four tools with basic naming and descriptions, but critical gaps in schema documentation and parameter descriptions. All tools lack input parameter descriptions despite having parameters (phone_launch_app). Descriptions are present but generic (10-100 chars, below the 194-char baseline). No output schemas documented. No error handling guidance. No tool annotations. This server falls in the F-D range due to incomplete schemas and missing parameter documentation.
Get basic device status from the Android phone: battery level, charging status, screen state, foreground app, and current timestamp.
Get the package name of the app currently in the foreground on the Android phone. Returns the package name (e.g. com.ss.android.ugc.aweme for TikTok/Douyin, com.xingin.xhs for Xiaohongshu/Little Red Book).
Launch an app on the Android phone by its package name. Common packages: com.xingin.xhs (Xiaohongshu / Little Red Book), com.ss.android.ugc.aweme (Douyin / TikTok), com.tencent.mm (WeChat), com.android.settings (Settings). Always use the exact package name.
Press the HOME button on the Android phone, returning to the launcher/desktop. Use this when the user wants to go back to the home screen.
phone_launch_app has input schema with 'package_name' parameter but lacks description of what constitutes a valid package name format, expected length, or how to discover valid packages. LLMs cannot infer constraints from schema alone.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what fields does phone_get_device_status return? Is it battery_level or batteryLevel?). Violates response-shaper pattern.
No error handling guidance. Tools lack descriptions of failure modes (e.g., what if app is not installed? What if device is locked?). Agents cannot recover from errors without explicit recovery hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Tool descriptions are generic and lack WHEN/WHY context. 'Get the package name of the app currently in the foreground' (65 chars) is below the 194-char baseline and does not explain when to call this vs phone_get_device_status (which also returns foreground app).
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk field is present in metadata but not exposed in tool definition. LLMs cannot reason about side effects or retry safety.