Skip to main content
Glama

Finish build upload

finish_build_upload
Destructive

Finish an upload started with begin_build_upload: unpacks the zip into a new version of the Title (it appears in the dashboard's version history) and waits up to ~100 s. Returns the version with a TestUrl to try it before players see it. deploy=true also puts it live for players on the Title's address and its idosgames.com page. If it is still unpacking when the call returns, poll get_build. Calling it again with the same build_id returns the same version (with deploy=true it deploys a version that is ready).

Input Schema

NameRequiredDescriptionDefault
labelNoOptional short name of the version shown in the history ("Added the shop").
deployNotrue = put this version live for players as soon as it is unpacked. Default false: only a test version.
build_idYesbuild_id returned by begin_build_upload.
title_idYesLive TitleID (the same one passed to begin_build_upload).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, so the bar is lower, yet the description adds substantial context: ~100 s wait window, version appearing in dashboard history, returned TestUrl, and idempotency on repeat calls. It does not explicitly state what the deploy path overwrites or what happens to the currently live version, so the destructiveHint is not fully elaborated.

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?

Five dense sentences, each carrying distinct information (purpose, wait behavior, result, deploy effect, polling, idempotency) with the core action front-loaded. No filler or restated field text.

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 mutation tool with no output schema, the description compensates by describing the returned version and its TestUrl, the timeout, the polling path, and the deploy side effect. Combined with the annotations, an agent has everything needed to call and follow up correctly.

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%, so the baseline is 3. The description reinforces deploy semantics and the build_id/idempotency relationship, but adds little syntax or format detail beyond what the schema already documents for label, deploy, build_id, and title_id.

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?

Starts with a precise verb+resource ('Finish an upload started with begin_build_upload') and immediately differentiates itself from the sibling it builds on. An agent can tell it apart from begin_build_upload and get_build 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?

Explicitly names the prerequisite tool (begin_build_upload), the fallback when the operation is still running (poll get_build), and the two modes selected by deploy. The when-to-use-as-test vs when-to-go-live distinction is spelled out, and the idempotent retry case is called out.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.