Repository UI indexing, graph, preview, and deterministic review CLI with MCP server support
22 tools with READ_ONLY risk profile. All have descriptions (10-150 chars, mostly adequate). Input schemas present for all tools with proper type definitions. However, critical gaps: (1) No output schemas documented anywhere, LLMs cannot plan downstream calls or extract return fields. (2) Parameter descriptions are minimal (5-30 chars) and lack format/constraint guidance. (3) No error handling guidance, tools return raw exceptions without recovery hints. (4) Tool names lack action verbs (e.g., 'AppleResourceCatalog.discover' vs 'discover_apple_resources'; 'substitute' vs 'substitute_compose_arguments'). (5) No tool annotations (readOnlyHint, idempotentHint) despite all being read-only. (6) Composition issues: 22 tools are highly specialized and interdependent (e.g., AppleResourceCatalog.discover must be called before .image/.color/.localized), but no guidance on call sequencing. Baseline: 90% of A+ tools have documented return types; 100% have param descriptions. This server has 0% return type docs and ~40% param descriptions.
Discover and catalog Android resources (values, drawables, layouts) from a project root
Resolve an Android resource reference (color, dimension, string, style, attribute)
Resolve an Android style reference and return merged style items
Resolve an Apple color resource by name
Discover and catalog Apple asset, color, localization, and symbol resources from a project root
Resolve an Apple image resource by name
Resolve an Apple localized string resource by key
Extract enum entries from Kotlin enum class definitions
No output schemas documented for any of 22 tools. LLMs cannot infer return structure, field names, or types. Breaks downstream tool chaining and forces agents to guess at response shape.
Class-method naming (AppleResourceCatalog.discover, StaticImports.enum_entries) violates verb_noun convention. LLMs expect action verbs at the start (discover_apple_resources, enum_static_import_entries). Ambiguous names reduce tool discoverability.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Expand Compose function calls within forEach loops using enum entries
Resolve property access chains in Compose expressions using when expressions
Classify one res/layout* file and extract metadata without treating every partial as a screen
Extract layout resources referenced directly or through generated bindings in Android source code
Conservatively distinguish Android screens from reusable layouts based on filename and XML structure
Bind Compose function parameters to provided arguments (positional and named)
Normalize Android resource ID references to canonical form
Read-only Apple native-render provider discovery. Detects SwiftUI views, preview entries, snapshot testing configuration, and Xcode availability.
Read destinations, actions, and deep links from an Android navigation graph XML
Merge nav destinations, Android classes, and referenced layout resources into reconciled screen candidates
Generate SVG data URI for Apple SF Symbol by name
Evaluate static Compose expressions including conditionals, when expressions, and constructor fixtures
Static argument substitution for bounded local Compose component instances
Validate that release tag, package version, CLI version, documentation, and changelog are consistent
Parameter descriptions are minimal (5-30 chars) and lack format/constraint guidance. E.g., 'name' param in AppleResourceCatalog.image has no guidance on valid formats, case sensitivity, or examples. Baseline: 100% of A+ tools have 50+ char param descriptions with constraints.
No error handling guidance. Tools return raw exceptions without recovery hints. E.g., if AppleResourceCatalog.discover hits FILE_LIMIT, the response includes a diagnostic but no guidance on what to do next. Baseline: 100% of A+ tools include 'what to do next' in error responses.
No tool annotations (readOnlyHint, idempotentHint, destructiveHint) despite all 22 tools being read-only. Agents cannot infer safety properties without explicit hints. Current spec (2026-07-28) requires annotations for proper agent planning.