Skip to main content
Glama

file.push

Transfers a PC file to an Android device over adb using base64 chunking and MD5 verification, an alternative when binary push is unreliable.

Instructions

PC→手机传文件:base64 分块管道(WiFi adb push 二进制不可靠的替代),MD5 校验

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rootNosu 写入;仅 /data/local/tmp、/sdcard 免 allow_risk,其余路径需 allow_risk=true
chunkNobase64 分块字节(上限受单条 shell 命令 128KB 限制)
localYesPC 侧源文件路径
remoteYes手机侧目标绝对路径

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.0

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description bears the full behavioral burden. It does disclose meaningful mechanism (chunked base64 transport, MD5 verification, reliability rationale), but omits overwrite/reversibility behavior, permission implications, and failure/response format. The su/allow_risk constraints live only in the schema, not the description.

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?

A single dense, front-loaded sentence with no wasted words — the mechanism and verification claim are packed efficiently. It borders on cryptic (treats the reader as already familiar with adb push pitfalls), but every clause earns its place.

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?

For a mutation tool with no annotations and no output schema, the description covers the transport mechanism but leaves out what an agent needs to call it safely: overwrite behavior, error/verification reporting, and permission prerequisites (only hinted at in the schema). Adequate but with clear gaps.

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?

Schema description coverage is 100%, so all four parameters (root, chunk, local, remote) are already documented in the schema, including the allow_risk constraint and 128KB shell limit. The description adds no parameter-level syntax or format detail beyond that, so baseline 3 applies.

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?

States a specific verb and resource with direction (PC→手机传文件) and names the implementation mechanism (base64 分块管道) plus MD5 verification. The direction implicitly distinguishes it from the file.pull sibling, but the sibling is never named explicitly.

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?

It gives a conditional rationale — this is the fallback when WiFi adb push of binaries is unreliable — which is implied usage guidance. But there is no explicit when-to-use framing, no reference to file.pull or shell.run as alternatives, and no stated exclusions.

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