Skip to main content
Glama

system_property

Reads or sets Android system properties using getprop/setprop; optionally routes writes through an installed Root resetprop utility without installing or assuming Magisk.

Instructions

Read Android properties or set them using setprop; resetprop=true explicitly requests the installed Root resetprop utility. Does not install/assume Magisk.

Input Schema

NameRequiredDescriptionDefault
nameNo
valueNo
actionNoget
resetpropNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations at all, the description carries the full burden. It does disclose a genuine behavioral constraint — that resetprop requires an already-installed Root resetprop utility and will not provision Magisk — which is real value. It says nothing about whether setprop writes need root, whether changes persist across reboot, or what happens on failure, which matters for a mutation-capable tool.

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?

Two compact sentences, front-loaded with the read/write distinction, and the resetprop caveat follows immediately. Every clause carries information; the phrasing 'explicitly requests the installed Root resetprop utility' is slightly awkward but not wasteful.

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?

An output schema exists, so return values need not be described, and the description covers the read/write split plus the resetprop prerequisite. What is missing is the accepted values for 'action' and the failure semantics of a property write on a non-rooted or Magisk-less device. Given the tool's simplicity and the presence of an output schema, that gap is moderate rather than severe.

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 0%, so the description must compensate for four undocumented parameters. It explains only resetprop's meaning and implies name/value for the property pair, but never states what values the 'action' parameter accepts (default is 'get' with no enum) or what name/value formatting rules apply. That leaves a meaningful share of the parameter space unexplained.

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 description names a specific resource (Android system properties) and two concrete operations (read, set via setprop), plus a separate mode (resetprop). It is clear what the tool does, though it never names the closest sibling, system_settings, so an agent must infer the boundary itself.

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 one conditional routing rule — use resetprop=true when you specifically want the Root resetprop utility — and a negative constraint that Magisk is not installed or assumed. There is no guidance on when to prefer this over system_settings or root_shell, and no stated prerequisites such as needing root for writes.

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