Skip to main content
Glama
ilativity
by ilativity

Upload bundle

upload_bundle

Upload an Android App Bundle (.aab) to an app's bundle library without assigning it to a release track. Files over 10 MB use resumable upload.

Instructions

Uploads an Android App Bundle (.aab) to the app's bundle library without assigning it to a track. Files over 10 MB use a resumable upload. Use deploy to upload and release in one step.

Input Schema

NameRequiredDescriptionDefault
file_pathYesPath to the .aab file.
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

A4.4/5.0
Behavior4/5

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

Annotations declare non-readonly, non-idempotent, non-destructive, open-world, so the safety profile is already covered. The description adds genuinely new behavioral context: the staged outcome (file lands in the bundle library, not on a track) and the resumable-upload behavior for files over 10 MB, which the agent cannot learn from the annotations. It does not mention auth/permission requirements or failure modes, keeping it short of a 5.

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?

Three short sentences, each carrying a distinct payload: what it does and where it lands, a size-based behavior, and the routing hint to the alternative. The primary purpose and scope are front-loaded with zero 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?

No output schema exists, but the description communicates the essential outcome (bundle uploaded, unassigned to any track) and the resumable-upload path. Since it is a non-idempotent mutation, extra detail on permissions or duplicate-upload behavior would help, but nothing critical for correct invocation is missing.

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% and all three parameters (file_path, package_name, validate_only) are documented in the schema itself, including the PLAY_MCP_PACKAGE default and the dry-run semantics of validate_only. The description adds only the implied file type (.aab) already present in the schema text, so the baseline 3 is appropriate.

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 a specific verb (Uploads), resource (Android App Bundle .aab), and destination scope (the app's bundle library), plus the key limitation 'without assigning it to a track'. It explicitly contrasts with the sibling 'deploy', so an agent can distinguish the two without opening either schema.

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

Usage Guidelines5/5

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

Names the alternative tool ('Use `deploy` to upload and release in one step') and the condition that selects it, which directly answers when to pick this tool versus its closest sibling. The remaining implied condition (staging-only, no track assignment) is stated explicitly in the first sentence.

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