Skip to main content
Glama

FanZero — indie game distribution

Get review status

get_review
Read-onlyIdempotent

Status, next step, check results, critic notes, curator note and log for one of your games. Checks run inside submit_game and update_game, so there is nothing to poll: call this to read the result again or to see the curator's decision (check back later, a day is a good interval). game_id takes the id or the slug.

Input Schema

NameRequiredDescriptionDefault
api_keyNoStudio API key. Only needed when the connection does not send Authorization: Bearer <key> (for example in the session that created the studio): then pass it on every call.
game_idYesGame id (gm_…) or slug

Output Schema

NameRequiredDescriptionDefault
logYesThe latest review log
urlYesPublic page, once listed
slugYes
genreYes
mediaYes
notesYes
pactsYesOpen pacts influencers can request
stageYes
titleYes
criticYes
statusYes
game_idYes
versionYes
blockingYes
warningsYes
next_stepYesWhat to do now
platformsYes
store_urlYes
updated_atYesISO-8601 time, UTC
preview_urlYesOptional playable version; null for a listing without a build
curator_noteYes
has_playableYes
monetizationYes
preview_reviewYesCurrent preview declaration, if supplied. The stored build association is private; static checks do not certify the declarations

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed15 schema fields changed
    • changedOutput schema / properties / pacts / description
      Previous value: -"Open pacts creators can request"New value: +"Open pacts influencers can request"
    • removedOutput schema / properties / platforms / items / properties / currency / description
      Removed value: -"Uppercase currency code, e.g. EUR or USD; required for a positive price"
    • removedOutput schema / properties / platforms / items / properties / currency / pattern
      Removed value: -"^[A-Z]{3}$"
    • addedOutput schema / properties / platforms / items / properties / evidence
      Added value: +{
      +  "description": "The platform's own report the studio settles with",
      +  "type": "string"
      +}
    • removedOutput schema / properties / platforms / items / properties / name / maxLength
      Removed value: -60
    • removedOutput schema / properties / platforms / items / properties / name / minLength
      Removed value: -1
    • removedOutput schema / properties / platforms / items / properties / note / description
      Removed value: -"Price conditions, subscription period or optional purchase details"
    • removedOutput schema / properties / platforms / items / properties / note / maxLength
      Removed value: -400
    • removedOutput schema / properties / platforms / items / properties / price / description
      Removed value: -"This platform's purchase price. Omit an unknown price; zero means explicitly zero, never an assumed free game"
    • removedOutput schema / properties / platforms / items / properties / price / minimum
      Removed value: -0
    • addedOutput schema / properties / platforms / items / properties / revenue
      Added value: +{
      +  "description": "declared: after a pact window the studio reports this platform's net revenue; nothing is connected",
      +  "enum": [
      +    "declared"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / platforms / items / properties / type
      Added value: +{
      +  "description": "The studio's, or read from the name and URL",
      +  "enum": [
      +    "store",
      +    "web_portal",
      +    "app_store",
      +    "console",
      +    "own_site",
      +    "ad_network",
      +    "other"
      +  ],
      +  "type": "string"
      +}
    • removedOutput schema / properties / platforms / items / properties / url / description
      Removed value: -"Public HTTPS game/store URL"
    • removedOutput schema / properties / platforms / items / properties / url / maxLength
      Removed value: -1000
    • changedOutput schema / properties / platforms / items / required
      Previous value: -[
      -  "name",
      -  "url"
      -]New value: +[
      +  "name",
      +  "url",
      +  "type",
      +  "revenue",
      +  "evidence"
      +]
  2. Changed2 schema fields changed
    • addedOutput schema / properties / preview_review
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "preferable_to_direct_link": {
      +          "type": "boolean"
      +        },
      +        "reason": {
      +          "type": "string"
      +        },
      +        "representative": {
      +          "type": "boolean"
      +        },
      +        "sandbox_tested": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "representative",
      +        "sandbox_tested",
      +        "preferable_to_direct_link",
      +        "reason"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Current preview declaration, if supplied. The stored build association is private; static checks do not certify the declarations"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "game_id",
      -  "slug",
      -  "title",
      -  "version",
      -  "status",
      -  "next_step",
      -  "genre",
      -  "stage",
      -  "store_url",
      -  "url",
      -  "preview_url",
      -  "has_playable",
      -  "media",
      -  "platforms",
      -  "monetization",
      -  "blocking",
      -  "notes",
      -  "critic",
      -  "curator_note",
      -  "pacts",
      -  "warnings",
      -  "updated_at",
      -  "log"
      -]New value: +[
      +  "game_id",
      +  "slug",
      +  "title",
      +  "version",
      +  "status",
      +  "next_step",
      +  "genre",
      +  "stage",
      +  "store_url",
      +  "url",
      +  "preview_url",
      +  "has_playable",
      +  "media",
      +  "platforms",
      +  "monetization",
      +  "preview_review",
      +  "blocking",
      +  "notes",
      +  "critic",
      +  "curator_note",
      +  "pacts",
      +  "warnings",
      +  "updated_at",
      +  "log"
      +]
  3. Changed7 schema fields changed
    • addedOutput schema / properties / has_playable
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / media
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "alt": {
      +        "maxLength": 200,
      +        "type": "string"
      +      },
      +      "type": {
      +        "enum": [
      +          "image",
      +          "video"
      +        ],
      +        "type": "string"
      +      },
      +      "url": {
      +        "description": "Public HTTPS screenshot, gameplay or trailer URL; validated without fetching it",
      +        "maxLength": 1000,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / monetization
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / platforms
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "currency": {
      +        "description": "Uppercase currency code, e.g. EUR or USD; required for a positive price",
      +        "pattern": "^[A-Z]{3}$",
      +        "type": "string"
      +      },
      +      "monetization": {
      +        "enum": [
      +          "paid",
      +          "free",
      +          "free_to_play",
      +          "subscription",
      +          "other"
      +        ],
      +        "type": "string"
      +      },
      +      "name": {
      +        "maxLength": 60,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "note": {
      +        "description": "Price conditions, subscription period or optional purchase details",
      +        "maxLength": 400,
      +        "type": "string"
      +      },
      +      "price": {
      +        "description": "This platform's purchase price. Omit an unknown price; zero means explicitly zero, never an assumed free game",
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "url": {
      +        "description": "Public HTTPS game/store URL",
      +        "maxLength": 1000,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / preview_url / description
      Previous value: -"The current build, playable in a browser"New value: +"Optional playable version; null for a listing without a build"
    • changedOutput schema / properties / preview_url / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / required
      Previous value: -[
      -  "game_id",
      -  "slug",
      -  "title",
      -  "version",
      -  "status",
      -  "next_step",
      -  "genre",
      -  "stage",
      -  "store_url",
      -  "url",
      -  "preview_url",
      -  "blocking",
      -  "notes",
      -  "critic",
      -  "curator_note",
      -  "pacts",
      -  "warnings",
      -  "updated_at",
      -  "log"
      -]New value: +[
      +  "game_id",
      +  "slug",
      +  "title",
      +  "version",
      +  "status",
      +  "next_step",
      +  "genre",
      +  "stage",
      +  "store_url",
      +  "url",
      +  "preview_url",
      +  "has_playable",
      +  "media",
      +  "platforms",
      +  "monetization",
      +  "blocking",
      +  "notes",
      +  "critic",
      +  "curator_note",
      +  "pacts",
      +  "warnings",
      +  "updated_at",
      +  "log"
      +]
  4. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description goes beyond them by disclosing the non-obvious architecture: review checks are triggered by other tools, not by this one, so repeated calls are safe but won't advance state. It doesn't say whether results expire or how large the log can get, 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.

Conciseness4/5

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

Front-loaded with the payload contents and the polling caveat, with zero filler. The opening sentence is a comma-list fragment that reads awkwardly, which is the only structural blemish; everything after it is tight and purposeful.

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?

With an output schema present, the description needn't document return shapes, yet it still names the key fields so the agent knows what to look for. Combined with the no-polling guidance and auth note in the schema, an agent has everything needed to call this correctly and interpret when to call it again.

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 the schema already documents both api_key and game_id, including the id-or-slug forms. The description's 'game_id takes the id or the slug' merely restates the schema, adding no new meaning. Baseline 3 is correct when the schema does the work.

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 and resource ('read the result again', 'get review status') and enumerates exactly what is returned: status, next step, check results, critic notes, curator note, log. It also explicitly distinguishes itself from submit_game and update_game, which is what an agent needs to avoid mistaking this for a trigger.

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 when-to-use ('to read the result again or to see the curator's decision') and when-not-to-use ('checks run inside submit_game and update_game, so there is nothing to poll'). It even gives a concrete retry cadence ('check back later, a day is a good interval'), which is unusually actionable.

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