game-asset-mcp
Server Quality Checklist
Latest release: v0.3.8
- Disambiguation5/5
Each tool has a clearly distinct purpose: generation (reference, variation, full 3D), selection, downloading, inspection, validation, normalization, PBR extraction, sound effects, rigging, animation, retopology, batch operations, and spend reporting. Even similar tools like generate_asset_reference and create_game_prop are differentiated by their roles (raw generation vs. convenience wrapper that stops at candidate selection).
Naming Consistency5/5All tool names follow a consistent verb_noun snake_case pattern (e.g., get_asset_job, create_3d_asset, download_asset, validate_game_asset). Minor variation between 'create_' and 'generate_' is acceptable since they reflect different actions (creating a final asset vs. generating intermediate references). The naming is highly predictable.
Tool Count4/5With 20 tools, the surface is broad but well-scoped for a comprehensive game asset pipeline covering generation, modification, validation, and auxiliary operations. It is on the higher end of typical, but each tool earns its place; no redundant or trivial tools exist.
Completeness4/5The toolset covers the full asset lifecycle: generate references, select, create 3D, download, inspect, validate, normalize, extract PBR, rig, animate, retopologize, and batch prepare. Minor gaps include no explicit job deletion or advanced manual editing (e.g., UV sculpting), but these are not core to the stated purpose and can be worked around.
Average 4.4/5 across 20 of 20 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 104 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is failing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description does not need to re-state safety. It adds valuable behavioral detail: errors fail the asset, warnings do not; every threshold is overridable (implying parameter customization). The note that it is free and fully local adds context about execution environment. This goes beyond what annotations provide, though it could be more explicit about output structure or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph but is well-ordered: starts with 'FREE and fully local', then describes the core function, then error/warning behavior, then overridability, then the pairing workflow. Every sentence carries information and nothing is redundant. It could be broken into bullet points for scannability, but it's efficient and not bloated. Slight deduction for length; it could be shortened without losing content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the output (pass/fail with per-check reasons) and the checks, but it omits critical usage details: it does not state that one of modelPath or assetJobId must be provided (both are optional in schema), nor does it mention default thresholds or units (e.g., triangle count, texture size). Without an output schema, the return format is only vaguely described. The pairing with normalize_mesh is helpful, but the description lacks completeness for an agent to call correctly without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17% (only modelPath and assetJobId have descriptions). The description lists the checks performed (UVs, normals, tangents, triangle budget, etc.) but does not explicitly map each check to its corresponding parameter (e.g., requireUVs, maxTriangles). The statement 'Every threshold is overridable' implies parameters exist but doesn't clarify their semantics. Given the low schema coverage, the description should compensate more by naming parameters or specifying units. It adds some value by listing the checks, but an agent might still be unsure how to set specific thresholds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool judges glTF/GLB assets against a shipping policy and returns a pass/fail verdict with per-check reasons. It lists specific checks (UVs, normals, tangents, triangle budget, etc.) and distinguishes itself from normalize_mesh by describing the pairing workflow. This is a specific, actionable purpose that an agent can easily understand without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly notes it is free and fully local (no network/credits), which is a condition for when to use it. It also instructs to pair with normalize_mesh: run this first, normalize, then run again to verify repair. This provides clear 'when to use' context. It does not explicitly mention when not to use or list alternatives, but given the tool's role as the validation step, the guidance is sufficient. A small deduction for not stating that it's a pre-shipping check among other potential validation paths.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: it discloses the credit cost ('SPENDS IMAGE CREDITS'), the asynchronous execution model ('waits up to waitSeconds, then returns a job id to poll'), and the output nature ('candidate image URLs for YOU to look at'). It does not contradict the readOnlyHint=false or idempotentHint=false annotations, and it provides insight into side effects that annotations alone do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but each sentence adds value: credit cost, generation framing, output, not-3D warning, workflow, and async behavior. It front-loads the credit warning and core action. A minor redundancy exists in explaining the framing and the not-3D aspect, but overall it is efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, nested objects, no output schema), the description covers the high-level workflow and async behavior but omits parameter-level guidance. It does not explain what fields in 'spec' are essential or how waitSeconds interacts with job polling via get_asset_job. The mention of 'call select_reference then create_3d_asset' hints at the pipeline but leaves the agent to infer details from the schema. It is adequate for a basic invocation but incomplete for full correct usage of all options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 57%, leaving many parameters undocumented. The description does not compensate: it mentions 'waitSeconds' implicitly but does not explain the role of spec, numImages, or other nested parameters beyond what the schema already says. For a tool with complex nested objects (spec.artDirection, spec.geometry), the description offers almost no help in constructing valid parameters, falling short of the burden placed on it by low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('generates'), the resource ('candidate reference images for a game asset'), and the specific framing ('for 3D reconstruction rather than concept art') with concrete visual details (isolated object, neutral background). It also explicitly distinguishes from the sibling create_3d_asset by stating it does NOT create a 3D model, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear workflow: 'after inspecting the candidates, call select_reference then create_3d_asset'. It also notes asynchronous behavior and the need to poll for a job id. However, it does not mention when NOT to use this tool (e.g., for generating variations) or how it contrasts with generate_reference_variations, so it lacks explicit exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond annotations: it discloses credit spending, async execution with poll steps, and flags the provider task name as unverified. This is valuable transparency that annotations do not provide, and there is no contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a few sentences, each contributing useful information: credit cost, purpose, rationale, async steps, and a verification note. It is front-loaded with the most critical constraint (credit spend) and avoids redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given 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 covers the essential context: the operation, cost, async flow, and follow-up steps. It could mention potential error conditions or prerequisites more explicitly, but the assetJobId parameter description in the schema helps fill that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema. The description adds minimal extra meaning—only reiterating the quad default, which is already in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Rebuilds' and the resource 'topology of an existing generated asset', distinguishing it from siblings like normalize_mesh or texture_existing_asset. It also explains the rationale for quad output, reinforcing its specific role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on why quads are preferred but does not explicitly state when to use this tool versus alternatives like normalize_mesh. The async workflow is mentioned, but no exclusion criteria or comparisons are provided, leaving usage decisions partially implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a critical side effect upfront: 'SPENDS IMAGE CREDITS.' It also explains that it creates a new child job and that the object identity is held fixed, which goes beyond the annotations (readOnlyHint=false, openWorldHint=true). While it doesn't mention every possible side effect, this is substantial behavioral context not present in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the cost warning. Every clause adds value: the credit warning, the axis constraint, the identity requirement, and the child-job relationship. There is zero fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters and no output schema, the description covers the core function and key side effects (credits, child job creation). It doesn't explain the return format, but it mentions creating a child job, which hints at a job reference. The waitSeconds behavior is defined in the schema, so the description doesn't need to repeat it. The remaining gaps (output details) are minor given the tool's role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers 75% of parameters with descriptions (axis, seed, modelId, numImages, assetJobId, waitSeconds). The description adds nuance by stating that only ONE axis is varied and that the object identity is fixed, which clarifies the axis and assetJobId parameters. However, this is supplementary rather than essential, and width/height lack descriptions both in schema and description without compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Generates variations') and a specific resource ('existing asset job'), and clearly scopes the action to 'ONE named axis' with a concrete list. It distinguishes itself from siblings by emphasizing it creates a new child job linked to the parent rather than starting from scratch. This leaves no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for use: you have an existing asset job and want variations along a single axis. It implies alternatives by mentioning 'existing asset job' (vs. creating from scratch) but does not explicitly name sibling tools or state when not to use it. The instruction to hold object identity fixed further constrains when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true and destructiveHint=false, but the description adds meaningful context: it is free and local (no network call, no credits) and that it 'records' which candidate image to use. This goes beyond the structured annotations and helps the agent understand side effects (state change, but idempotent) and cost implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no fluff. The free/local note is front-loaded, followed by the core action and workflow. Every sentence earns its place, and the structure is immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter selection tool with no output schema, the description is largely complete: it explains the core action, the workflow sequence, and key behavior (free/local). The only gap is the undocumented assetJobId, but given the tool's simplicity and the workflow clarity, a 4 is reasonable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: candidateId has a description, assetJobId does not. The description mentions 'candidate image' which indirectly relates to candidateId, but it does not clarify assetJobId at all. The description adds marginal value beyond the schema but fails to compensate for the undocumented parameter, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('records which candidate image') on a specific resource ('for 3D reconstruction'), and explicitly places it between generate_asset_reference and create_3d_asset. This clearly differentiates it from siblings like generate_reference_variations or create_3d_asset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit workflow context: 'Call this after looking at the candidates from generate_asset_reference, and before create_3d_asset.' This is clear when-to-use guidance. It does not mention when not to use or list alternative tools, but the workflow sequencing is strong enough for a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, which say little about side effects or costs. The description carries the full burden and does so richly: it states 'SPENDS AUDIO CREDITS', explains each variation costs separately, describes polling behavior with a bounded wait, reveals the return format (local file paths), and even discloses that the path is UNVERIFIED against the live API. This goes well beyond the annotations and is a model of transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than the ideal but every sentence serves a purpose. It front-loads the cost warning, then describes the tool, provides loop guidance, explains polling, and ends with an essential unverified caveat. It is not verbose or redundant, though it could be tightened slightly by omitting the repeated warning about variations in both the main text and the parameter schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 8-parameter tool with no output schema, the description covers cost, loop behavior, variations, polling, bounded wait, and return format (local file paths). It also flags the unverified status. It does not specify error handling or edge cases, but given the schema covers parameter details and the description covers behavioral essentials, it is sufficiently complete for an agent to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description largely repeats what the schema already states (e.g., loop for seamless tiling, prompt advice 'Concrete physical description beats genre words' is in the schema's prompt description). It adds no new parameter semantics beyond the schema, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb+resource: 'Generates a short sound effect from a text description' and lists concrete examples (weapon reports, impacts, footsteps, UI blips, ambience loop). It is immediately distinct from sibling tools like create_3d_asset or get_asset_job, since it targets audio generation and even references get_asset_job for polling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage context: 'SPENDS AUDIO CREDITS' warns about cost, 'Set loop:true for anything that must tile without a seam' provides a condition for a parameter, and it explains when polling is needed ('a slow provider returns a job id to poll with get_asset_job rather than hanging'). It does not explicitly name alternatives or say when NOT to use this tool, but the context is clear enough for an agent to choose appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, but the description adds that it 'makes a network call to the provider but never spends credits' and explains the refresh behavior. This adds concrete context beyond annotations. It doesn't describe return format or error handling, but given the annotation coverage, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core purpose and read-only nature. The status list is dense but comprehensive, and the sequential guidance is clear. It could be split into a list for readability, but it's efficient and every sentence carries useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple polling tool with two parameters and no output schema, the description covers the essential workflow: when to call, what statuses to expect, and the read-only safety. It doesn't detail error handling or response structure, but that's not critical given the tool's simplicity and the guidance provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are documented in the schema. The description adds extra value by explaining the 'detail' parameter's default and its rationale ('Defaults to false because full records are large and flood context on repeated polls'), which is not in the schema. This goes beyond the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Check an asset job, refreshing it from the provider if it is still running.' It identifies the resource (asset job) and the specific behavior (refresh if running), and it distinguishes itself from siblings by tying it to the create/texture workflow and the subsequent download step. This is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit sequential guidance: 'Call this after create_3d_asset or texture_existing_asset until status is "ready", then call download_asset.' This tells the agent exactly when to use it. However, it doesn't explicitly contrast with alternatives like list_asset_jobs (which is for listing, not polling a single job), so it's not a full when-not-to-use, but it is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable behavioral context: it is free, fully local, makes no network call, consumes no credits, normalizes figures to US cents, and clearly flags that estimated costs are pessimistic placeholders. This goes beyond the annotations to explain the nature of the data and its reliability, though it does not address any potential concurrency or rate-limit behavior (likely irrelevant for a local read).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The leading 'FREE and fully local: no network call, no credits' is an efficient hook, followed by the core reporting function and the important estimation caveat. Every part adds value, and it is front-loaded with the most decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description fully covers what the agent needs: what is reported (spend breakdown by tool, remaining headroom), the unit normalization, and the caveat about estimated costs. There is no missing detail that would prevent correct invocation or interpretation of results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (empty properties object). Per the baseline rule for 0 parameters, a score of 4 is appropriate. The description does not need to explain parameters since none exist, and it appropriately focuses on the output semantics instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Reports') and a specific resource ('estimated provider spend for this workspace, broken down by tool'), plus the additional output of remaining headroom. It clearly distinguishes from sibling tools, which are all asset-generation/job tools, by being the only spend-related tool. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives, though no direct alternative exists among siblings. It does convey that it is free and local, implying it can be called without cost concerns, but it lacks an explicit 'use this when you need to check budget' or 'prefer this over external APIs' guidance. The usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the tool is known to be safe. The description adds valuable context: 'FREE and fully local: no network call, no credits' and lists what it reports, including warnings for downstream problems. This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loaded with the key benefit ('FREE and fully local'), then the purpose, then how to call it. The list of properties is somewhat lengthy but necessary to convey the output. It is efficient without being terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description enumerates what is reported (counts, materials, etc.) and mentions warnings, covering the return content. It also explains both parameters' usage. It does not detail error behavior beyond the schema's note on non-glTF formats, but that is sufficient for a read-only inspection tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds meaning by clarifying the relationship: assetJobId is for a downloaded job and modelPath for any local file. This clarifies the distinction beyond the schema's bare descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('inspect') and resource ('downloaded glTF/GLB' or local file), and enumerates the technical properties it reports (mesh/triangle counts, materials, texture resolutions, bounding box, presence of UVs/normals/tangents/PBR channels). It also notes warnings for downstream issues, making the purpose concrete and distinct from siblings like get_asset_job or validate_game_asset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear usage context for both parameters: 'Pass assetJobId to inspect a downloaded job, or modelPath to inspect any local file.' This tells the agent when each input is appropriate. However, it does not explicitly mention when not to use this tool versus alternatives, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations carry no safety hints (all false/empty), so the description bears the full burden — and it exceeds it. It discloses the surprising 'forces opaque blending', guarantees 'Existing UV layouts are never overwritten', and repeatedly states it never writes over the input mesh. It also reveals the receipt with before/after counts. No contradiction with annotations (destructiveHint=false is consistent with the no-overwrite guarantee).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
A dense paragraph with no filler — every sentence contributes (dependency, behavior list, safety guarantees, return format). It is front-loaded with the cost model. Slightly long, but the information density justifies the length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter, zero-required mutation tool with no output schema, the description covers the key decision points: dependency requirements, safety boundaries, and the measurable return receipt. It doesn't walk through every parameter, but the schema handles that; the main omission is explicit routing away from overlapping siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 92%, so the schema documents nearly all parameters; the baseline of 3 applies and the description need not compensate. It does add a little value (decimation goal, UV generation intent) but leaves parameter-level details to the schema, which is appropriate at this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific, unambiguous purpose: 'Repairs a mesh for downstream use' and enumerates the exact operations (UV generation, vertex welding, degenerate-triangle dissolution, material naming, opaque blending, optional decimation). Verb+resource are distinct and clearly differentiated from siblings such as retopologize_asset and texture_existing_asset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides strong context: it calls out that it is free/local with no credits, and flags the Blender optional dependency with refusal behavior. It explains the canonical scenario ('the single most common reason a mesh cannot be textured'). It doesn't name sibling alternatives explicitly with when-not conditions, so differentiation is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare openWorldHint=true and readOnlyHint=false, but the description adds substantial behavioral value beyond those: it discloses the credit cost profile up front ('SPENDS IMAGE CREDITS ONLY' and not 3D credits), and reveals the transformation behavior (loose brief → reconstruction-grade prompt). No contradiction with annotations. It could go further on details like generation time or failure modes, which keeps it from 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with zero filler. The most critical operational fact (credit spending) is front-loaded in all caps, followed by the workflow and the design rationale. Every sentence earns its place; the structure mirrors the tool's purpose as an entry point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 parameters, a nested object, and no output schema, the description covers the workflow and handoff chain well but leaves parameter semantics to the schema, which is only 44% covered. The output shape ('candidate reference images') is hinted but not detailed. Given the strong sibling differentiation and workflow clarity, this is mostly complete with minor gaps around parameters and return details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 44%, and the description does not compensate by explaining individual parameters — it focuses on workflow. The schema itself carries descriptions for name, description, and dimensionsMeters, but parameters like category, artDirection, gameplayPurpose, waitSeconds, and targetTriangleCount have no descriptions and are not touched in the tool description. This is a real gap given the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-resource pair ('takes a loose brief, builds a reconstruction-grade prompt, and generates N candidate reference images') and explicitly frames itself as a 'convenience entry point' that deliberately stops short of 3D generation. It names the exact sibling tools it hands off to (select_reference, create_3d_asset), making the differentiation unambiguous without needing to open their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit sequential workflow: 'look at the returned candidates, call select_reference with your choice, then create_3d_asset.' It also states when NOT to use it indirectly by declaring that it stops at reference generation and spends no 3D credits — the agent knows this is the reference-stage tool, not the modeling stage. The rationale ('so art direction stays with you') gives clear context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations all false, the description carries the full burden of behavioral disclosure, and it does so thoroughly. It reveals the tool performs no network call, consumes no credits, de-packs channels with specific color-space handling (linear light), and writes a receipt with provenance. It also explains the 'source='factor'' edge case, which is exactly the kind of nuance an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but well-organized: it leads with the key value proposition, then the core operation, then technical details, usage context, and a special case. Each sentence earns its place, and there is no redundant filler. Front-loading the local-free nature and the main split action aids quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 optional parameters and no output schema, the description covers almost everything an agent needs: input types, channel semantics, resolution behavior, receipt generation, and the factor distinction. The only notable gap is that it never explicitly states what the tool returns (e.g., a job ID or a list of output paths). Since it says 'writes a receipt,' the return value is implied but not defined, which is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The tool description adds some context (e.g., resolution default behavior and the flat image behavior for scalar factors) but doesn't materially enhance parameter meaning beyond what the schema already provides. The schema descriptions suffice.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('splits'), a precise resource ('a glTF material'), and enumerates the outputs (albedo, normal, roughness, plus metallic and occlusion). It immediately distinguishes the tool from siblings by noting it is local and free, and by referencing the material's metallicRoughness de-packing, making the function unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit context for when to use the tool: 'Use after download_asset, or on any local glTF/GLB.' This tells the agent the prerequisite and the acceptable inputs. It doesn't explicitly name alternatives or when not to use it, but the context is clear enough to guide correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though readOnlyHint is true, the description adds critical context: 'fully local: no network call, no credits' and 'does not refresh provider state.' These details about cost, network access, and side effects go well beyond the annotation and help an agent gauge operational impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: the first states the core purpose and ordering, the second adds local/no-network/no-credit detail, and the third clarifies the exception. Information is front-loaded and every sentence earns its place with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with optional parameters, the description covers purpose, sorting, side-effect caveats, and the alternative tool. It does not describe the return structure or pagination, but the schema provides limit bounds and the tool's simplicity reduces the need. Overall, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention either parameter (limit or status). Schema coverage is only 50% (status has a description, limit does not), and the description does not compensate by explaining limit's role or the enum's purpose. An agent must rely on the parameter names and defaults, which is insufficient for a low-coverage schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('list') and resource ('local asset jobs'), adds a sorting guarantee ('newest first'), and explicitly distinguishes itself from get_asset_job by noting it does not refresh provider state. This makes the tool's scope unambiguous against a large sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides an explicit exclusion: 'Does not refresh provider state' and directly names the alternative 'use get_asset_job for that.' This tells the agent exactly when to choose a different tool, leaving no ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive behavior. The description adds valuable context: it is free, fully local (no network call, no credits), and shows the exact prompt that the generator would send. This goes beyond the annotations by clarifying cost and network implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: first states the key benefit (free/local), second the core action, third the usage scenario. No filler, front-loaded with the most important differentiator.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, benefit, use case, and output type (prompt and negative prompt). It does not detail the spec schema, but that is fully documented in the input schema. For a non-destructive preview tool with robust annotations, this is sufficient; the only minor omission is any note about error handling or output format details, but those are not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description only refers to 'a given spec' without elaborating on its structure. However, the input schema's nested properties contain rich descriptions for each field (name, output, etc.), so the agent can understand the spec from the schema. The description adds no new meaning to the spec parameter itself, so it relies on the schema – baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action ('Shows the exact...prompt') and the resource (the prompt that generate_asset_reference would send), and distinguishes itself as FREE and fully local, differentiating it from the generating sibling. It names the sibling tool and clearly communicates it's a preview, not the generator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Use this to sanity-check art direction before spending image credits,' giving a clear when-to-use condition. It names generate_asset_reference as the alternative that actually spends credits, and implies this tool is for pre-flight validation. No exclusions are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several behavioral traits beyond the annotations: it spends 3D credits (cost), it is asynchronous requiring polling of get_asset_job and download_asset, and it notes that the provider task name is unverified. These are critical operational details that annotations (readOnlyHint=false, openWorldHint=true) do not capture. The description adds substantial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: the credit warning is front-loaded, the async workflow is stated, and the prerequisite and warning about wasted credits are included. It is information-dense but not bloated, with a clear logical flow from cost to action to next steps.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (asynchronous, credit-spending, dependency on prior job), the description covers all essential aspects: what it does, the prerequisite, the async polling pattern, and the cost implication. It even flags the unverified provider name. For a tool with no output schema, this is nearly complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, leaving outFormat undocumented. The description does not clarify what outFormat options are or how spec affects the rigging, beyond what the schema already states for assetJobId. While the description reinforces that assetJobId must reference a completed model, it adds minimal value to parameter understanding. The missing outFormat explanation is a clear gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (rigs), the resource (an existing generated asset), and the outcome (builds skeleton and skin weights). It distinguishes from siblings like animate_asset and retopologize_asset by framing the purpose as enabling animation. The verb-resource combination is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit context: it must be used on an asset job that already produced a model, and it should precede animation ('Rig before animating'). It also warns about wasting credits by retargeting an unrigged model, which implies when this tool is the right choice. It does not explicitly name alternatives like animate_asset, but the sequencing guidance provides adequate usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, so the description's 'Creates' is consistent. The description adds valuable behavioral context not in annotations: it 'SPENDS 3D CREDITS,' is asynchronous (returns a job id), and model URLs expire. This provides important operational traits beyond the structured annotations, though it doesn't detail failure modes or input validation failures.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact five-sentence paragraph, front-loading the most critical facts: credits, creation, asynchronous behavior, source options, and URL expiration. Each sentence serves a purpose with no fluff or repetition. The structure is efficient and agent-friendly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the main workflow and source options, it omits a key requirement: that `spec` must be provided when not using assetJobId. The schema documents this, but the description does not call it out, which could lead an agent to submit a request without the required `spec` for image/text sources. Given the tool's complexity and absence of an output schema, this is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 91%, so the baseline is 3. The description enhances understanding of the source parameters: it explains that assetJobId uses a job's selected reference image, imagePath must be local png/jpg/webp, imageUrl must be https, and textPrompt skips images. This goes beyond the schema's brief property descriptions and clarifies the one-source requirement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Creates a textured 3D model.' It identifies the tool as the creation step in a larger workflow, and the title confirms 'Reconstruct a 3D asset.' It distinguishes from siblings like get_asset_job or download_asset by describing the creation action itself, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent when to use this tool: 'Provide exactly ONE source' and enumerates the four options (assetJobId, imagePath, imageUrl, textPrompt). It also directs the follow-up actions: poll get_asset_job, then call download_asset. This is clear workflow guidance that distinguishes it from alternative tools and leaves nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is richly transparent. It discloses cost ('SPENDS 3D CREDITS'), non-destructive behavior ('keeping its geometry untouched'), asynchronous operation with explicit polling instructions ('poll get_asset_job until "ready", then download_asset'), and a critical provider limitation with a fallback. These details go well beyond the annotations (readOnlyHint=false, destructiveHint=false, etc.) and give the agent a clear behavioral model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is substantial but every sentence serves a purpose: cost warning, function, use-case justification, input methods, material direction rule, async flow, and provider caveat. It is front-loaded with the cost and core purpose, and while it is longer than average, the information density justifies the length. The structure is logical and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 10 parameters and nested objects but no output schema, the description covers the essential operational flow: how to provide the mesh, how to direct the material, how to handle the async result, and a failure case. It does not detail output structure, but that is handled by the referenced job flow. The description is complete enough for an agent to invoke correctly without reading the entire schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description clarifies the most important parameter interactions: the mutual exclusivity of prompt and styleImagePath ('EITHER prompt OR styleImagePath, not both') and the two valid inputs for the mesh (modelPath or originalAssetJobId). With 70% schema coverage, this adds critical value beyond the schema, though it does not explain every parameter (e.g., textureSeed, modelVersion), which is acceptable given their optional nature.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: applying newly generated PBR materials to an existing mesh while preserving geometry. It specifies the resource (existing mesh) and the action (apply materials), and distinguishes itself from sibling tools like create_3d_asset by explicitly framing the use case as 'when you already own a model and only the materials are missing or wrong.' This makes the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit instructions on when to use the tool (existing mesh, missing/wrong materials) and why it's preferable (cheaper, preserves geometry). It also explains two ways to provide the mesh and a fallback for provider limitations. However, it does not explicitly name alternative tools (e.g., create_3d_asset for new meshes) or state when NOT to use it beyond the implied existing-asset condition, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=false, idempotentHint=false), the description discloses critical behaviors: it 'SPENDS 3D CREDITS', it is asynchronous (requiring polling), it refuses for non-rig jobs, and it flags the provider task name as 'UNVERIFIED live'. These operational and trust details are not present in the annotations, giving the agent a complete picture of consequences and limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence in the description carries essential content: cost, purpose, asynchronous workflow, failure condition, and a trust caveat. It is front-loaded with the most urgent constraint (credit spend) and structured so that prerequisites and post-conditions are immediately clear. No filler or redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema, the description covers all necessary usage context: the prerequisite rigging, the asynchronous flow with specific follow-up tools, the cost model, the refusal behavior for invalid inputs, and a warning about unverified provider metadata. An agent can confidently invoke it correctly without additional information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% (assetJobId and animation have descriptions; outFormat only has enum/default). The description adds minimal param-specific meaning: it reinforces that assetJobId must be a rig job and notes cost per animation, but these are largely operational or redundant with the schema (which already says 'A job produced by rig_asset'). The baseline of 3 applies since coverage is moderate and the description only slightly supplements the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Applies'), a resource ('a preset animation to an asset'), and a critical prerequisite ('ALREADY been rigged with rig_asset'). It clearly distinguishes this tool from other asset-creation tools by requiring a prior rig job, making its role in the pipeline unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states the precondition (must be rigged), the follow-up workflow ('poll get_asset_job, then download_asset'), and a refusal condition ('Refuses when the source job was not a rig'). This tells an agent exactly when to use it, what to do after, and when it will fail, leaving no ambiguity about its place relative to siblings like rig_asset or download_asset.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no guidance (all false), so description bears full burden. It discloses every significant behavior: validation pipeline, normalization dependency on Blender, per-item error handling, that FAILED items may still write files, and the critical distinction between prepared and outputsWritten. Extremely thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph with every sentence earning its place. Front-loads the free/local note and pipeline description, then addresses edge cases without redundancy. Length is justified given the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters and no output schema, the description provides surprisingly complete context: batch behavior, Blender dependency, error handling, file-writing edge case, and a caution about counting outputs. No critical information for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%, so description must compensate. It adds meaning to outputDir (resolved against server's working dir, empty string rejected) and clarifies skipAlreadyValid behavior. However, it does not cover requireUVs, maxTriangles, minTextureSize, or timeoutSecondsPerItem, which lack schema descriptions too. Partial compensation, but not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Runs the preparation pipeline over a list of meshes — validate, normalize the ones that fail, validate again'. Clearly distinguishes from siblings by being a batch operation, and adds a unique free/local selling point. No ambiguity about what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies use for multiple meshes (batch) and notes free/local, but does not explicitly contrast with single-mesh alternatives like normalize_mesh or validate_game_asset. It provides clear context (list, per-item verdict) but no explicit when-not or alternative naming.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations state readOnlyHint=false, openWorldHint=true, and destructiveHint=false, but the description adds concrete behaviors: writes multiple file types, extracts textures to a textures/ subdirectory, writes asset.json, and never overwrites existing workspaces. It also explains the urgency of expiring URLs, which is not captured by annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with a cost note ('FREE: no credits') and then a compact enumeration of what is downloaded. Every phrase adds value: the extraction detail, the asset.json provenance, the urgency trigger, and the no-overwrite guarantee. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a download tool with no output schema, the description conveys all essential operational facts: what is downloaded, where textures go, the asset.json side effect, the timing constraint, and the handling of repeated calls. It answers the key questions an agent would have to call it correctly. The lack of an explicit return value is acceptable given the action-oriented nature, and the description is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 67% of parameters (destination and extractTextures have descriptions; assetJobId has none). The description adds meaning beyond the schema: it explains the output root concept via 'workspace folder', specifies the texture extraction location ('textures/'), and clarifies the non-overwrite behavior tied to destination. It does not explicitly describe assetJobId but implies it from get_asset_job, which is sufficient context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('downloads'), resource ('completed asset job'), and destination ('local workspace folder'), enumerating exactly what gets downloaded (model, PBR variant, preview, source reference) and what is extracted/extended (textures, asset.json). It also implicitly differentiates from get_asset_job by referencing it as the prerequisite, and from other asset tools by focusing on fetching a finished job.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs when to call ('as soon as get_asset_job reports "ready"') and why (provider URLs expire). Also warns about repeat-download behavior (new suffixed folder instead of overwrite), which guides an agent on idempotency handling without needing to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/theisegoria/game-development-studio'
If you have feedback or need assistance with the MCP directory API, please join our Discord server