Skip to main content
Glama

collect_storage_files

Read-onlyIdempotent

Read 1–16 exact app data files via ADB from selected run package directories, optionally using root and including SQLite sidecars, with device hash checks before and after.

Instructions

Read 1..16 exact files inside the selected run package data directories via ADB. With use_root, reuse an existing UID-0 ADB shell or verified su -c / su 0 sh -c; report the selected root_access method. Never restart adbd or change permissions. Can include existing SQLite WAL/SHM sidecars. Checks device hashes before/after; no force-stop. Sequential capture is not an atomic SQLite/device snapshot. Pass the returned logical_root directory to snapshot_storage; never infer consistency solely from a successful pull.

Input Schema

NameRequiredDescriptionDefault
pathsYes
run_idYes
use_rootNo
max_bytesNo
analysis_project_idNoOptional investigation to retain this tool result in. Does not prove target identity or causal relationships.
include_sqlite_sidecarsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.3/5.0
Behavior5/5

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

Goes well past the readOnly/idempotent/non-destructive annotations by disclosing the operational envelope: no adbd restart, no permission changes, no force-stop, pre/post device hash checks, root-method reporting, and the caveat that sequential capture is not an atomic SQLite/device snapshot. That non-atomicity warning is the single most decision-relevant fact and it is stated explicitly.

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?

Front-loaded with the action and constraints, and every clause carries information a caller needs. The prose is dense to the point of being telegraphic ('no force-stop', 'Checks device hashes before/after'), which reads as notes rather than polished guidance but wastes nothing.

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?

For a 6-param, root-capable forensic read with no output schema, it covers the safety profile, the fidelity limitation, and the returned logical_root. The gaps are the unmentioned max_bytes ceiling and only a single returned field named, leaving the agent without a full picture of the result payload.

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 only 17%, so the description has to carry the load, and it does for the high-risk params: paths (how many, that they must be exact), use_root (reuse or su -c / su 0 sh -c), and include_sqlite_sidecars (WAL/SHM). It says nothing about max_bytes or run_id semantics, which remain undocumented in both places.

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?

States a specific verb plus resource and hard scope: 'Read 1..16 exact files inside the selected run package data directories via ADB.' The 'exact files' + count cap + run-package confinement distinguishes it from bulk/generic siblings like pull_adb_file and list_adb_directory, and it names snapshot_storage as the follow-on step.

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

Usage Guidelines3/5

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

Gives real conditional guidance for two params (use_root with the su re-use path, include_sqlite_sidecars) and prescribes the downstream handoff to snapshot_storage. However, it never says when to choose this over the visible alternatives pull_adb_file or pull_adb_package, nor when not to use it, which is exactly what an agent needs at selection time.

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