Skip to main content
Glama
Rixmerz

android-layout-inspector-mcp

by Rixmerz

Detect Issues

detect_issues

Identifies Android layout defects: overlapping content, clipped/zero-size nodes, touch targets under 48dp, occluded clickables, missing accessibility labels. Analyzes live UI or saved dumps for CI.

Instructions

The main tool. Measured layout problems on the current screen.

Finds overlapping content, off-screen and clipped nodes, zero-size nodes, touch targets under Material's 48dp minimum, clickable nodes covered by something drawn later, and interactive nodes with no accessibility label. Each finding carries the geometry that produced it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
deviceNo
xml_pathNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the behavioral burden. It clearly explains what the tool detects and that each finding includes the geometry that produced it, implying a read-only analysis. It does not explicitly state that no UI mutation occurs or mention environmental dependencies, but the behavior is largely transparent for a detection tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is compact and front-loaded, starting with the general role and moving directly into a detailed but efficient enumeration of detected issue categories. The phrase 'The main tool' is somewhat generic and not strictly functional, but it does not cost much and the overall structure is easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value details are not required, and the description covers the main behavioral scope well. However, the optional parameters are completely undocumented and there is no guidance about when to use this general detector versus the specialized siblings, leaving meaningful gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and neither device nor xml_path is described in the tool description. The description says 'current screen' but does not clarify whether these parameters select a device, load a saved hierarchy, or behave differently. The parameter names hint at their purpose, but the description adds no real semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear purpose: measuring layout problems on the current screen, and enumerates a concrete list of detected issue types (overlap, off-screen/clipped, zero-size, undersized touch targets, covered clickables, missing accessibility labels). This distinguishes it from sibling tools like inspect_layout and element_context as a broad screen-level diagnostic scanner.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Calling it 'the main tool' positions it as a first-line general layout auditor, and 'on the current screen' clarifies the context. It does not explicitly state when to prefer a sibling tool instead, but the purpose is clear enough that an agent can infer when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.