Agentic AI layer for mobile automation via appium-mcp. Provides agent-native CLI, test runner, and SDK for mobile automation on Android and iOS devices.
AppClaw's MCP tool definitions are severely underdeveloped. Of 15 tools, 9 have descriptions stating '(excluded from agent use)', these are placeholder stubs with no actionable purpose. The 6 remaining tools (appium_screenshot, appium_find_element, appium_get_page_source, appium_get_text, appium_get_element_attribute, appium_get_active_element) have minimal descriptions (10-50 chars) and incomplete input schemas. Only 2 tools (appium_screenshot, appium_find_element) show partial parameter definitions; the rest lack visible schemas entirely. No tool documents output structure, error recovery paths, or parameter constraints. Tool names follow a prefix pattern (appium_*) but lack clarity on when to use one over another (e.g., appium_get_text vs appium_get_element_attribute). The codebase references tool-converter.ts but does not expose schema definitions in the provided source.
Documentation/skills tool (excluded from agent use)
Find an element on the device screen using a locator strategy and selector
AI code-gen tool for locator generation (excluded from agent use)
AI code-gen tool for test generation (excluded from agent use)
Get the currently active element (excluded in vision mode)
Get attribute value from an element (excluded in vision mode)
Get the page source XML from the device
9 of 15 tools marked '(excluded from agent use)', these are non-functional stubs with zero descriptions and no schemas. They should either be removed or fully implemented with proper definitions.
Input schemas missing or incomplete for 13 of 15 tools. Only appium_screenshot and appium_find_element show partial parameter definitions; the rest have no visible schema in source code.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | 2026-07-28+ | v2 |
Get text content from an element (excluded in vision mode)
Capture screenshot from device (excluded from agent use - perception owns screenshot capture)
Session management tool (excluded from agent use)
Documentation/skills tool (excluded from agent use)
AI code-gen tool for locator generation (excluded from agent use)
AI code-gen tool for test generation (excluded from agent use)
iOS simulator preparation tool (excluded from agent use)
Device selection tool (excluded from agent use)
Descriptions are generic or missing for 13 tools. appium_get_text, appium_get_element_attribute, appium_get_active_element have descriptions under 30 chars ('Get text content from an element', etc.), insufficient for LLM tool selection.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., element UUIDs for chaining). appium_find_element should return element_id, element_uuid, and coordinates; appium_screenshot should document base64 vs file path return format.
Duplicate or overlapping tool names without clear distinction. 'generate_tests' and 'appium_generate_tests' both exist; 'generate_locators' and 'appium_generate_locators' both exist. LLMs will conflate these and waste reasoning cycles. Consolidate to one canonical name per function.