Skip to main content
Glama

Upload a new version

gamealia_upload_version

Build, zip, and upload a local game build as a new version to the server, then wait for autotest results and return the version state and report.

Instructions

Builds (unless noBuild), zips and uploads the local build as a new version of an existing game (needs login; multipart, retried), then waits for the server autotest and returns the version state and its report. Use it after gamealia_run_autotest passes locally and gamealia_create_game. Each call creates a new version; interrupted uploads that block it are aborted automatically. Can take minutes (progress notifications). submit:true also submits it for review when the autotest passes: only after the user confirmed; otherwise use gamealia_submit_for_review later.

Input Schema

NameRequiredDescriptionDefault
dirYesProject folder (absolute, or relative to the server's working directory)
gameYesGame slug or id, from gamealia_list_games (a game of the active account)
notesNoRelease notes for this version, up to 2000 characters (shown to the reviewer)
submitNoAlso submit for review if the server autotest passes (only after the user confirms)
noBuildNoSkip the build command and upload the current output folder as is (default false: build first)
waitForPreviousNoIf a previous version is still being tested, wait for it instead of failing

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.1.18
    • changedInput schema / properties / dir / description
      Previous value: -"Project folder"New value: +"Project folder (absolute, or relative to the server's working directory)"
    • changedInput schema / properties / game / description
      Previous value: -"Game slug or id"New value: +"Game slug or id, from gamealia_list_games (a game of the active account)"
    • addedInput schema / properties / noBuild / description
      Added value: +"Skip the build command and upload the current output folder as is (default false: build first)"
    • changedInput schema / properties / notes / description
      Previous value: -"Release notes"New value: +"Release notes for this version, up to 2000 characters (shown to the reviewer)"
  2. First observedv0.1.17

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, idempotentHint=false, openWorldHint=true), the description discloses login requirement, multipart/retry behavior, automatic abort of blocking interrupted uploads, server-side autotest waiting, and long runtime with progress notifications. It also confirms non-idempotence in plain terms ('each call creates a new version'), which is the practical consequence of the idempotentHint annotation.

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?

The core action and its prerequisite come first, followed by side effects, runtime expectation, and the submit branch — a sensible order with no filler sentences. It is dense and somewhat long for a single paragraph, but every sentence carries operational information.

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

Completeness5/5

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

For a multi-minute, mutating, network-and-build pipeline tool with no output schema, the description covers what is produced (version state and autotest report), auth needs, failure/abort handling, and duration/progress signaling. An agent has everything needed to call it safely and set expectations for latency and side effects.

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 100% and every parameter is already documented in the schema, including the noBuild default and the submit confirmation caveat, so the description adds little parameter-specific meaning. It does weave submit and noBuild into the workflow narrative (submission gated on autotest pass), but waitForPrevious and notes are not elaborated beyond the schema, keeping this at the baseline for full coverage.

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?

The description uses a concrete verb chain (builds, zips, uploads) against a specific resource (a new version of an existing game) and explicitly names the siblings it is not: gamealia_create_game (must come first) and gamealia_submit_for_review (the alternative to submit:true). An agent can distinguish it from build, run_autotest, and submit_for_review without opening any 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?

It states the prerequisite sequence explicitly ('Use it after gamealia_run_autotest passes locally and gamealia_create_game') and gives a conditional branch with an alternative ('submit:true ... only after the user confirmed; otherwise use gamealia_submit_for_review later'). When-to-use, when-not, and the sibling to use instead are all present.

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