Skip to main content
Glama

inspect_adb_client

Idempotent

Verify the ADB client selected via REA_ADB_PATH or PATH, including its resolved binary, version, and install path, without contacting devices or starting the ADB server.

Instructions

Inspect the caller-selected adb client: resolved binary, version, and install path. Never contacts devices and never starts the adb server. REA never installs platform tools; select a binary with REA_ADB_PATH (absolute) or adb on PATH.

Input Schema

NameRequiredDescriptionDefault
analysis_project_idNoOptional investigation to retain this tool result in. Does not prove target identity or causal relationships.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, and the description adds genuinely non-obvious behavior: it never contacts devices, never starts the adb server, and never installs platform tools. That is exactly the kind of side-effect disclosure an agent needs before invoking a process-spawning tool. It stops short of saying what happens on failure (e.g. no adb found) or why readOnlyHint is false despite being an inspection.

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

Conciseness5/5

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

Three short sentences, front-loaded with what is inspected and immediately followed by the behavioral constraints. No filler, no restating of the tool name.

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

Completeness4/5

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

With no output schema, the description usefully enumerates the returned fields (resolved binary, version, install path) and the configuration mechanism that determines them. Only minor gaps remain, such as the failure mode when no adb binary is resolvable.

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

Parameters3/5

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

There is a single optional parameter with 100% schema description coverage, so the schema already documents analysis_project_id and its caveats. The description adds nothing about that parameter, which is acceptable at full coverage but leaves the baseline of 3.

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 names a specific verb (inspect) and a specific resource (the caller-selected adb client) and enumerates exactly what is resolved: binary, version, install path. It is clearly distinguishable from device-facing siblings such as list_adb_devices or inspect_adb_device, since it explicitly operates on the client tooling rather than a device.

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?

It establishes the usage context precisely by ruling out device interaction and server startup, which implicitly routes device work to the adb device tools. It also explains how the inspected binary is selected (REA_ADB_PATH absolute, or adb on PATH). What it lacks is an explicit named alternative (e.g. 'use inspect_apktool_client for apktool') or an explicit when-not statement.

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

Deploy Server

Other Tools