Skip to main content
Glama

check_game_ready

Validate meshes before export by catching errors like inward normals, zero-area faces, and missing materials. Check triangle, object, material, and draw call budgets to confirm game readiness.

Instructions

Pre-export gate. Errors: bad names, unapplied scale, no material, faces without a material (a boolean cutter without one leaves them), inward normals, zero-area faces, oversized textures, budget overruns (the max_* limits). Warnings: duplicate suffixes (.001), many material slots, empty material slots, missing UV, n-gons, open shells, and a mesh that is nearly but not fully symmetric about symmetry_axis: under 10 percent of its vertices have no mirror partner (plane: the middle of its box, or 0). That is a side broken by an uneven selection; a silhouette does not show it. symmetry_axis=null skips it. ready is true when there are no errors. budget_only=true is the cheap budget question at any stage: it only counts tris, objects, materials and estimated draw calls of names (or all visible meshes) and lists the limits exceeded in over_budget. It also gives draw_calls_if_instanced: objects that repeat one mesh with the same materials cost one call with GPU instancing; the hint says when merging them with combine pays off.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
namesNo
max_trisNo
require_uvNo
budget_onlyNo
max_objectsNo
max_textureNo
name_patternNo^[A-Za-z0-9_]+$
max_materialsNo
symmetry_axisNoX
max_draw_callsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it defines exactly what counts as an error vs a warning, explains the subtle symmetric-but-broken-mesh case, and documents budget_only's cheap counting behavior, the over_budget output, and the draw_calls_if_instanced semantics. Gaps remain — it never explicitly says the check is non-mutating and says little about cost of the full check.

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 purpose and then organized into errors, warnings, and the budget mode, so the reader gets the key facts early. It is dense and information-rich, though parenthetical asides ('a boolean cutter without one leaves them', 'plane: the middle of its box, or 0') add clutter that a tighter phrasing could drop.

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?

For a 10-parameter tool with no annotations and no output schema, the description supplies a lot: the ready/over_budget return semantics, both operating modes, and the meaning of each check category. It is nearly sufficient, with the main shortfall being incomplete coverage of a few input parameters and no explicit statement of 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 description coverage is 0% across 10 parameters, so the description must compensate. It meaningfully explains names, the max_* limits (tris, objects, materials, draw calls, texture), symmetry_axis, and budget_only. But require_uv and name_pattern are never addressed, and the max_* grouping is only implied, so it covers roughly half the parameters.

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?

The opening 'Pre-export gate' plus the enumeration of errors and warnings makes it immediately clear this is a mesh/scene validation tool for export. The specific check categories (names, scale, materials, normals, textures, budgets) are far more concrete than a vague 'check' verb. It does not, however, explicitly differentiate itself from siblings like check_mesh or check_symmetry, which overlap in scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the primary context ('pre-export gate') and gives a clear conditional path: use budget_only=true 'at any stage' for the cheap budget question, and symmetry_axis=null skips the symmetry check. That is strong when-to-use guidance. It stops short of naming alternatives or saying when NOT to run the full check (e.g., its cost relative to check_mesh).

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