Skip to main content
Glama

Read or write the Android clipboard

mobile_clipboard

Reads or sets clipboard text on Android devices via ADB, falling back to a companion session when shell access is denied, and reports empty only when confirmed.

Instructions

Read dumpsys clipboard, then cmd clipboard get when the dump is redacted. set uses cmd clipboard set. When the shell cannot read or write, an active companion session uses ClipboardManager. Without a companion, the result says the read was denied and names the companion. An empty string is returned only when a read can see that the clipboard is empty. A clip the companion cannot see stays readable false.

Input Schema

NameRequiredDescriptionDefault
textNo
actionNoget
serialYesExact ADB serial from mobile_devices_list; never inferred when multiple devices exist

Output Schema

NameRequiredDescriptionDefault
setNo
textNo
reasonNo
backendNo
readableNo
redactedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.9.0

TDQS

A3.9/5.0
Behavior5/5

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

Despite annotations covering the safety profile, the description adds substantial behavioral context beyond them: the dumpsys-then-cmd fallback chain, the companion-session path when shell access is blocked, the denial behavior that names the companion, and the critical distinction between an empty string (verified empty) and readable=false (unseen clip). These details materially change how an agent interprets results.

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?

Six tight sentences, each carrying distinct behavioral information with no padding, and the primary read path is front-loaded. The telegraphic fragments ('set uses cmd clipboard set') trade readability for density but do not waste space.

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 tool with an output schema and full annotations, the description covers the non-obvious edge cases an agent needs (fallback, denial, empty-vs-unreadable). It omits what a successful set returns and any permission prerequisites, but these are largely covered by the output schema and annotations.

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 only 33% (serial is documented in-schema), so the description must compensate and only partly does: it clarifies the semantics of get and set actions implicitly but never addresses the text parameter's 8000-character limit or writing behavior. Baseline for low coverage with partial compensation.

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 title and opening sentences make the resource (Android clipboard) and both directions (get/set) unambiguous, and no sibling tool competes for clipboard access. However, the description leads with implementation mechanics ('Read dumpsys clipboard, then cmd clipboard get') rather than stating the purpose directly, so an agent must infer intent from the mechanism.

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?

The get-vs-set distinction is only implied through the flow descriptions ('set uses cmd clipboard set'), and the default action=get is left to the schema. There is no explicit statement of when to prefer this tool or when clipboard access is inappropriate, so usage must be inferred.

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