Skip to main content
Glama

adb_firmware_diff

Compare firmware components between two OTA fingerprints or live device state: baseband, bootloader, kernel, security patch, build ID, Android version.

Instructions

Compare all firmware components between two saved OTA fingerprints, or between the current device state and a saved fingerprint. Compares baseband (with chipset-specific parsed component diffs), bootloader, kernel, security patch, build ID, and Android version.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fromNoPath to 'from' fingerprint JSON (or 'current' to use live device state). Defaults to the second-most-recent fingerprint.
toNoPath to 'to' fingerprint JSON (or 'current' to use live device state). Defaults to the most recent fingerprint.
deviceNoDevice serial (used when 'from' or 'to' is 'current', or for auto-selecting fingerprints)
result_handleNoOptional. If provided, store this tool's result under `result://<tool>/<name>` for retrieval after compaction. Name must be 1-32 chars, [a-zA-Z0-9_-]. Existing handles with the same tool+name are overwritten. Use adb_result_list to see active handles, adb_result_get or the MCP Resource URI to retrieve.
result_handle_ttlNoOptional. TTL in seconds for the result handle (60 to 604800). Default 43200 (12 hours). Ignored if result_handle is not provided.
Behavior3/5

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

With no annotations, the description carries the full burden. It uses 'compare' implying read-only, but does not explicitly state lack of side effects or authentication needs. It mentions chipset-specific parsing, adding some behavioral detail, but could be more explicit about its non-destructive nature.

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?

The description is concise: two sentences that cover the action, scope, and list of components. No unnecessary words, and the main purpose is front-loaded.

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?

Given the complexity and lack of output schema, the description outlines the comparison and components. It implies the need for saved fingerprints but does not explain how to obtain them (e.g., via adb_firmware_probe). The output format is hinted but not fully detailed, making it slightly incomplete.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by explaining defaults (second-most-recent for 'from', most-recent for 'to') and the use of 'current' for live device state. This goes beyond the schema's descriptions.

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 clearly states the tool compares firmware components between two saved OTA fingerprints or current device vs saved fingerprint. It lists specific components (baseband, bootloader, kernel, etc.) and distinguishes from siblings like adb_firmware_probe and adb_firmware_history.

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?

The description tells when to use the tool (for comparing firmware components between saved fingerprints or current state). It implies prerequisites (saved fingerprints), but does not explicitly exclude scenarios or mention alternatives like adb_firmware_probe for capturing fingerprints.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fullread/DeepADB'

If you have feedback or need assistance with the MCP directory API, please join our Discord server