Skip to main content
Glama
ilativity
by ilativity

Update testers

update_testers
Idempotent

Add or remove tester Google Groups on a Play testing track, view before/after differences, and validate changes. Replacing the complete list is destructive and requires opt-in.

Instructions

Adds and/or removes tester Google Groups on a testing track and shows the before/after difference. Replacing the whole list (replace) is destructive and needs PLAY_MCP_ALLOW_DESTRUCTIVE=1.

Input Schema

NameRequiredDescriptionDefault
addNo
trackYesTrack: internal, alpha, beta, production, or a custom/form-factor track (e.g. wear:production).
removeNo
replaceNoDESTRUCTIVE: the complete new list. Cannot be combined with add/remove.
package_nameNoAndroid package name. Defaults to PLAY_MCP_PACKAGE.
validate_onlyNoDry run: validate the change in an edit, then discard it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.8/5.0
Behavior2/5

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

The description supplies real behavioral context (destructive replace, env-var guard, before/after diff), but it conflicts with the tool-level annotation destructiveHint=false by labeling the replace mode as DESTRUCTIVE. An agent reading the annotations could wrongly believe no operation here destroys data.

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

Conciseness5/5

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

Two dense sentences, front-loaded with the core action and the diff behavior, followed by the destructive gating condition. No filler.

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 mutation tool with no output schema, the description usefully notes the before/after diff return and the env-var prerequisite. It omits any mention of validate_only/package_name, though those are covered in the schema.

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 coverage is 67%, and the schema already documents add/remove/replace semantics, mutual exclusivity, and the destructive flag. The description echoes the replace-is-destructive point but adds nothing about validate_only, package_name, or track formats, so it stays at the baseline.

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 specific verbs (adds/removes), a concrete resource (tester Google Groups on a testing track), and an extra behavior (before/after difference). This clearly distinguishes it from the read-only sibling get_testers and from the release/rollout tools.

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

Usage Guidelines4/5

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

Gives explicit conditional guidance: use add/remove to mutate incrementally, and note that the replace mode is destructive and gated behind PLAY_MCP_ALLOW_DESTRUCTIVE=1. It does not explicitly contrast with siblings like get_testers or state when-not-to-use, so it falls short of a 5.

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