Skip to main content
Glama

Update the game live in the Playgama catalog

send_playgama_catalog_update
Destructive

Send this archive and the saved form to the Playgama catalog as an update of the game live there, without moderation: once it is published, every catalog player gets it and no moderator checks it first. Write updateNote — what players will notice in this update — every time; a refused note writes nothing: fix it and call again. Call it only on the developer’s explicit yes in this conversation: first tell them the game, the archive and that the game live in the Playgama catalog will be updated for all its players with no moderation; a yes to an earlier update or to a sandbox publish does not count. Before asking, read get_submission_state with this archiveId and reviewType AUTO: it says whether this call would be refused, in the same words. Only a game live in the catalog takes it (autoReviewPlatforms holds PLAYGAMA); a first publication and every other platform go to moderation, which a human submits in the console. Answers outcome PENDING and releaseId: the archive is built, then published. Follow the PLAYGAMA publication of get_publications with that releaseId, waiting its retryAfterSeconds between reads: PUBLISHED — the update is live; FAILED — it never went live, players keep the previous build and no reason is given: tell the developer; the same form may go again, after a new yes. Until it ends, another publication of the game, to the catalog or the sandbox, is refused with 409 PUBLICATION_IN_PROGRESS. Read get_publications before the call. A call with no answer may still go in after any read, so never tell the developer it did not: read get_publications again — a PLAYGAMA publication with a new releaseId naming this archive is an update of this archive, this call’s or another submit’s: follow it. Otherwise the outcome is unknown: say so, and never call again on the old yes — a call sends the form as it is when it goes in, which may have changed since: another call is a new update, after get_submission_state and a new yes. Refusals (reason; relay message word for word): AUTO_REVIEW_UNAVAILABLE — not live in the catalog; NO_CHANGES — the archive and the form are those of the last submit; PUBLICATION_IN_PROGRESS; and every reason get_submission_state names.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
archiveIdYesThe archive to send: one of this game whose build check PASSED (get_archive_status `state`), the one get_submission_state judged with `reviewType` AUTO. Its form goes with it, as saved
updateNoteYesWhat a returning player will notice in this build, 80 to 500 characters, 1 to 4 sentences. Not a changelog: pick the one or two changes a player would actually feel (a new level, controls that work differently, a boss that got easier) and say them the way you’d tell a friend who played last week. Skip refactors, build settings and fixes nobody could see. If it fixes something players complained about, say so. Required: this update replaces the build every catalog player has now. It is kept with this release. Always write it in English, even when you talk to the developer in another language: translate, don’t switch. Write as the developer posting in the game’s chat, not as an announcement: first person, short sentences, contractions, plain words, one or two short paragraphs. Plain text only: no headings, lists, markdown, links, e-mail addresses or hashtags, and one emoji at most. Avoid ad words and AI tells: immersive, dive into, embark, journey, unleash, elevate, seamless, thrilling, "whether you’re…", "not just X but Y", lists of three, em dashes. Don’t open with the game’s title, "Welcome to" or "Hey everyone". Use only what you know from the game and from building it; never invent a backstory, feelings or numbers. Non-Latin letters and links are refused: fix the text or leave it out, and never let it block the rest of the call. Here the note cannot be left out: fix a refused one and send it again.
applicationIdYesApplication (game) id, as returned by list_applications

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true, openWorldHint=true and idempotentHint=false, and the description adds substantial non-obvious behavior: no moderation before going live to every player, the PENDING/outcome and releaseId return, the PUBLISHED/FAILED terminal states, 409 PUBLICATION_IN_PROGRESS, retryAfterSeconds pacing, the unreliability of a no-answer call, and named refusal reasons with instructions to relay messages verbatim.

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?

The core action is front-loaded, but the body is a dense wall of semicolon-chained clauses, bolded fragments and mid-sentence imperatives that an agent must parse carefully. Nearly every statement carries operational value, so it is not padding, yet the presentation is far from tight and could be restructured for faster scanning.

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 destructive, non-idempotent publish call with no output schema, the description covers the full lifecycle an agent needs: pre-call reads, acceptance criteria, asynchronous outcome, follow-up polling, terminal states, refusal handling, and retry-on-new-yes semantics. Nothing needed to invoke it correctly appears to be 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 the updateNote schema description is itself extremely detailed, so the schema already carries most parameter meaning. The description reinforces the 'write updateNote every time' requirement and the archive/form coupling, but adds little semantic detail beyond what the schema already states, so the baseline 3 applies.

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 opening states a specific verb and resource: send an archive plus saved form to the Playgama catalog as an update of the live game. It immediately distinguishes itself from first publication and from the sandbox/second platform paths that go to moderation, so the agent can place it among siblings like publish_sandbox and update_application_form.

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?

Explicit gating conditions are given: call only on the developer's explicit yes in this conversation, and a yes to an earlier update or a sandbox publish does not count; read get_submission_state with AUTO and get_publications before calling; only a game live in the catalog with autoReviewPlatforms PLAYGAMA qualifies. Alternatives (first publication, other platforms) are named and routed elsewhere.

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.

Resources