Skip to main content
Glama
denshinji
by denshinji

upload_bundle

Stages an Android App Bundle (.aab) upload and creates a release on a chosen Play track, defaulting to an internal draft for review before publishing.

Instructions

Stages an .aab upload and a release of it on a track (internal draft by default).

release_notes maps language to text, e.g. {"id": "...", "en-US": "..."}, 500 characters each. user_fraction (0-1) is required for inProgress.

Input Schema

NameRequiredDescriptionDefault
pathYes
trackNointernal
statusNodraft
edit_idNo
package_nameNo
release_nameNo
release_notesNo
user_fractionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, so the mutation/risk profile is largely covered. The description adds useful behavior: the default track/status and the conditional requirement linking user_fraction to inProgress. It says nothing about whether re-uploads supersede prior releases, whether an edit is created automatically, or what happens on failure.

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 core action in the first sentence, then parameter notes. Very compact with no filler. Minor awkwardness from the fragmented second sentence and embedded line breaks, but every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 8 parameters, 0% schema coverage, and no output schema, this description leaves too much open: the meaning of edit_id/package_name/release_name, what path must point to, and sequencing relative to validate/commit tools. It should do substantially more given the annotation coverage that exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the description must carry the burden. It explains only release_notes (language→text map, 500 char limit, with example) and user_fraction (0-1, required for inProgress); path, status beyond the default, edit_id, package_name, and release_name remain undocumented anywhere.

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+resource: stages an .aab upload AND creates a release of it on a track. That is more precise than the bare name. But it never distinguishes itself from siblings such as set_track_release or the edit/stage/commit tools, which an agent would likely weigh against this one.

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?

Implies usage through defaults ('internal draft by default') and one conditional rule ('user_fraction (0-1) is required for inProgress'). It never says when to choose this over set_track_release, or whether it must be preceded by validate_edit/commit_edit. Guidance is inferable but not explicit.

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