Skip to main content
Glama

Upload a web build

upload_web_build

Keep a game played in the browser: a .zip with index.html at its top (up to 100 MB), or a single .html page. Returns the address to put in the draft's build. version (optional): what the build is called, up to 32 characters of letters, digits, dots, dashes, plus signs and spaces, starting with a letter or a digit (like 1.4.0); left out, it is called by its number in its game's builds ("12") once the draft names it.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "upload_web_build"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNoThe file's https address (preferred).
dataNoOr the file itself in base64, up to 3 MB.
versionNoIts version, shown with it in the studio and wherever its builds are listed, once a game's draft names it. A build's version is up to 32 characters: letters, digits, dots, dashes, plus signs and spaces, starting with a letter or a digit (like 1.4.0 or 2.0 beta). Left out, the build is called by its number in its game's builds (1 for its first: "12"). 422 bad-version when it breaks the rule.
filenameNoIts name, when sent as data.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare a non-readonly, non-destructive, non-idempotent, open-world operation, so the bar is lower. The description still adds real value beyond them: hard size ceilings (100 MB zip, 3 MB base64), the return value's destination, and a specific failure mode ('422 bad-version'). It omits what happens on re-upload (does it create a new build or replace one?) and any quota or auth requirement.

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

Conciseness3/5

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

It is front-loaded with the core action and constraints, which is good, but a large share of the text re-explains the version parameter that the schema already specifies in full. The jarring 'version (optional):' interpolation mid-paragraph and the nested 'once the draft names it' clauses make it harder to scan than it needs to be.

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?

With no output schema, the description properly explains the return value (the address for the draft's build), inputs and their limits, and one error case. For a 4-parameter upload tool it is nearly complete, lacking only upstream/downstream flow details (that a draft or game must exist, and how this relates to make_build_live/name_build).

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%, so the schema already documents all four parameters thoroughly, including the version pattern. The description restates the version rule nearly verbatim and clarifies the zip-vs-single-page choice, but adds little on url, data, or filename beyond what the schema covers. Baseline 3 applies when the schema carries the weight.

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 and resource ('Keep a game played in the browser') and defines exactly what is accepted: a .zip with index.html at its top up to 100 MB, or a single .html page. It also states the outcome ('Returns the address to put in the draft's build'). It does not distinguish itself from adjacent siblings such as upload_media or name_build, so it stops short of a 5.

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?

Usage is implied: use this to get a browser-playable build, then put the returned address in the draft's build. There is no explicit when-to-use vs when-not, no mention of the alternatives (upload_media, list_builds, name_build), and no prerequisites or auth context.

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.