Skip to main content
Glama

compare_apks

Read-only

Compare two Android APKs to detect identity changes and CRC32/size inventory differences between before and after builds.

Instructions

Compare APK identities and CRC32/size inventories

Input Schema

NameRequiredDescriptionDefault
afterYes
limitNo
beforeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds one real behavioral fact beyond that: the comparison is over CRC32/size inventories rather than raw bytes or metadata. It does not say how unmatched entries or added/removed files are reported, but with annotations carrying the safety burden a 3 is fair.

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

Conciseness3/5

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

It is short and has no wasted words, but it is a bare noun-phrase fragment rather than a sentence, and the terseness is under-specification rather than efficiency. There is no front-loaded statement of inputs or outcome to anchor the agent.

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

Completeness2/5

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

With three parameters at zero schema coverage, no output schema, and no explanation of how two inputs are supplied or what the diff contains, the definition leaves an agent guessing on nearly every call detail. The only thing keeping it above 1 is that the annotations cover safety and the description conveys the comparison granularity.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must define 'before', 'after' and 'limit' — and it defines none of them. An agent cannot tell whether before/after are file paths, artifact IDs, or build labels, nor what the limit of 100 caps (changed entries? diffs?). This is a three-parameter tool with completely unexplained inputs.

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

Purpose4/5

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

The verb 'Compare' plus the resource 'APK identities and CRC32/size inventories' tells an agent this diffs two APK artifacts at the file-inventory level. That is a specific verb+resource pairing, though the phrase 'APK identities' is vague and nothing distinguishes it from the sibling tools inspect_apk or analyze_apk.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all. The description never says whether this is for regression checks between builds, never states prerequisites (do the inputs need to be extracted artifacts?), and does not point an agent to inspect_apk or analyze_apk when it actually wants a single-APK view.

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