Skip to main content
Glama

create_subsurface_profile

Idempotent

Create a USubsurfaceProfile data asset in Unreal Engine and save it, or load and return the existing asset if one already exists at that path.

Instructions

Create a USubsurfaceProfile data asset (NewObject + save). Idempotent: if the asset already exists it is loaded and returned.

Returns: { name: string, asset_path: string, asset_class: string, mean_free_path_distance: number, is_subsurface_profile: bool, already_existed: bool, created: bool }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesAsset name (e.g. SSP_Example)
package_pathNoTarget /Game package path (optional, default "/Game/Gameplay")

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, but the description adds value beyond them by spelling out the "NewObject + save" write path (it persists to disk) and the exact return shape, including already_existed/created flags. No contradictory behavior is described.

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?

Three compact sentences: what it creates, its idempotency behavior, then the return shape. It is front-loaded and wastes no words; the inline return object is dense but earns its place given there is no output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter creation tool with no output schema, the description supplies the missing pieces: the creation mechanism, the idempotency contract, and the full return payload (asset_path, mean_free_path_distance, already_existed, created). Combined with 100% schema coverage and safety annotations, an agent has everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters (name, package_path with default) are documented in the schema, so the baseline of 3 applies. The description adds no format, naming, or path-resolution detail beyond what the schema already carries.

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 description gives a specific verb and resource ("Create a USubsurfaceProfile data asset") plus the underlying mechanism (NewObject + save), so an agent knows exactly what is produced. It does not explicitly differentiate itself from the many other create_* asset siblings, but no sibling targets a subsurface profile, so the risk of confusion is low.

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 idempotency contract explicitly: "if the asset already exists it is loaded and returned," which tells the agent it is safe to call without a prior existence check. It stops short of naming an alternative (e.g. lookup tool) or any prerequisites/exclusions, so it is clear context rather than full when/when-not guidance.

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

Deploy Server

Other Tools