Skip to main content
Glama
Flux-Point-Studios

Unreal Engine MCP Server

Unreal Engine MCP Server

License: MIT NPM Package MCP SDK Unreal Engine MCP Registry Project Board Discussions

A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Engine through a native C++ Automation Bridge plugin. Built with TypeScript and C++.


Table of Contents


Related MCP server: Unreal Engine MCP Server

Features

Category

Capabilities

Asset Management

Browse, import, duplicate, rename, delete assets; create materials

Actor Control

Spawn, delete, transform, physics, tags, components

Editor Control

PIE sessions, camera, viewport, screenshots, bookmarks

Level Management

Load/save levels, streaming, World Partition, data layers

Animation & Physics

Animation BPs, state machines, ragdolls, vehicles, constraints

Visual Effects

Niagara particles, GPU simulations, procedural effects, debug shapes

Sequencer

Cinematics, timeline control, camera animations, keyframes

Graph Editing

Blueprint, Niagara, Material, and Behavior Tree graph manipulation

Audio

Sound cues, audio components, sound mixes, ambient sounds

System

Console commands, UBT, tests, logs, project settings, CVars

Architecture

  • Native C++ Automation — All operations route through the MCP Automation Bridge plugin

  • Dynamic Type Discovery — Runtime introspection for lights, debug shapes, and sequencer tracks

  • Graceful Degradation — Server starts even without an active Unreal connection

  • On-Demand Connection — Retries automation handshakes with exponential backoff

  • Command Safety — Blocks dangerous console commands with pattern-based validation

  • Asset Caching — 10-second TTL for improved performance

  • Metrics Rate Limiting — Per-IP rate limiting (60 req/min) on Prometheus endpoint

  • Centralized Configuration — Unified class aliases and type definitions


Getting Started

Prerequisites

  • Node.js 18+

  • Unreal Engine 5.0–5.7

Step 1: Install MCP Server

Option A: NPX (Recommended)

npx unreal-engine-mcp-server

Option B: Clone & Build

git clone https://github.com/ChiR24/Unreal_mcp.git
cd Unreal_mcp
npm install
npm run build
node dist/cli.js

Step 2: Install Unreal Plugin

The MCP Automation Bridge plugin is included at Unreal_mcp/plugins/McpAutomationBridge.

Method 1: Copy Folder

Copy:  Unreal_mcp/plugins/McpAutomationBridge/
To:    YourUnrealProject/Plugins/McpAutomationBridge/

Regenerate project files after copying.

Method 2: Add in Editor

  1. Open Unreal Editor → Edit → Plugins

  2. Click "Add" → Browse to Unreal_mcp/plugins/

  3. Select the McpAutomationBridge folder

Video Guide:

https://github.com/user-attachments/assets/d8b86ebc-4364-48c9-9781-de854bf3ef7d

⚠️ First-Time Project Open: When opening the project directly (double-click .uproject) for the first time, UE will prompt "Would you like to rebuild them now?" for missing modules. Click Yes to rebuild. After the rebuild completes, you may still see: "Plugin 'McpAutomationBridge' failed to load because module could not be loaded." This is expected — UE rebuilds successfully but doesn't reload the plugin in the same session. Simply close and reopen the project and the plugin will load correctly. Alternatively, build via Visual Studio first to avoid this.

Step 3: Enable Required Plugins

Enable via Edit → Plugins, then restart the editor.

Plugin

Required For

MCP Automation Bridge

All automation operations

Editor Scripting Utilities

Asset/Actor subsystem operations

Niagara

Visual effects and particle systems

Plugin

Required For

Level Sequence Editor

manage_sequence operations

Control Rig

animation_physics operations

GeometryScripting

manage_geometry operations

Behavior Tree Editor

manage_behavior_tree operations

Niagara Editor

Niagara authoring

Environment Query Editor

AI/EQS operations

Gameplay Abilities

manage_gas operations

MetaSound

manage_audio MetaSound authoring

StateTree

manage_ai State Tree operations

Smart Objects

AI smart object operations

Enhanced Input

manage_input operations

Chaos Cloth

Cloth simulation

Interchange

Asset import/export

Data Validation

Data validation

Procedural Mesh Component

Procedural geometry

OnlineSubsystem

Session/networking operations

OnlineSubsystemUtils

Session/networking operations

💡 Optional plugins are auto-enabled by the MCP Automation Bridge plugin when needed.

Step 4: Configure MCP Client

Add to your Claude Desktop / Cursor config file:

Using Clone/Build:

{
  "mcpServers": {
    "unreal-engine": {
      "command": "node",
      "args": ["path/to/Unreal_mcp/dist/cli.js"],
      "env": {
        "UE_PROJECT_PATH": "C:/Path/To/YourProject",
        "MCP_AUTOMATION_PORT": "8091"
      }
    }
  }
}

Using NPX:

{
  "mcpServers": {
    "unreal-engine": {
      "command": "npx",
      "args": ["unreal-engine-mcp-server"],
      "env": {
        "UE_PROJECT_PATH": "C:/Path/To/YourProject"
      }
    }
  }
}

Configuration

Environment Variables

# Required
UE_PROJECT_PATH="C:/Path/To/YourProject"

# Automation Bridge
MCP_AUTOMATION_HOST=127.0.0.1
MCP_AUTOMATION_PORT=8091

# LAN Access (optional)
# SECURITY: Set to true to allow binding to non-loopback addresses (e.g., 0.0.0.0)
# Only enable if you understand the security implications.
MCP_AUTOMATION_ALLOW_NON_LOOPBACK=false

# Logging
LOG_LEVEL=info  # debug | info | warn | error

# Optional
MCP_AUTOMATION_REQUEST_TIMEOUT_MS=120000
ASSET_LIST_TTL_MS=10000

LAN Access Configuration

By default, the automation bridge only binds to loopback addresses (127.0.0.1) for security. To enable access from other machines on your network:

TypeScript (MCP Server):

MCP_AUTOMATION_ALLOW_NON_LOOPBACK=true
MCP_AUTOMATION_HOST=0.0.0.0

Unreal Engine Plugin:

  1. Go to Edit → Project Settings → Plugins → MCP Automation Bridge

  2. Under Security, enable "Allow Non Loopback"

  3. Under Connection, set "Listen Host" to 0.0.0.0

  4. Restart the editor

⚠️ Security Warning: Enabling LAN access exposes the automation bridge to your local network. Only use on trusted networks with appropriate firewall rules.


Available Tools

36 MCP tools with action-based dispatch for comprehensive Unreal Engine automation.

Tool

Description

manage_asset

Assets, Materials, Render Targets, Behavior Trees

control_actor

Spawn, delete, transform, physics, tags

control_editor

PIE, Camera, viewport, screenshots

manage_level

Load/Save, World Partition, streaming

system_control

UBT, Tests, Logs, Project Settings, CVars

inspect

Object Introspection

manage_pipeline

Build automation, UBT compilation, status checks

manage_tools

Dynamic tool management (enable/disable at runtime)

Tool

Description

manage_lighting

Spawn lights, GI, shadows, build lighting, list_light_types

manage_level_structure

Level creation, sublevels, World Partition, data layers, HLOD

manage_volumes

Trigger volumes, blocking, physics, audio, navigation volumes

manage_navigation

NavMesh settings, nav modifiers, nav links, smart links, pathfinding

build_environment

Landscape, Foliage, Procedural

manage_splines

Spline creation, spline mesh deformation

Tool

Description

animation_physics

Animation BPs, Vehicles, Ragdolls, Control Rig, IK, Blend Spaces

manage_skeleton

Skeleton, sockets, physics assets, cloth binding

manage_geometry

Procedural mesh creation (Geometry Script)

Tool

Description

manage_effect

Niagara, Particles, Debug Shapes, GPU simulations

manage_material_authoring

Material creation, expressions, landscape layers

manage_texture

Texture creation, modification, compression settings

manage_blueprint

Create, SCS, Graph Editing, Node manipulation

manage_sequence

Sequencer / Cinematics, list_track_types

manage_performance

Profiling, optimization, scalability

Tool

Description

manage_audio

Audio Assets, Components, Sound Cues, MetaSounds, Attenuation

manage_input

Enhanced Input Actions & Contexts

Tool

Description

manage_behavior_tree

Behavior Tree Graph Editing

manage_ai

AI controllers, EQS, perception, State Trees, Smart Objects

manage_gas

Gameplay Ability System: abilities, effects, attributes

manage_character

Character creation, movement, advanced locomotion

manage_combat

Weapons, projectiles, damage, melee combat

manage_inventory

Items, equipment, loot tables, crafting

manage_interaction

Interactables, destructibles, triggers

manage_widget_authoring

UMG widget creation, layout, styling, animations

Tool

Description

manage_networking

Replication, RPCs, network prediction

manage_game_framework

Game modes, game states, player controllers, match flow

manage_sessions

Sessions, split-screen, LAN, voice chat

Blueprints • Materials • Textures • Static Meshes • Skeletal Meshes • Levels • Sounds • Particles • Niagara Systems • Behavior Trees


Optional GraphQL endpoint for complex queries. Disabled by default.

GRAPHQL_ENABLED=true
GRAPHQL_PORT=4000

See GraphQL API Documentation.


Docker

docker build -t unreal-mcp .
docker run -it --rm -e UE_PROJECT_PATH=/project unreal-mcp

Documentation

Document

Description

Handler Mappings

TypeScript to C++ routing

GraphQL API

Query and mutation reference

Plugin Extension

C++ plugin architecture

Testing Guide

How to run and write tests

Roadmap

Development phases


Development

npm run build       # Build TypeScript
npm run lint        # Run ESLint
npm run test:unit   # Run unit tests
npm run test:all    # Run all tests

Community

Resource

Description

Project Roadmap

Track development progress across 47 phases

Discussions

Ask questions, share ideas, get help

Issues

Report bugs and request features


Contributing

Contributions welcome! Please:

  • Include reproduction steps for bugs

  • Keep PRs focused and small

  • Follow existing code style


License

MIT — See LICENSE

Available Tools

43 tools
animation_physicsC

Create animation blueprints, blend spaces, montages, state machines, Control Rig, IK rigs, ragdolls, and vehicle physics.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNo
minNo
massNo
nameNoName identifier.
timeNo
frameNo
scaleNo3D scale (x, y, z).
valueNoGeneric value (any type).
actionYesAction
lengthNo
enabledNoWhether the item/feature is enabled.
endBoneNoName of the bone.
rigPathNoAsset path (e.g., /Game/Path/Asset).
samplesNo
animPathNoAsset path (e.g., /Game/Path/Asset).
axisNameNo
boneNameNoName of the bone.
locationNo3D location (x, y, z).
meshPathNoMesh asset path.
playRateNo
rotationNo3D rotation (pitch, yaw, roll).
savePathNoPath to save the asset.
slotNameNo
unitTypeNo
actorNameNoName of the actor.
artifactsNo
chainNameNo
curveNameNo
sourcePinNo
startBoneNoName of the bone.
stateNameNo
targetPinNo
notifyNameNo
numSamplesNo
sourceNodeNo
targetNodeNo
controlNameNo
machineNameNo
montageNameNo
parentClassNo
sectionNameNo
vehicleTypeNo
wheelConfigNo
animSequenceNoAsset path (e.g., /Game/Path/Asset).
engineTorqueNo
skeletonNameNo
skeletonPathNoAsset path (e.g., /Game/Path/Asset).
animAssetPathNoAsset path (e.g., /Game/Path/Asset).
blueprintNameNo
ragdollActiveNo
blendSpacePathNoAsset path (e.g., /Game/Path/Asset).
sourceSkeletonNoAsset path (e.g., /Game/Path/Asset).
targetSkeletonNoAsset path (e.g., /Game/Path/Asset).
transitionNameNo
animMontagePathNoAsset path (e.g., /Game/Path/Asset).
dragCoefficientNo
retargetProfileNo
animSequencePathNoAsset path (e.g., /Game/Path/Asset).
retargetSkeletonNoAsset path (e.g., /Game/Path/Asset).
interpolationTypeNo

TDQS

C2.4/5.0
Behavior2/5

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

The description only says 'Create' and lists asset types, disclosing no side effects, overwrite behavior, dependency requirements, or the wide range of actions (50+ in the enum). Annotations are all false and add no context, so the description carries the full burden but fails to disclose meaningful behavior.

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?

The description is one concise sentence with no wasted words. It is front-loaded with the verb and resource list, which is efficient for a high-level summary, though it sacrifices depth.

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

Completeness1/5

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

For a tool with 60 parameters, a required action enum with many values, and no output schema, this description is severely incomplete. It doesn't explain the action parameter, how to execute different creation tasks, what inputs are required for each, or what the result would be. An agent cannot reliably select and invoke the correct operation.

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

Parameters1/5

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

The description provides zero parameter-level information. With only 40% schema coverage and many generic parameter names like 'value', 'time', and 'mass', the agent gets no help mapping parameters to the various creation workflows. The list of asset types does not correspond to any parameter names or values.

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 states a clear verb 'Create' and lists specific resource types (blueprints, blend spaces, montages, state machines, Control Rig, IK rigs, ragdolls, vehicle physics), which clearly communicates the tool's domain. It doesn't explicitly distinguish from siblings like manage_blueprint or manage_skeleton, but the animation/physics focus is fairly specific.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool vs alternatives. There are no prerequisites, exclusions, or alternative tool recommendations, leaving the agent to infer usage from the high-level description alone.

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

asset_pipelineA

External AI asset generation pipeline. Generate 3D models and textures using AI services (Meshy, Tripo) and import them directly into UE. Requires API keys set via environment variables (MESHY_API_KEY, TRIPO_API_KEY). Actions: list_providers (show configured services), generate_3d_model (text-to-3D), generate_texture (text-to-texture), check_generation_status (poll task progress), download_and_import (fetch generated asset and import into UE).

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNo[generate_3d_model] Art style (realistic, cartoon, low-poly, sculpture, pbr)
actionYesThe asset pipeline action to execute
promptNo[generate_3d_model, generate_texture] Text description of the asset to generate
task_idNo[check_generation_status] Task ID from a generation request
providerNoAI service provider (default: meshy)
model_urlNo[generate_texture] URL of a 3D model to texture
asset_nameNo[download_and_import] Name for the imported asset
import_pathNo[download_and_import] UE content path to import to (e.g., /Game/GeneratedAssets/)
download_urlNo[download_and_import] URL of the generated asset file to download

TDQS

A4.1/5.0
Behavior4/5

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

Annotations indicate readOnly=false (mutating) and openWorld=true, but the description adds meaningful context: external AI services, environment variable prerequisites, and the presence of check_generation_status implying asynchronous polling. No contradictions with 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/5

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

The description is mostly efficient, with a clear overview and action list. The initial fragment 'External AI asset generation pipeline.' is slightly unnecessary but not harmful. The action list is dense yet well-structured.

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?

Given the tool's complexity (multiple actions, external API dependencies), the description covers purpose, prerequisites, and action taxonomy, including polling via check_generation_status. It lacks details on return formats or error handling, but no output schema exists and the description is adequate for tool selection.

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%, so each parameter is already well-documented. The description adds an action-level overview but does not provide extra parameter-specific semantics beyond what the schema already includes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is an external AI asset generation pipeline for 3D models and textures using Meshy and Tripo, and lists specific actions. This distinguishes it from sibling tools like manage_asset and manage_texture, which are likely local asset management tools.

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?

Provides clear context: it is an external pipeline requiring API keys, and the action list implies when to use each sub-operation. However, it does not explicitly contrast with sibling tools like manage_asset or manage_texture, so it lacks a clear 'when not to use' statement.

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

build_environmentC
Destructive

Create/sculpt landscapes, paint foliage, and generate procedural terrain/biomes.

ParametersJSON Schema
NameRequiredDescriptionDefault
hourNo
maxXNo
maxYNo
minXNo
minYNo
nameNoName identifier.
pathNoPath to a directory.
seedNo
timeNo
toolNo
countNo
namesNo
scaleNo3D scale (x, y, z).
sizeXNo
sizeYNo
actionYesAction
assetsNo
boundsNo
radiusNo
densityNo
falloffNo
numLODsNo
qualityNo
spacingNo
filenameNo
locationNo3D location (x, y, z).
materialNoMaterial asset path.
maxScaleNo
meshPathNoMesh asset path.
minScaleNo
positionNo3D location (x, y, z).
rotationNo3D rotation (pitch, yaw, roll).
settingsNo
strengthNo
tileSizeNo
actorNameNoName of the actor.
brushSizeNo
eraseModeNo
intensityNo
layerNameNo
locationsNo
randomYawNo
timeoutMsNo
assetPathsNo
dataLayersNo
heightDataNo
staticMeshNoMesh asset path.
transformsNo
volumeNameNo
foliageTypeNo
heightScaleNo
runtimeGridNo
sectionSizeNo
cullDistanceNo
foliageTypesNo
materialPathNoMaterial asset path.
subdivisionsNo
alignToNormalNo
landscapeNameNo
updateNormalsNo
componentCountNo2D vector.
foliageTypePathNoAsset path (e.g., /Game/Path/Asset).
quadsPerSectionNo
isSpatiallyLoadedNo
enableWorldPartitionNo
sectionsPerComponentNo

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds no further behavioral context. It fails to disclose that actions like 'delete' or 'bake_lightmap' are destructive, or that modifying landscapes can overwrite existing work. With annotations present, the description should supplement, but it offers no added detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

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

The description is a single sentence, which is concise, but it is under-specification for a tool with 66 parameters and over 20 distinct actions. It provides no structured breakdown or feature list, making it too terse to be useful.

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

Completeness1/5

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

The tool has a very broad scope, but the description only covers landscapes, foliage, and terrain. It omits entire categories like sky, fog, LODs, snapshots, and time-of-day actions, leaving the agent with an incomplete picture. With no output schema, the description should at least summarize the main capability groups, but it does not.

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

Parameters1/5

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

With 66 parameters and only 21% schema description coverage, the description carries a heavy burden to explain parameter usage. It does not mention the required 'action' parameter, nor any parameter names or how they map to operations, so it completely fails to compensate for the sparse schema.

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 uses specific verbs (create, sculpt, paint, generate) and resources (landscapes, foliage, terrain/biomes), making the tool's purpose reasonably clear. However, it does not differentiate from sibling tools or hint at the full range of actions (e.g., sky, fog, LODs, snapshots) available via the 'action' parameter.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives or exclusions. Sibling tools like manage_geometry and manage_lighting are not mentioned, and no context is given about prerequisites or typical scenarios.

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

checkpointB

Checkpoint and transaction system. Create semantic snapshots of level state, diff between checkpoints, and rollback changes. Actions: create_checkpoint, list_checkpoints, diff_checkpoint, restore_checkpoint, delete_checkpoint, begin_transaction, commit_transaction, rollback_transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoHuman-readable label for the checkpoint or transaction
actionYesbegin_transaction auto-creates a checkpoint. commit_transaction keeps it as history. rollback_transaction restores to start state.
metadataNoCustom metadata to attach to the checkpoint
checkpointIdNoCheckpoint ID (for diff, restore, delete)
toCheckpointIdNoSecond checkpoint ID for diff_checkpoint (omit to diff against live state)

TDQS

B3.3/5.0
Behavior2/5

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

Annotations provide minimal safety hints (e.g., readOnlyHint false, destructiveHint false), so description carries the burden. The description lists destructive-ish actions like delete_checkpoint and restore/rollback without explaining side effects, reversibility, or preconditions. It does not add behavioral context beyond the schema's action-specific notes (e.g., transaction behavior) and leaves consequences unclear.

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?

The description is concise at two sentences. The first sentence captures the core purpose efficiently; the second sentence lists actions, which is somewhat redundant with the schema but provides a useful at-a-glance summary. No fluff or unnecessary detail.

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

Completeness2/5

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

The tool has 5 parameters, no output schema, and sparse annotations. The description only gives an action list and general purpose, lacking guidance on which parameters are needed for specific actions, return value expectations, or preconditions. This is insufficient for an agent to fully understand how to use the tool correctly across all eight actions.

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% with all four parameters described, including the action enum with notes on transaction behavior. The description adds no extra parameter-level detail—it only restates action names. Baseline 3 applies because the schema already documents parameters well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is a 'Checkpoint and transaction system' with specific verbs: 'Create semantic snapshots', 'diff between checkpoints', and 'rollback changes'. It also lists all eight actions, making it distinct from sibling tools like source_control or manage_*.

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

Usage Guidelines3/5

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

The description implies usage for snapshotting, diffing, and rollback via the action list, but it does not explicitly state when to use this tool versus alternatives (e.g., source_control) or mention exclusions/prerequisites. No direct 'when to use' guidance is provided beyond the listed actions.

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

control_actorC
Destructive

Spawn actors, set transforms, enable physics, add components, manage tags, and attach actors.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoName of the tag.
forceNo3D vector.
scaleNo3D scale (x, y, z).
actionYesAction
newNameNoNew name for renaming.
visibleNoWhether the item/actor is visible.
locationNo3D location (x, y, z).
meshPathNoMesh asset path.
rotationNo3D rotation (pitch, yaw, roll).
actorNameNoName of the actor.
classPathNoAsset path (e.g., /Game/Path/Asset).
variablesNo
childActorNoName of the child actor (for attach/detach operations).
propertiesNo
parentActorNoName of the parent actor (for attach operations).
snapshotNameNo
blueprintPathNoBlueprint asset path.
componentNameNoName of the component.
componentTypeNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds no behavioral context about destructive actions (e.g., delete_by_tag, destroy_actor) or side effects. It even mentions 'enable physics,' which is not an explicit action in the schema, potentially misleading the agent. No contradiction with annotations, but the description fails to disclose the tool's destructive and mutating nature beyond what the annotations already state.

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?

The description is a single, concise sentence with no filler words. It front-loads the key actions and is easy to scan. However, it is terse to the point of vagueness, and the phrase 'enable physics' is not reflected in the schema, slightly undermining clarity. Overall, it is appropriately short but could be more precise.

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

Completeness2/5

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

Given the tool's high complexity (19 parameters, 40-action enum, nested objects, no output schema), the description is far too minimal. It does not mention return values, action-parameter dependencies, error cases, or the breadth of operations (e.g., finding, deleting, snapshots). The one-sentence overview is inadequate for an agent to safely and correctly invoke this tool across its many actions.

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

Parameters2/5

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

Schema description coverage is 79%, so the schema already documents most parameters. However, the description itself adds no parameter semantics—it does not explain that the 'action' parameter is a switch determining which other parameters apply, nor does it clarify generic object params like 'variables' and 'properties' that lack descriptions. The action enum is described only as 'Action,' providing little guidance for a required parameter with 40 possible values.

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 uses specific verbs and resources: 'Spawn actors, set transforms, enable physics, add components, manage tags, and attach actors.' It clearly indicates this tool operates on actors, distinguishing it from asset or blueprint management tools. However, it omits many actions listed in the schema (e.g., delete, duplicate, find, snapshot) and does not fully differentiate it from other actor-related tools like manage_character or manage_ai.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It simply lists capabilities without stating when to prefer control_actor over sibling tools, what prerequisites exist, or what actions are excluded. The agent must infer usage from the large action enum and schema.

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

control_editorC

Start/stop PIE, control viewport camera, run console commands, take screenshots, simulate input.

ParametersJSON Schema
NameRequiredDescriptionDefault
fovNo
keyNo
axisNo
modeNo
nameNoName identifier.
pathNoPath to a directory.
statNo
speedNo
stepsNo
valueNoGeneric value (any type).
widthNo
actionYesEditor action
formatNoImage format for capture_viewport (default: jpeg)
heightNo
commandNo
enabledNoWhether the item/feature is enabled.
qualityNoJPEG quality for capture_viewport (1-100, default: 85)
sectionNo
categoryNo
filenameNo
locationNo3D location (x, y, z).
realtimeNo
rotationNo3D rotation (pitch, yaw, roll).
viewModeNo
actorNameNoName of the actor.
assetPathNoAsset path (e.g., /Game/Path/Asset).
deltaTimeNo
levelPathNoLevel asset path.
resolutionNoResolution setting (e.g., 1024x1024).
inputActionNo
preferencesNo
bookmarkNameNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations provide no safety hints (all false), so the description must disclose behavioral traits. It mentions actions like 'run console commands' and 'simulate input' but omits potential side effects, prerequisites, or irreversible changes, leaving the agent without critical safety information.

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?

The description is a single compact sentence that front-loads the most common actions. It contains no fluff, but its extreme brevity for a tool with 32 parameters borders on under-specification.

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

Completeness2/5

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

For a tool with 32 parameters, an action enum of 40+ values, and no output schema, this description is far from complete. It provides no examples, no mapping of actions to required arguments, and no mention of expected outputs or pitfalls.

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

Parameters2/5

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

With schema description coverage at only 41%, the description needed to compensate by explaining key parameters or action-argument relationships. It names no parameters and offers no mapping between the listed actions and the many generic fields (fov, key, axis, speed, etc.), leaving the agent to guess.

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 clearly enumerates distinct editor control operations (PIE, viewport camera, console commands, screenshots, input simulation), distinguishing it from sibling tools focused on assets, actors, or levels. However, it is not a single specific verb+resource; it is a broad list of capabilities.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives like control_actor, manage_level, or system_control. The description simply lists capabilities without any contextual triggers or exclusions.

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

inspectC
Read-onlyIdempotent

Inspect any UObject: read/write properties, list components, export snapshots, and query class info.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoName of the tag.
nameNoName identifier.
valueNoGeneric value (any type).
actionYesAction
filterNo
formatNo
actorNameNoName of the actor.
classNameNo
classPathNoAsset path (e.g., /Game/Path/Asset).
objectPathNoAsset path (e.g., /Game/Path/Asset).
outputPathNoOutput file or directory path.
propertyNameNoName of the property.
propertyPathNo
snapshotNameNo
componentNameNoName of the component.
destinationPathNoDestination path for move/copy.

TDQS

C2.4/5.0
Behavior1/5

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

The description explicitly states 'read/write properties' and includes actions like set_property, set_component_property, delete_object, and restore_snapshot, which contradict the annotations readOnlyHint=true and destructiveHint=false. This is a serious inconsistency that undermines trust.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

The description is a single concise sentence with no filler, but it sacrifices detail and includes the misleading 'read/write' claim. It front-loads the purpose but fails to convey the tool's complexity or safety profile.

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

Completeness1/5

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

This tool has 16 parameters, 31 action enum values, and no output schema. The description provides almost no operational context, leaving agents without guidance on which action to choose, how parameters combine, or what to expect in return. It is wholly inadequate for the tool's complexity.

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 69%, so most parameters already have descriptions. The description adds minimal semantic value beyond the schema, only vaguely referencing property access and snapshots without explaining parameter relationships or action-specific usage.

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 uses a specific verb 'Inspect' and names the resource ('any UObject'), listing core activities like read/write properties, list components, and query class info. However, it doesn't distinguish this from sibling tools like 'observe' or 'control_actor', and the read/write breadth makes it less focused.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description simply enumerates capabilities without contextualizing when each action is appropriate.

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

manage_aiB

Create AI Controllers, configure Behavior Trees, Blackboards, EQS queries, and perception systems.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName identifier.
pathNoDirectory path for asset creation.
actionYesAI action to perform
nodeIdNoID of the node.
teamIdNoTeam ID for perception affiliation (0=Neutral, 1=Player, 2=Enemy, etc.).
keyNameNoName of the key.
keyTypeNoBlackboard key data type.
toStateNoTarget state name.
taskTypeNoTask node type.
testTypeNoEQS test type.
enumClassNoEnum class for Enum keys.
fromStateNoSource state name.
queryPathNoPath to EQS query asset.
slotIndexNoIndex of slot to configure.
stateNameNoName of the state.
testIndexNoIndex of test to configure.
configPathNoPath to config asset.
massTraitsNoList of Mass traits to add.
slotOffsetNoLocal offset for slot.
contextTypeNoEQS context type.
parentClassNoParent class for AI controller (default: AAIController).
serviceTypeNoService node type.
sightConfigNoAI sight sense configuration.
slotEnabledNoWhether slot is enabled.
damageConfigNoAI damage sense configuration.
parentNodeIdNoID of the node.
slotRotationNoLocal rotation for slot.
slotUserTagsNoRequired user tags for slot.
testSettingsNoTest scoring and filter settings.
blueprintPathNoBlueprint asset path.
compositeTypeNoComposite node type.
decoratorTypeNoDecorator node type.
dominantSenseNoDominant sense for perception prioritization.
generatorTypeNoEQS generator type.
hearingConfigNoAI hearing sense configuration.
stateTreePathNoPath to State Tree asset.
blackboardPathNoPath to blackboard asset.
controllerPathNoPath to controller blueprint.
definitionPathNoPath to definition asset.
massProcessorsNoList of Mass processors to configure.
nodePropertiesNoProperties to set on the node.
stateTaskClassNoTask class for state.
baseObjectClassNoBase class for Object/Class keys.
customTaskClassNoCustom task class path for Custom task type.
spawnerSettingsNoMass spawner configuration.
behaviorTreePathNoPath to behavior tree asset.
isInstanceSyncedNoSync key across instances.
slotActivityTagsNoActivity tags for the slot.
generatorSettingsNoGenerator-specific settings.
customServiceClassNoCustom service class path.
autoRunBehaviorTreeNoStart behavior tree automatically on possess.
stateEvaluatorClassNoEvaluator class for state.
transitionConditionNoCondition expression for transition.
customDecoratorClassNoCustom decorator class path.
slotBehaviorDefinitionNoGameplay behavior definition for slot.

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already indicate this is not read-only and not flagged as destructive. However, the description adds no additional behavioral context beyond listing operations. It fails to disclose potential asset overwrites, required project setup, or effects of repeated calls, which is significant given the sparse annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single sentence with no filler, front-loading the primary verb and resources. It is efficiently structured and every word earns its place.

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

Completeness2/5

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

A 55-parameter tool with 44 actions and no output schema needs more high-level orientation. The description doesn't explain how actions are organized, what typical workflows look like, or how the action parameter drives behavior. It is an adequate summary but not complete enough for such a complex tool.

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?

All 55 parameters have schema descriptions (100% coverage), so the schema carries the semantic burden. The tool description adds only high-level resource categories and does not explain parameter relationships or the central role of the 'action' parameter. Minimal added value beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs 'Create' and 'configure' and explicitly names five distinct AI resource types: AI Controllers, Behavior Trees, Blackboards, EQS queries, and perception systems. This clearly distinguishes it from the sibling tool manage_behavior_tree by covering a broader AI management scope.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus dedicated sibling tools like manage_behavior_tree, nor any exclusions or prerequisites. It simply lists capabilities without contextual steering about which action to choose or when an alternative would be more appropriate.

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

manage_assetB
Destructive

Create, import, duplicate, rename, delete assets. Edit Material graphs and instances. Analyze dependencies.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
tagNoName of the tag.
descNo
nameNoName identifier.
pathNoPath to a directory.
posXNo
posYNo
saveNoSave the asset(s) after the operation.
tagsNo
typeNo
limitNo
nodesNo
pathsNo
toPinNoName of the target pin.
valueNoGeneric value (any type).
widthNo
actionYesAction to perform. Use dump_asset to serialize a UObject/DataAsset properties to JSON for inspection.
formatNo
heightNo
nodeIdNoID of the node.
prefixNo
suffixNo
commentNo
fromPinNoName of the source pin.
newNameNoNew name for renaming.
pinNameNoName of the pin.
inputPinNoName of the target pin.
lodCountNo
maxDepthNo
meshPathNoMesh asset path.
metadataNo
nodeNameNoName identifier.
nodeTypeNo
toNodeIdNoID of the target node.
assetPathNoAsset path (e.g., /Game/Path/Asset).
directoryNoPath to a directory.
eventNameNoName of the event.
graphNameNoName of the graph.
inputNameNoName of the pin.
outputPinNoName of the source pin.
overwriteNoOverwrite if the asset/file already exists.
assetPathsNo
classNamesNo
folderPathNoPath to a directory.
fromNodeIdNoID of the source node.
parametersNo
searchTextNo
sourceNodeNoID of the source node.
sourcePathNoSource path for import/move/copy.
targetNodeNoID of the target node.
childNodeIdNoID of the node.
descriptionNo
memberClassNo
replaceTextNo
texturePathNoTexture asset path.
defaultValueNoGeneric value (any type).
includeNullsNoInclude null/empty values (default: false)
materialPathNoMaterial asset path.
packagePathsNo
parentNodeIdNoID of the node.
sourceNodeIdNoID of the source node.
targetNodeIdNoID of the target node.
checkoutFilesNo
directoryPathNoPath to a directory.
maxMapEntriesNoMax map entries to serialize (default: 200)
parameterNameNoName of the parameter.
parameterTypeNo
parentMaterialNoMaterial asset path.
recursivePathsNo
coordinateIndexNo
destinationPathNoDestination path for move/copy.
expressionClassNo
expressionIndexNoID of the node.
fixupRedirectorsNo
includeTransientNoInclude transient properties (default: false)
maxArrayElementsNoMax array elements to serialize (default: 200)
recursiveClassesNo
showConfirmationNo
propertyAllowlistNoOnly include these property names
reductionSettingsNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, and the description adds operation context such as deleting assets and editing materials. It does not, however, detail what gets destroyed, side effects, or consequences of source-control-related actions, so the added behavioral transparency is limited.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is three tightly written sentences with no filler, front-loading the main operations. It is concise and well-structured for a broad tool, though it sacrifices detail.

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

Completeness2/5

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

With 81 parameters, over 50 actions, and no output schema, this high-level description is insufficient for an agent to select and invoke the right action. It omits return values, parameter relationships, and action-specific behavior.

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

Parameters2/5

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

Schema description coverage is only 54% across 81 parameters, and the description itself provides no parameter-level meaning. It does not compensate for the many undocumented or sparsely documented parameters like checkoutFiles, fixupRedirectors, or reductionSettings.

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 uses specific verbs and resources: 'Create, import, duplicate, rename, delete assets. Edit Material graphs and instances. Analyze dependencies.' It clearly states the tool's functional scope and is distinguishable from pure material or texture tools, though it doesn't explicitly name alternatives.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus sibling tools like manage_material_authoring or manage_texture. The description implies asset management usage but does not provide selection criteria for the many actions or exclusions.

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

manage_audioC

Play/stop sounds, add audio components, configure mixes, attenuation, spatial audio, and author Sound Cues/MetaSounds.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
nameNoName identifier.
pathNoDirectory path for asset creation.
saveNoSave the asset(s) after the operation.
sizeNo3D scale (x, y, z).
pitchNo
scaleNo
actionYesAction
nodeIdNoID of the node.
volumeNo
enabledNoWhether the item/feature is enabled.
fftSizeNo
loopingNoWhether to loop.
mixNameNo
fadeTimeNo
fadeTypeNo
inputPinNo
locationNo3D location (x, y, z).
nodeTypeNo
rotationNo3D rotation (pitch, yaw, roll).
wavePathNoPath to SoundWave asset.
actorNameNoName of the actor.
assetPathNoAsset path (e.g., /Game/Path/Asset).
inputNameNoName of the input.
inputTypeNo
outputPinNo
soundNameNo
soundPathNoSound asset path.
sourcePinNoName of the source pin.
startTimeNo
targetPinNoName of the target pin.
fadeInTimeNo
outputNameNoName of the output.
outputTypeNo
propertiesNo
sourceNodeNoSource node name.
targetNodeNoTarget node name.
fadeOutTimeNo
falloffModeNo
innerRadiusNo
parentClassNo
defaultValueNoGeneric value (any type).
reverbEffectNo
sourceNodeIdNoID of the source node.
targetNodeIdNoID of the target node.
targetVolumeNo
componentNameNoName of the component.
metasoundTypeNo
soundClassNameNo
soundClassPathNoSound class path.
attachPointNameNoName of the socket.
attenuationPathNoAsset path (e.g., /Game/Path/Asset).
concurrencyPathNoAsset path (e.g., /Game/Path/Asset).
falloffDistanceNo
parentClassPathNoParent class path.
attenuationShapeNo
metasoundNodeTypeNo
volumeAttenuationNo
lowPassFilterFrequencyNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already communicate that the tool is not read-only and not idempotent. The description adds some behavioral context by mentioning 'play/stop', 'add', 'configure', and 'author', which imply state-changing and asset-creating operations. However, it does not disclose side effects such as saving assets, required permissions, or reversibility, so it only marginally exceeds annotation-provided information.

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?

The description is a single sentence that names the major functional areas without unnecessary verbosity. It is front-loaded with the most common actions ('Play/stop sounds') and remains compact given the tool's breadth. The run-on list is somewhat dense but not unwieldy, and every phrase contributes a distinct category.

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

Completeness2/5

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

For a tool with 60 parameters, 48 action variants, and no output schema, this description is far from complete. It provides only a high-level overview and does not explain action-specific behavior, return values, or side effects. Even with the annotations, an agent would struggle to know which parameters are required for a given action or what the result will be.

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

Parameters2/5

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

With 60 parameters and schema description coverage at 48%, the description was expected to compensate for undocumented fields, but it does not. It offers no explanation of parameter usage, relationships, or action-specific required inputs. The description's high-level categories (e.g., 'spatial audio') loosely map to some parameters but provide no concrete semantic help for invoking the tool correctly.

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 clearly identifies the tool's domain and primary actions: playing/stopping sounds, adding audio components, configuring mixes/attenuation/spatial audio, and authoring Sound Cues/MetaSounds. It distinguishes itself from sibling tools by naming audio-specific resources and operations, though it remains a broad umbrella for many sub-actions.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus alternatives. It implies audio-related tasks but does not state exclusions, prerequisites, or complementary tools. The lack of any 'when-to-use' or 'use instead' language leaves the agent to infer from the tool name alone.

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

manage_behavior_treeB
Destructive

Create Behavior Trees, add task/decorator/service nodes, and configure node properties.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
nameNoName identifier.
actionYesAction
nodeIdNoID of the node.
commentNo
nodeTypeNo
savePathNoPath to save the asset.
assetPathNoAsset path (e.g., /Game/Path/Asset).
propertiesNo
childNodeIdNoID of the node.
parentNodeIdNoID of the node.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations indicate destructiveHint=true and readOnlyHint=false, which already signal mutating behavior. The description adds context by naming create/add/configure actions but does not disclose that remove_node and break_connections are destructive operations. It also lacks any side-effect details. Given annotations already cover safety profile, the description adds minimal extra 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/5

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

The description is a single, efficient sentence that conveys the main operations without fluff. It is front-loaded with the primary verb 'Create' and lists key capabilities. However, it could be more structured by enumerating actions or operation categories, but for its length it serves its purpose.

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

Completeness2/5

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

This is a complex tool with 12 parameters, multiple actions, nested objects, and no output schema. The description is far too sparse to cover how each action works, which parameters are required for each, or what the tool returns. It lacks usage examples or action-specific guidance, making it inadequate for an agent 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 58%, so the schema partially explains parameters. The description mentions node types (task/decorator/service) which gives meaning to nodeType, and 'configure node properties' relates to the properties object. However, it does not explain x/y coordinates, connection parameters, or action-specific requirements, so it only adds marginal value beyond the schema.

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 clearly states the tool's function: create behavior trees, add nodes, and configure properties. It identifies the resource (Behavior Trees) and specific actions, which distinguishes it from general AI or task management tools. However, it omits actions like remove_node and break_connections that are present in the action enum, so it is not fully complete.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The sibling tools include manage_ai, manage_tasks, and others, but the description does not differentiate or state when behavior tree editing is appropriate. There is no mention of prerequisites or exclusions.

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

manage_blueprintC
Destructive

Create Blueprints, add SCS components (mesh, collision, camera), and manipulate graph nodes.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
nameNoName identifier.
posXNo
posYNo
saveNoSave the asset(s) after the operation.
scaleNo
toPinNoName of the target pin.
valueNoGeneric value (any type).
actionYesBlueprint action
inputsNo
nodeIdNoID of the node.
compileNoCompile the blueprint(s) after the operation.
fromPinNoName of the source pin.
newNameNoNew name for renaming.
oldNameNo
outputsNo
pinNameNoName of the pin.
attachToNo
categoryNo
inputPinNoName of the pin.
isPublicNo
linkedToNo
locationNo
meshPathNoMesh asset path.
metadataNo
nodeTypeNo
rotationNo
savePathNoPath to save the asset.
toNodeIdNoID of the target node.
eventNameNoName of the event.
eventTypeNo
graphNameNoName of the graph.
newParentNo
outputPinNoName of the pin.
timeoutMsNo
toPinNameNoName of the target pin.
transformNo
fromNodeIdNoID of the source node.
memberNameNo
operationsNo
parametersNo
propertiesNo
scriptNameNo
fromPinNameNoName of the source pin.
memberClassNo
parentClassNoPath or name of the parent class.
targetClassNo
applyAndSaveNo
defaultValueNoGeneric value (any type).
functionNameNoName of the function.
isReplicatedNo
materialPathNoMaterial asset path.
propertyNameNoName of the property.
variableNameNoName of the variable.
variableTypeNoVariable type (e.g., Boolean, Float, Integer, Vector, String, Object)
blueprintPathNoBlueprint asset path.
blueprintTypeNoPath or name of the parent class.
componentNameNoName of the component.
componentTypeNo
inputAxisNameNo
componentClassNo
customEventNameNoName of the event.
parentComponentNo
variablePinTypeNo
saveAfterCompileNo
waitForCompletionNo
waitForCompletionTimeoutMsNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds no behavioral context beyond a generic action list. It does not disclose potential destructive side effects (e.g., node deletion, component removal) or any operational caveats, providing minimal value over annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

The description is a single, front-loaded sentence with no waste. However, for a tool of this complexity (68 params, 36 actions), it is under-specified rather than appropriately concise, leaving out critical scope information.

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

Completeness2/5

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

Given the tool's vast action set and lack of output schema, the description is incomplete. It covers only creation, component addition, and node manipulation, omitting get/compile/variable/event operations and any behavioral prerequisites. This is insufficient for an agent to use the tool correctly.

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

Parameters1/5

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

Schema description coverage is only 46%, and the description provides no parameter-level details. With 68 parameters and many undocumented fields, the description should clarify parameter usage but instead only mentions high-level component types (mesh, collision, camera), which does not map meaningfully to the schema.

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 clearly states the tool's primary actions: creating Blueprints, adding SCS components (mesh, collision, camera), and manipulating graph nodes. This distinguishes it from sibling tools like manage_asset, though it omits several major action categories (compile, variables, events) and doesn't explicitly separate from manage_asset for blueprint assets.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It simply lists a few actions without context for selection among the many sibling tools.

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

manage_characterC

Create Character Blueprints with movement, locomotion, and animation state machines.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName of the asset to create.
pathNoDirectory path for asset creation.
saveNoSave the asset(s) after the operation.
actionYesCharacter action to perform.
modeIdNoCustom movement mode ID.
flySpeedNo
modeNameNoName for custom movement mode.
runSpeedNo
swimSpeedNo
walkSpeedNo
airControlNo
climbSpeedNo
jumpHeightNo
meshOffsetNoMesh location offset.
slideSpeedNo
vaultDepthNoObstacle depth to check.
crouchSpeedNo
parentClassNoParent class for character blueprint.
sprintSpeedNo
surfaceTypeNoPhysical surface type.
vaultHeightNoMaximum vault obstacle height.
accelerationNo
cameraOffsetNoCamera location offset.
climbableTagNoTag for climbable surfaces.
decelerationNo
grappleRangeNoMaximum grapple distance.
grappleSpeedNoGrapple pull speed.
gravityScaleNo
jumpHoldTimeNoMax hold time for variable jump.
mantleHeightNoMaximum mantle height.
maxJumpCountNo
meshRotationNoMesh rotation offset.
rotationRateNo
wallRunSpeedNoWall running speed.
blueprintPathNoBlueprint asset path.
capsuleRadiusNo
slideCooldownNo
slideDurationNo
groundFrictionNo
navAgentHeightNo
navAgentRadiusNo
footstepEnabledNoEnable footstep system.
springArmLengthNo
wallRunDurationNoMaximum wall run duration.
avoidanceEnabledNoEnable AI avoidance.
cameraSocketNameNoCamera socket name.
grappleCablePathNoPath to cable mesh/material.
grappleTargetTagNoTag for grapple targets.
orientToMovementNoOrient rotation to movement direction.
skeletalMeshPathNoSkeletal mesh path.
animBlueprintPathNoPath to animation blueprint.
capsuleHalfHeightNo
doubleJumpEnabledNoEnable double jump.
footstepDecalPathNoPath to footstep decal.
footstepSoundPathNoPath to footstep sound cue.
springArmLagSpeedNoCamera lag speed.
climbAnimationPathNoPath to climb animation.
footstepSocketLeftNoLeft foot socket name.
slideAnimationPathNoPath to slide animation.
vaultAnimationPathNoPath to vault animation montage.
footstepSocketRightNoRight foot socket name.
mantleAnimationPathNoPath to mantle animation montage.
mantleReachDistanceNoForward reach for mantle check.
springArmLagEnabledNoEnable camera lag.
wallRunGravityScaleNoGravity during wall run.
footstepParticlePathNoPath to footstep particle.
pathFollowingEnabledNoEnable path following.
wallRunAnimationPathNoPath to wall run animation.
footstepTraceDistanceNoGround trace distance.
fallingLateralFrictionNoAir friction.
useControllerRotationYawNoUse controller yaw rotation.
useControllerRotationRollNoUse controller roll rotation.
useControllerRotationPitchNoUse controller pitch rotation.
cameraUsePawnControlRotationNoCamera follows controller rotation.

TDQS

C2.6/5.0
Behavior2/5

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

Annotations provide no positive safety context (all hints false), and the description doesn't disclose that many actions mutate existing assets, require specific parameters, or produce side effects. It only mentions creation, which is a subset of the tool's actual behavior, leaving destructive or modifying actions unmentioned.

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?

A single sentence with no wasted words, front-loaded and easy to parse. However, it sacrifices necessary content for brevity, underspecifying a highly complex tool. It's structurally clean but not appropriately sized for the tool's scope.

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

Completeness1/5

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

For a tool with 74 parameters, 27 enum actions, nested objects, and no output schema, this description is grossly inadequate. An agent cannot determine how to select actions, which parameters are required for each action, or what the tool returns, making it nearly unusable for correct invocation.

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

Parameters2/5

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

The schema has 74 parameters with 69% description coverage, but the description adds no parameter-level semantics beyond vague categories like 'movement' and 'animation state machines'. It doesn't explain which parameters apply to which actions or highlight dependencies like required action enum and modeId.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Create Character Blueprints') but is too narrow for a tool whose action enum includes configuration, movement, footstep, and query operations. It partially distinguishes from generic manage_blueprint by focusing on character-specific elements, but the verb 'Create' underrepresents the tool's broader management scope.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool vs alternatives like manage_blueprint or manage_skeleton. The description implies use for character blueprint creation, but it doesn't mention exclusions or where to go for generic blueprint tasks, leaving usage boundaries vague.

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

manage_combatC

Create weapons with hitscan/projectile firing, configure damage types, hitboxes, reload, and melee combat (combos, parry, block).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName identifier.
pathNoDirectory path for asset creation.
rangeNo
actionYesCombat action to perform
adsFovNoFOV when aiming.
spreadNo
maxAmmoNo
adsSpeedNoTime to aim down sights.
ammoTypeNoAmmo type identifier.
fireRateNo
recoilYawNoHorizontal recoil (degrees).
adsEnabledNoEnable aim down sights.
baseDamageNo
hitboxSizeNoHitbox dimensions.
hitboxTypeNoHitbox collision shape.
reloadTimeNo
recoilPitchNoVertical recoil (degrees).
tracerSpeedNoTracer travel speed.
magazineSizeNo
startingAmmoNo
switchInTimeNoTime to equip weapon.
traceChannelNoTrace channel for hitscan.
blueprintPathNoBlueprint asset path.
bounceEnabledNoEnable projectile bouncing.
damageImpulseNoImpulse applied on hit.
homingEnabledNoEnable homing behavior.
maxComboCountNoMaximum combo length.
shellLifespanNoShell casing lifetime.
shellMeshPathNoPath to shell casing mesh.
spreadPatternNoSpread pattern type.
switchOutTimeNoTime to unequip weapon.
damageCategoryNoDamage category.
damageTypeNameNoName for damage type.
hitboxBoneNameNoBone name for hitbox.
hitscanEnabledNoEnable hitscan firing.
parryWindowEndNoParry window end time (normalized).
recoilRecoveryNoRecoil recovery speed.
spreadIncreaseNoSpread increase per shot.
spreadRecoveryNoSpread recovery rate.
weaponMeshPathNoPath to weapon static/skeletal mesh.
attachmentSlotsNoAttachment slot definitions.
collisionRadiusNo
comboAnimationsNoPaths to combo attack animations.
comboWindowTimeNoTime window for combo input.
homingTargetTagNoTag for homing targets.
impactDecalPathNoPath to impact decal.
impactSoundPathNoPath to impact sound.
muzzleSoundPathNoPath to firing sound.
projectileClassNoProjectile class path.
projectileSpeedNo
blockStaminaCostNoStamina cost per blocked hit.
damageMultiplierNoDamage multiplier for this hitbox.
hitPauseDurationNoHitstop duration in seconds.
isDamageZoneHeadNoMark as headshot zone.
meleeTraceRadiusNoSphere trace radius.
muzzleFlashScaleNoMuzzle flash scale.
muzzleSocketNameNoMuzzle socket name.
parryWindowStartNoParry window start time (normalized).
meleeTraceChannelNoTrace channel for melee.
criticalMultiplierNoCritical hit damage multiplier.
ejectionSocketNameNoShell ejection socket name.
headshotMultiplierNoHeadshot damage multiplier.
hitReactionMontageNoPath to hit reaction montage.
homingAccelerationNoHoming turn rate.
impactParticlePathNoPath to impact particle.
parryAnimationPathNoPath to parry animation.
projectileLifespanNo
projectileMeshPathNoPath to projectile mesh.
shellEjectionForceNoShell ejection impulse.
tracerParticlePathNoPath to tracer particle.
adsSpreadMultiplierNoSpread multiplier when aiming.
bounceVelocityRatioNoVelocity retained on bounce (0-1).
hitReactionStunTimeNoStun duration on hit.
meleeTraceEndSocketNoSocket for trace end.
reloadAnimationPathNoPath to reload animation.
blockDamageReductionNoDamage reduction when blocking (0-1).
hitPauseTimeDilationNoTime dilation during hitstop.
weaponTrailEndSocketNoTrail end socket.
attachmentSocketNamesNoList of attachment socket names.
meleeTraceStartSocketNoSocket for trace start.
switchInAnimationPathNoPath to equip animation.
projectileGravityScaleNo
switchOutAnimationPathNoPath to unequip animation.
weaponTrailStartSocketNoTrail start socket.
muzzleFlashParticlePathNoPath to muzzle flash particle.
weaponTrailParticlePathNoPath to weapon trail particle.

TDQS

C2.9/5.0
Behavior2/5

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

The annotations are all false (readOnlyHint, destructiveHint, etc.), providing no safety or side-effect profile. The description does not disclose potential destructive actions, prerequisites, or consequences of creating/overwriting combat configs, which is significant for a mutation tool.

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?

One sentence covering key capabilities with no redundancy. It is front-loaded and efficient, though it could be slightly more structured to list actions.

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

Completeness2/5

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

Given 86 parameters, 39 actions, and no output schema, the description is insufficient. It doesn't explain how to invoke actions, what the required 'action' parameter means, or what the tool returns. Agents would struggle to understand request composition despite the schema.

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 high (86%), so the schema already documents most parameters. The description adds broad thematic context (hitscan, melee) but doesn't detail any specific parameter relationships or requirements, so it meets baseline 3.

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 uses specific verbs 'create' and 'configure' and names concrete combat resources (weapons, damage types, hitboxes, reload, melee). It clearly distinguishes from siblings like manage_asset or manage_blueprint by focusing on combat mechanics, though it is broad and could be more specific.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. It doesn't mention exclusions or prior steps. The intended usage is only implied by the tool name and description summary.

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

manage_effectC
Destructive

Niagara particle systems, VFX, debug shapes, and GPU simulations. Create systems, emitters, modules, and control particle effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
meshNoMesh asset path.
nameNoName identifier.
nodeNo
timeNo
typeNo
colorNo
countNo
resetNo
scaleNo3D scale (x, y, z).
shapeNo
toPinNoName of the target pin.
valueNoGeneric value (any type).
widthNo
actionYesEffect/Niagara action to perform.
effectNoAsset path (e.g., /Game/Path/Asset).
presetNo
radiusNo
systemNoAsset path (e.g., /Game/Path/Asset).
toNodeNo
densityNo
emitterNo
enabledNo
fromPinNoName of the source pin.
payloadNo
sizeMaxNo3D location (x, y, z).
sizeMinNo3D location (x, y, z).
attachToNo
durationNo
effectIdNo
fromNodeNo
inputPinNoName of the target pin.
locationNo3D location (x, y, z).
materialNoMaterial asset path.
rotationNo3D rotation (pitch, yaw, roll).
savePathNoPath to save the asset.
sizeModeNo
speedMaxNo
speedMinNo
strengthNo
templateNo
actorNameNoName of the actor.
assetPathNoAsset path (e.g., /Game/Path/Asset).
colorModeNo
conditionNo
eventNameNoName of the event.
forceTypeNo
intensityNo
lightTypeNo
loopCountNo
outputPinNoName of the source pin.
paramNameNo
paramTypeNo
shapeTypeNo
spawnRateNo
stageNameNo
stageTypeNo
timeoutMsNo
attributesNo
effectTypeNo
impactTypeNo
moduleNameNo
offsetModeNo
ribbonPathNoAsset path (e.g., /Game/Path/Asset).
scatteringNo
staticMeshNoMesh asset path.
systemNameNo
systemPathNoAsset path (e.g., /Game/Path/Asset).
emitterNameNo
gradientEndNo
lightRadiusNo
sourceActorNo
surfaceTypeNo
accelerationNo3D location (x, y, z).
effectHandleNo
loopBehaviorNo
offsetAmountNo
queryChannelNo
skeletalMeshNoMesh asset path.
updateScriptNo
velocityModeNo
collisionModeNo
gradientStartNo
killConditionNo
niagaraHandleNo
parameterNameNoName of the parameter.
parameterTypeNo
unitsPerSpawnNo
audioComponentNo
lightIntensityNo
receiverScriptNo
collisionRadiusNo
emitterTemplateNoAsset path (e.g., /Game/Path/Asset).
splineComponentNo

TDQS

C2.8/5.0
Behavior2/5

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

Annotations indicate destructiveHint=true, but the description only mentions 'create' and 'control', which downplays the destructive actions (e.g., cleanup, remove_niagara_node, clear_debug_shapes) possible via the action enum. The description adds no context about side effects, mutability, or destructive potential.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

The description is brief (two sentences) and front-loaded with key domain terms, but it is under-specified for a tool with this complexity. It lacks structure (e.g., bullet points or an overview of actions) and feels more like an incomplete summary than a well-crafted description.

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

Completeness1/5

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

Given the tool's enormous parameter surface (93 params), a large action enum (60+ values), and no output schema, the two-sentence description is wholly inadequate. It does not explain how to use actions, what parameters each action requires, expected outputs, or side effects, making it difficult 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.

Parameters1/5

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

With 93 parameters and only 29% schema description coverage, the description must compensate by explaining parameter roles or groupings. It does not. It only mentions high-level concepts (systems, emitters, modules) without mapping to any actual parameter names or action-specific requirements.

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 clearly identifies the tool's domain as Niagara particle systems, VFX, debug shapes, and GPU simulations, using specific verbs like 'create' and 'control'. It distinguishes itself from sibling tools by its focus on effects/particles, and is not a tautology.

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?

The description provides clear context that this tool is for particle systems and VFX, making it obvious when to use it. It does not explicitly exclude alternatives, but the domain is specific enough that the agent can infer appropriate usage from the stated purpose.

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

manage_game_frameworkC

Create GameMode, GameState, PlayerController, PlayerState Blueprints. Configure match flow, teams, scoring, and spawning.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName identifier.
pathNoDirectory path for asset creation.
saveNoSave the asset(s) after the operation.
actionYesGame framework action to perform.
statesNoMatch state definitions.
hudClassNoHUD class path.
locationNoSpawn location.
numTeamsNo
rotationNoSpawn rotation.
teamSizeNo
levelPathNoLevel asset path.
numRoundsNo
pawnClassNoPawn class to use.
roundTimeNo
teamIndexNoTeam index for PlayerStart.
timeLimitNo
scoreLimitNo
autoBalanceNoEnable automatic team balancing.
bPlayerOnlyNoRestrict to players only.
parentClassNoPath or name of the parent class.
friendlyFireNoEnable friendly fire damage.
respawnDelayNo
scorePerKillNoPoints awarded per kill.
bDelayedStartNoWhether to delay match start.
blueprintPathNoBlueprint asset path.
gameStateClassNoGameState class path.
scorePerAssistNoPoints awarded per assist.
spectatorClassNoSpectator pawn class.
allowSpectatingNoAllow spectator mode.
respawnLocationNoWhere players respawn.
usePlayerStartsNoUse PlayerStart actors.
defaultPawnClassNoDefault pawn class for GameMode.
intermissionTimeNo
playerStateClassNoPlayerState class path.
gameModeBlueprintNoPath to GameMode blueprint to configure.
respawnConditionsNoConditions for respawn (e.g., "RoundEnd", "Manual").
scorePerObjectiveNoPoints awarded per objective.
spectatorViewModeNoSpectator view mode.
startPlayersNeededNo
spawnSelectionMethodNoHow to select spawn points.
playerControllerClassNoPlayerController class path.

TDQS

C2.9/5.0
Behavior2/5

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

The description says 'Create' and 'Configure' which implies mutation, but it doesn't disclose important behavioral traits such as whether existing assets are overwritten, required permissions, error handling, or side effects. Annotations are minimal (all false) and don't add context, so the description carries the burden and fails to provide sufficient 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/5

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

The description is a single sentence with no filler words. It front-loads the core actions and resources, making it easy to scan. It earns its place and is appropriately sized for the tool's complexity.

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

Completeness2/5

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

Given the tool's complexity (41 parameters, 20 actions), the description only covers a few categories and doesn't mention the diverse actions like set_default_pawn_class, configure_round_system, or get_game_framework_info. Without an output schema, the agent lacks context on return values. The description is too high-level to be complete for such a complex tool.

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 78%, so most parameters are already explained in the schema. The description's high-level grouping (match flow, teams, scoring, spawning) maps to some parameters but doesn't add specific meaning beyond what the schema provides. With high coverage, a baseline of 3 is appropriate.

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 clearly states the tool creates GameMode, GameState, PlayerController, and PlayerState Blueprints, and configures match flow, teams, scoring, and spawning. This distinguishes it from sibling tools like manage_blueprint by focusing on game framework elements. However, it doesn't enumerate the full range of 20 actions, leaving some ambiguity about the complete scope.

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

Usage Guidelines2/5

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

No explicit guidance is provided on when to use this tool versus alternatives like manage_blueprint or manage_character. The description implies it's for game framework setup but doesn't mention when it's appropriate or when to use a different tool. There are no exclusions or prerequisites described.

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

manage_gasC

Create Gameplay Abilities, Effects, Attribute Sets, and Gameplay Cues for ability systems.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName of the asset to create.
pathNoDirectory path for asset creation.
saveNoSave the asset(s) after the operation.
actionYesGAS action to perform.
cueTagNoGameplay Cue tag (e.g., GameplayCue.Damage.Fire).
periodNoPeriod for periodic effects.
cuePathNoPath to Gameplay Cue asset.
cueTypeNoType of gameplay cue notify.
tagNameNoName of the tag.
durationNoDuration in seconds.
maxValueNoMaximum value for clamping.
minValueNoMinimum value for clamping.
taskTypeNoType of ability task to add.
aoeRadiusNoArea of effect radius.
assetPathNoAsset path (e.g., /Game/Path/Asset).
baseValueNoBase value for attribute.
clampModeNoAttribute clamping mode.
decalPathNoPath to decal material.
soundPathNoSound asset path.
effectPathNoPath to effect asset.
ownerActorNoOwner actor class for ASC.
abilityPathNoPath to ability asset.
abilityTagsNoGameplay tags for this ability.
avatarActorNoAvatar actor class for ASC.
coefficientNoCoefficient for attribute-based calculation.
grantedTagsNoTags granted while effect is active.
parentClassNoPath or name of the parent class.
removalTagsNoTags that cause effect removal.
targetRangeNoMaximum targeting range.
triggerTypeNoWhen the cue triggers.
cooldownTagsNoTags applied during cooldown.
durationTypeNoEffect duration type.
immunityTagsNoTags that block this effect.
stackingTypeNoStacking type for effect.
taskSettingsNoTask-specific settings.
attributeNameNoName of the attribute.
attributeTypeNoPredefined attribute type or Custom.
blueprintPathNoBlueprint asset path.
costAttributeNoAttribute used for cost (e.g., Mana).
costMagnitudeNoCost magnitude.
targetingModeNoTargeting mode for ability.
costEffectPathNoPath to cost Gameplay Effect.
setByCallerTagNoTag for SetByCaller magnitude.
cameraShakePathNoPath to camera shake asset.
replicationModeNoASC replication mode.
sourceAttributeNoSource attribute for attribute-based calculation.
stackLimitCountNoMaximum stack count.
targetAttributeNoTarget attribute for modifier.
activationPolicyNoWhen the ability activates.
attributeSetPathNoPath to Attribute Set asset.
calculationClassNoUGameplayEffectExecutionCalculation class path.
cooldownDurationNoCooldown duration in seconds.
instancingPolicyNoHow the ability is instanced.
modifierMagnitudeNoMagnitude of the modifier.
modifierOperationNoModifier operation on attribute.
cooldownEffectPathNoPath to cooldown Gameplay Effect.
particleSystemPathNoPath to particle system.
activationBlockedTagsNoTags that block activation of this ability.
blockAbilitiesWithTagNoTags of abilities blocked while this is active.
stackExpirationPolicyNoWhat happens when stack expires.
activationRequiredTagsNoTags required to activate this ability.
cancelAbilitiesWithTagNoTags of abilities to cancel when this activates.
stackPeriodResetPolicyNoWhen to reset stack period.
applicationRequiredTagsNoTags required to apply this effect.
magnitudeCalculationTypeNoHow magnitude is calculated.
preMultiplyAdditiveValueNoValue added before multiplication.
postMultiplyAdditiveValueNoValue added after multiplication.
stackDurationRefreshPolicyNoWhen to refresh stack duration.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations provide readOnlyHint=false and destructiveHint=false, but the description adds little behavioral context. It does not disclose that the tool can modify existing assets (e.g., set_attribute_base_value), whether it saves changes, or any side effects. The 'create' wording is inconsistent with the broader manage/set actions implied by 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.

Conciseness2/5

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

The description is a single sentence, which is concise, but it under-specifies a complex tool with 68 parameters and 27 action types. It is closer to an underspecified placeholder than a genuinely concise overview.

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

Completeness2/5

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

For a tool with 68 parameters, 27 enumerated actions, and no output schema, the description is far from complete. It fails to mention the range of operations (create, set, configure, get) or any constraints, leaving the agent to infer the tool's full capabilities from the schema alone.

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%, so parameters are already well-documented. The description adds no additional parameter meaning beyond the schema. Baseline 3 is appropriate since the description does not compensate or add value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the GAS resource domain (abilities, effects, attribute sets, cues) but uses the verb 'create' which is misleading because the tool's actions also include set, configure, add, and get info. It does not distinguish from sibling tools like manage_effect or manage_combat, which may overlap.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, no exclusions, and no context about the variety of operations it supports. The description simply states the resource type without any practical usage direction.

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

manage_geometryC

Create procedural meshes using Geometry Script: booleans, deformers, UVs, collision, and LOD generation.

ParametersJSON Schema
NameRequiredDescriptionDefault
axisNoAxis for deformation operations.
saveNoSave the asset(s) after the operation.
angleNoAngle in degrees.
depthNoDepth value.
scaleNo3D scale (x, y, z).
widthNoWidth value.
actionYesGeometry action to perform
amountNoGeneric amount for operations (bevel size, inset distance, etc.).
heightNoHeight value.
radiusNoRadius value.
uvScaleNoUV scale.
distanceNoDistance value.
locationNo3D location (x, y, z).
lodCountNoNumber of LOD levels to generate.
lodIndexNoSpecific LOD index to configure.
meshPathNoMesh asset path.
numRingsNoNumber of rings for sphere, torus.
numSidesNoNumber of sides for cylinder, cone, etc.
numStepsNoNumber of steps for stairs.
numTurnsNoNumber of turns for spiral.
rotationNo3D rotation (pitch, yaw, roll).
segmentsNoNumber of segments for bevel, subdivide.
strengthNoStrength or weight.
uvOffsetNoUV offset.
actorNameNoName of the actor.
hullCountNoNumber of convex hulls for decomposition.
overwriteNoOverwrite if the asset/file already exists.
stepDepthNoDepth of each stair step.
stepWidthNoWidth of each stair step.
uvChannelNoUV channel index (0-7).
exportPathNoExport file path.
includeUVsNoInclude UVs in export.
iterationsNoNumber of iterations for smooth, remesh.
outputPathNoOutput file or directory path.
screenSizeNoScreen size threshold for LOD switching.
stepHeightNoHeight of each stair step.
createAssetNoCreate as persistent asset.
edgeIndicesNoArray of edge indices.
faceIndicesNoArray of face indices.
innerRadiusNoInner radius for torus.
preserveUVsNoPreserve UV seams during LOD generation.
screenSizesNoArray of screen sizes for each LOD.
enableNaniteNoEnable Nanite for the output mesh.
exportFormatNoExport file format.
selectionBoxNoBounding box for selection.
weldDistanceNoDistance threshold for vertex welding.
collisionTypeNoCollision complexity type.
depthSegmentsNoSegments along depth.
hardEdgeAngleNoAngle threshold for hard edges (degrees).
hullPrecisionNoPrecision for convex hull generation (0-1).
vertexIndicesNoArray of vertex indices.
widthSegmentsNoSegments along width.
heightSegmentsNoSegments along height.
includeNormalsNoInclude normals in export.
radialSegmentsNoRadial segments for circular shapes.
targetMeshPathNoPath to second mesh for boolean operations.
includeTangentsNoInclude tangents in export.
preserveBordersNoPreserve mesh borders during LOD generation.
reductionPercentNoPercent of triangles to reduce per LOD.
smoothingGroupIdNoSmoothing group ID.
targetEdgeLengthNoTarget edge length for remeshing.
maxVerticesPerHullNoMaximum vertices per convex hull.
projectionDirectionNoProjection direction for UV.
targetTriangleCountNoTarget triangle count for simplification.
computeWeightedNormalsNoUse area-weighted normals.

TDQS

C2.9/5.0
Behavior2/5

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

The annotations already state readOnlyHint=false and destructiveHint=false, but the description adds no behavioral context beyond 'Create'. Many actions (boolean_subtract, remesh, generate_collision) modify existing geometry, which the wording 'Create procedural meshes' does not disclose; save/createAsset and overwrite parameters also imply persistence behavior that is not mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single, front-loaded sentence with a colon-separated list of operation categories. No words are wasted, and the structure is easy to scan.

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

Completeness2/5

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

Given the tool's high complexity (65 parameters, 46 enum actions, no output schema), the description is far too thin. It provides no information about how to select a target mesh, interpret return values, handle asset creation/saving, or choose among the many action variants.

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%, so the schema itself carries parameter definitions. The description offers only high-level categories (booleans, deformers, UVs, etc.) with no mapping to the 65 parameters, leaving the agent to infer which parameters apply to which actions from generic schema descriptions like 'Depth value' or 'Distance value.'

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 clearly identifies the tool's function as creating procedural meshes via Geometry Script and lists key operation categories (booleans, deformers, UVs, collision, LOD generation). This distinguishes it from sibling asset/material tools, though it underrepresents non-create actions like get_mesh_info, export, and Nanite conversion that are present in the action enum.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives, nor any exclusions or prerequisites. With 46 possible actions, the description gives no decision support for selecting the appropriate action, target mesh, or operation context.

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

manage_inputC

Create Input Actions and Mapping Contexts. Add key/gamepad bindings with modifiers and triggers.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNo
nameNoName identifier.
pathNoPath to a directory.
actionYesAction to perform. Use dump_asset to serialize a UObject/DataAsset properties to JSON for inspection.
priorityNoPriority for input mapping context (default: 0).
assetPathNoAsset path (e.g., /Game/Path/Asset).
actionPathNoAsset path (e.g., /Game/Path/Asset).
contextPathNoAsset path (e.g., /Game/Path/Asset).
triggerTypeNo
modifierTypeNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already mark the tool as mutable (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds no behavioral context beyond 'Create' and 'Add', failing to disclose that actions like remove_mapping or disable_input_action can delete or disable bindings. It also omits any side effects or permission requirements.

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?

Two sentences with no filler, front-loading the primary purpose. However, the brevity comes at the cost of missing important scope details, so it is concise but not fully informative.

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

Completeness2/5

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

Given 10 parameters and an action enum with 10 distinct operations, a two-sentence description is inadequate. It only covers creation and adding bindings, omitting removal, disabling, enabling, retrieving info, and the critical action discriminator. With no output schema, the description must explain the breadth of the tool, and it fails.

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 70%, with descriptions for most parameters. The description adds a bit of meaning by connecting 'key/gamepad bindings' to key and triggerType/modifierType, but does not clarify valid values for triggerType or modifierType (which lack schema descriptions). Overall, schema carries most semantic weight, with modest addition from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Create Input Actions and Mapping Contexts' but the schema's action enum reveals the tool also removes mappings, disables actions, sets triggers/modifiers, and retrieves info. The verb 'Create' inaccurately narrows the scope and could mislead the agent into thinking only creation is supported.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives like manage_character or system_control. The description doesn't mention exclusions or context where this tool is preferred, leaving the agent to infer from the tool name alone.

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

manage_interactionC

Create interactive objects: doors, switches, chests, levers. Set up destructible meshes and trigger volumes.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName identifier.
sizeNoSize of trigger volume.
actionYesThe interaction action to perform.
folderNoPath to a directory.
levelsNoDestruction level definitions.
lockedNoWhether the item is locked.
oneShotNoWhether switch can only be used once.
cooldownNoCooldown time in seconds.
doorPathNoPath to door actor blueprint.
meshPathNoMesh asset path.
moveTimeNoTime for lever movement.
openTimeNoTime to open/close door in seconds.
actorNameNoName of the actor.
autoCloseNoAutomatically close after opening.
chestPathNoPath to chest actor blueprint.
leverTypeNoLever movement type.
maxHealthNoMaximum health before destruction.
openAngleNoDoor open rotation angle in degrees.
openSoundNoSound to play on open.
resetTimeNoTime to reset switch in seconds.
traceTypeNoType of interaction trace.
closeSoundNoSound to play on close.
ignoreTagsNoTags to ignore in trigger.
switchPathNoPath to switch actor blueprint.
switchTypeNoType of switch.
toggleableNoWhether switch can be toggled.
autoDestroyNoAutomatically destroy at zero health.
filterByTagNoActor tag filter for trigger.
keyItemPathNoItem required to unlock.
lidMeshPathNoPath to lid mesh.
onExitEventNoEvent dispatcher name for exit.
onStayEventNoEvent dispatcher name for stay.
pivotOffsetNoOffset for door pivot point.
requiresKeyNoWhether interaction requires a key item.
respawnTimeNoRespawn time in seconds.
respawnableNo
showOnHoverNoShow widget when hovering.
traceRadiusNoTrace radius.
triggerPathNoPath to trigger actor blueprint.
widgetClassNoWidget class path.
destroySoundNoSound on destruction.
fractureModeNoFracture pattern type.
moveDistanceNoDistance for translation lever.
onEnterEventNoEvent dispatcher name for enter.
responseTypeNoHow trigger responds.
stayIntervalNoInterval for stay events in seconds.
targetActorsNoActors affected by this switch.
traceChannelNoCollision trace channel.
triggerShapeNoShape of trigger volume.
widgetOffsetNoWidget offset from actor.
activateSoundNoSound on activation.
blueprintPathNoBlueprint asset path.
componentNameNoName of the component.
enablePhysicsNoEnable physics on destruction.
filterByClassNoActor class filter for trigger.
ignoreClassesNoClasses to ignore in trigger.
lootTablePathNoPath to loot table asset.
openDirectionNoDoor open direction.
traceDistanceNoTrace distance.
autoCloseDelayNoDelay before auto-close in seconds.
debrisLifetimeNoDebris lifetime in seconds.
fracturePiecesNoNumber of fracture pieces.
maxActivationsNoMaximum number of activations (0 = unlimited).
showPromptTextNoShow interaction prompt text.
traceFrequencyNoTrace frequency.
deactivateSoundNoSound on deactivation.
destroyParticleNoParticle effect on destruction.
damageThresholdsNoDamage thresholds for destruction levels.
promptTextFormatNoFormat string for prompt (e.g., "Press {Key} to {Action}").
filterByInterfaceNoInterface filter for trigger.
debrisPhysicsMaterialNoPhysics material for debris.
impactDamageMultiplierNoMultiplier for impact damage.
radialDamageMultiplierNoMultiplier for radial damage.

TDQS

C2.9/5.0
Behavior2/5

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

The description only says 'create' and 'set up', which matches the non-read-only annotation but adds no details about side effects, whether existing objects are modified, or if any actions can be destructive. Annotations already signal mutating but non-destructive behavior; the description adds no new behavioral context beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is two concise sentences, front-loaded with the core purpose. Every word earns its place, with no fluff or redundancy.

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

Completeness2/5

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

Given the high complexity (73 parameters, 22 action enum values), the description is far too brief. It doesn't map actions to object types, explain how actions relate to parameters, or indicate required follow-up steps. It provides a high-level overview but not enough context to effectively use the tool in many scenarios.

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?

The schema provides detailed descriptions for approximately 99% of parameters, so the description does not need to add parameter meaning. It doesn't, which is acceptable given high schema coverage, but it also doesn't add any extra semantic value beyond what the schema already offers.

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 clearly states the tool creates interactive objects (doors, switches, chests, levers) and sets up destructible meshes and trigger volumes, giving a specific verb and resource. It distinguishes from siblings like manage_blueprint or manage_volumes by focusing on interactive elements, but it omits the broader management scope (configuring, adding events, getting info) visible in the action enum, so it's not a fully accurate purpose statement.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives like manage_volumes or manage_blueprint, nor when to select specific actions from the enum. The description implies it is for interaction-related tasks but does not explicitly state conditions, exclusions, or alternative tools.

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

manage_inventoryC

Create item data assets, inventory components, world pickups, loot tables, and crafting recipes.

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNoPath to icon texture.
meshNoPath to mesh asset.
nameNoName of the asset to create.
pathNoDirectory path for asset creation.
saveNoSave the asset(s) after the operation.
tagsNoGameplay tags for item categorization.
slotsNoEquipment slot definitions.
tiersNoQuality tier definitions.
valueNo
actionYesInventory action to perform.
folderNoPath to a directory.
promptNoPrompt text.
rarityNoItem rarity tier.
weightNo
bobbingNoEnable bobbing animation.
recipesNoRecipe paths for crafting station.
itemPathNoPath to item data asset.
meshPathNoMesh asset path.
rotationNoEnable rotation animation.
slotSizeNoSize of each slot (for grid inventory).
actorPathNoPath to actor Blueprint for loot drop.
craftTimeNoTime in seconds to craft.
dropCountNoNumber of drops to roll.
dropForceNoPhysics force applied to drops.
maxWeightNo
slotCountNo
stackSizeNo
conditionsNoConditions for loot entry (gameplay tag expressions).
dropRadiusNoRadius for scattered drops.
glowEffectNoEnable glow effect.
lootWeightNoWeight for drop chance calculation.
pickupPathNoPath to pickup actor Blueprint.
recipePathNoPath to crafting recipe asset.
replicatedNoWhether to replicate.
descriptionNo
displayNameNo
ingredientsNoRequired ingredients with quantities.
maxQuantityNoMaximum drop quantity.
minQuantityNoMinimum drop quantity.
parentClassNoPath or name of the parent class.
pickupSoundNoSound cue for pickup.
respawnTimeNoRespawn time in seconds.
respawnableNo
stationTypeNoType of crafting station.
categoryIconNoIcon texture for category.
categoryPathNoPath to item category asset.
itemDataPathNoPath to item data asset.
abilityGrantsNoGameplay abilities granted when equipped.
allowStackingNoAllow items to stack.
blueprintPathNoBlueprint asset path.
componentNameNoName of the component.
lootTablePathNoPath to loot table asset.
meshComponentNoComponent name for equipment mesh.
requiredLevelNoRequired player level.
respawnEffectNoNiagara effect for respawn.
statModifiersNoStat modifiers when equipped.
attachToSocketNoAttach mesh to socket when equipped.
interactionKeyNoInput action for pickup (if type is Key/Hold).
outputItemPathNoPath to item produced by recipe.
outputQuantityNoQuantity produced.
parentCategoryNoParent category path.
passiveEffectsNoPassive gameplay effects when equipped.
pickupParticleNoParticle effect on pickup.
requiredSkillsNoRequired skill tags.
slotCategoriesNoAllowed item categories per slot.
guaranteedDropsNoItem paths that always drop.
interactionTypeNoHow player picks up item.
requiredStationNoRequired crafting station type.
customPropertiesNoCustom key-value properties for item.
slotRestrictionsNoPer-slot category restrictions.
unlockConditionsNoConditions to unlock recipe.
highlightMaterialNoMaterial for highlight effect.
interactionRadiusNoRadius for pickup interaction.
animationOverridesNoAnimation overrides (slot -> anim asset).
replicationConditionNoReplication condition for inventory.

TDQS

C2.5/5.0
Behavior2/5

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

The description only restates a creation-oriented summary and adds no behavioral context beyond the annotations. It does not mention that most operations modify existing assets, that the `action` parameter determines behavior, or what side effects to expect. The annotations already declare non-read-only, so no contradiction exists, but the description contributes little.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

The description is a single sentence with no filler, but it is too sparse for a tool with 75 parameters and 28 action modes. It is under-specified rather than effectively concise; a brief enumeration of action categories or a note about the required `action` would be more useful.

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

Completeness2/5

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

For a tool this complex—75 parameters, no output schema, multiple nested objects, and a required action enum—the one-line description is inadequate. It does not explain return values, state changes, or the need to choose an `action`, leaving significant gaps for an agent to infer.

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 89%, so the schema mostly carries parameter meaning. The description lists high-level resource categories but does not map them to the many parameters (e.g., `action`, `itemPath`, `lootTablePath`, `ingredients`). It also does not clarify that `action` is required and drives which parameters are relevant.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names specific resources ('item data assets, inventory components, world pickups, loot tables, and crafting recipes') and uses a verb ('Create'), but the tool's required `action` parameter supports 28 distinct actions, many of which are non-creative (e.g., 'set_item_properties', 'configure_inventory_slots', 'get_inventory_info'). This understates the tool's actual scope and could mislead an agent into thinking it is only for creation.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives like manage_asset, manage_blueprint, or other sibling tools. The description does not mention conditions, prerequisites, or situations where a different tool should be chosen.

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

manage_levelC
Destructive

Load/save levels, configure streaming, manage World Partition cells, and build lighting.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNo3D location (x, y, z).
minNo3D location (x, y, z).
pathNoDirectory path for asset creation.
cellsNo
colorNoRGBA color as an array [r, g, b, a].
actionYesAction
extentNo3D extent (half-size).
originNo3D location (x, y, z).
newNameNo
locationNo3D location (x, y, z).
metadataNo
rotationNo3D rotation (pitch, yaw, roll).
savePathNoPath to save the asset.
templateNo
actorPathNoPath to actor.
intensityNo
levelNameNo
levelPathNoLevel asset path.
lightTypeNoLight type. Accepts short names (Point), class names (PointLight), or lowercase (point).
streamingNo
timeoutMsNo
exportPathNoExport file path.
levelPathsNo
parentPathNoPath to a directory.
sourcePathNoSource path for import/move/copy.
targetPathNoPath to a directory.
packagePathNoPath to a directory.
parentLevelNoParent level path.
sublevelPathNoLevel asset path.
dataLayerNameNoName of the data layer.
dataLayerLabelNo
dataLayerStateNo
shouldBeLoadedNo
destinationPathNoDestination path for move/copy.
shouldBeVisibleNo
streamingMethodNo
useWorldPartitionNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already flag destructiveHint=true and readOnlyHint=false. The description adds context about the tool's scope (streaming, World Partition, lighting) beyond annotations, but it does not disclose the nature of destructive actions (e.g., delete, cleanup) or side effects. It does not contradict 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/5

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

The description is a single sentence with no fluff, covering the main operations. It is efficiently front-loaded but is high-level and could be more actionable by mentioning the action parameter or specific sub-capabilities.

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

Completeness2/5

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

For a tool with 37 parameters and 24 actions, this description is far too brief. It omits the required 'action' parameter, operation-specific details, return values, and side-effect warnings. The schema carries most of the burden, but the description does not integrate or highlight the most important decision points for an agent.

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

Parameters2/5

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

Schema coverage is 59% and includes descriptions for many parameters, but the description does not explain the required 'action' parameter or how to choose among the 24 action values. It vaguely groups some parameters (e.g., lighting, streaming, cells) but provides no direct parameter semantics beyond what the schema already offers.

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 clearly states the tool handles level-related operations: load/save, streaming, World Partition cells, and lighting. It uses specific verb+resource pairs, but it does not differentiate from sibling tools like manage_lighting or manage_level_structure, which overlap in lighting and structure management.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There are no exclusions, prerequisites, or explicit alternative tool mentions, leaving the agent to infer usage from the broad capability list.

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

manage_level_structureC
Destructive

Create levels and sublevels. Configure World Partition, streaming, data layers, HLOD, and level instances.

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNoSave the asset(s) after the operation.
actionYesLevel structure action to perform.
cellSizeNoHLOD cell size.
nodeNameNoName of the node.
actorNameNoName of the actor.
actorPathNoPath to actor.
levelNameNo
levelPathNoLevel asset path.
nodeClassNoNode class path.
volumeNameNoName of the volume.
parentLevelNoParent level path.
boundsExtentNoExtent of level bounds.
boundsOriginNoOrigin of level bounds.
createVolumeNoCreate a streaming volume (true) or just report existing volumes (false). Default: true.
gridCellSizeNoWorld Partition grid cell size.
loadingRangeNoLoading range for grid cells.
nodePositionNoPosition of node in graph.
sublevelNameNoName of the sublevel.
sublevelPathNoLevel asset path.
volumeExtentNoExtent of the volume.
dataLayerNameNoName of the data layer.
dataLayerTypeNoType of data layer.
hlodLayerNameNoName of the HLOD layer.
hlodLayerPathNoPath to HLOD layer.
instanceScaleNoScale of the level instance.
sourcePinNameNoName of the source pin.
targetPinNameNoName of the target pin.
templateLevelNoTemplate level path.
dataLayerLabelNoDisplay label for the data layer.
levelAssetPathNoPath to the level asset for instancing.
sourceNodeNameNoSource node name.
streamingUsageNoStreaming volume usage mode (default: LoadingAndVisibility).
targetNodeNameNoTarget node name.
volumeLocationNoLocation of the volume.
bPackBlueprintsNoInclude blueprints in packed level.
loadingDistanceNoHLOD loading distance.
packedLevelNameNoName for the packed level actor.
streamingMethodNoLevel streaming method.
bShouldBeVisibleNoLevel should be visible when loaded.
instanceLocationNoLocation of the level instance.
instanceRotationNoRotation of the level instance.
bPackStaticMeshesNoInclude static meshes in packed level.
levelInstanceNameNoLevel instance name.
streamingDistanceNoDistance/radius for streaming volume (creates ALevelStreamingVolume).
bIsInitiallyLoadedNoData layer initially loaded.
bIsSpatiallyLoadedNoHLOD is spatially loaded.
bShouldBlockOnLoadNoBlock game until level is loaded.
bIsInitiallyVisibleNoData layer initially visible.
bAutoCalculateBoundsNoAuto-calculate bounds from content.
bCreateWorldPartitionNoCreate with World Partition enabled.
bEnableWorldPartitionNoEnable World Partition for level.
bDisableDistanceStreamingNoDisable distance-based streaming.

TDQS

C2.9/5.0
Behavior2/5

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

The annotations mark this as destructive (destructiveHint=true) and not read-only, but the description adds no behavioral context beyond that. It does not describe side effects, whether actions are irreversible, or what assets might be modified. With annotations present, the bar is lower, but the description provides zero additional behavioral 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/5

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

The description is two concise sentences with no filler or redundancy. It front-loads the primary action ('Create levels and sublevels') followed by configuration domains. This is efficient, though it could be slightly more informative without becoming verbose.

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

Completeness2/5

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

Despite a rich schema (52 parameters, 17 action enum values), the description is far too minimal to orient an agent. It does not explain the action-driven nature of the tool, which parameters apply to which actions, or how operations like get_level_structure_info differ from create_packed_level_actor. The description relies entirely on the schema, which is insufficient for such a complex tool.

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 98%, so the schema already documents most parameters with descriptions. The tool description itself adds no parameter-level guidance, but this is acceptable given the high schema coverage. It does not explain how parameters combine for specific actions, but the schema already provides baseline clarity.

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 clearly states the tool's function with specific verbs: 'Create levels and sublevels. Configure World Partition, streaming, data layers, HLOD, and level instances.' It names distinct resources and operations, making the general purpose obvious. However, it does not explicitly differentiate from sibling tools like manage_level or build_environment, which may also handle level creation.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. No mention of prerequisites, exclusions, or when a different tool would be more appropriate. The description only lists capabilities without contextual usage advice.

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

manage_lightingB

Spawn lights (point, spot, rect, sky), configure GI, shadows, volumetric fog, and build lighting.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName identifier.
sizeNo3D scale (x, y, z).
colorNoRGBA color as an array [r, g, b, a].
widthNo
actionYesAction
heightNo
methodNo
radiusNo
bouncesNo
densityNo
enabledNoWhether the item/feature is enabled.
qualityNo
locationNo3D location (x, y, z).
rotationNo3D rotation (pitch, yaw, roll).
fogHeightNo
innerConeNo
intensityNo
levelNameNo
lightTypeNoLight type. Accepts short names (Point), class names (PointLight), or lowercase (point).
outerConeNo
recaptureNo
copyActorsNo
lightClassNoUnreal light class name (e.g., PointLight, SpotLight). Alternative to lightType.
sourceTypeNo
castShadowsNo
cubemapPathNoTexture asset path.
temperatureNo
useTemplateNo
maxBrightnessNo
minBrightnessNo
shadowQualityNo
contactShadowsNo
shadowDistanceNo
cascadedShadowsNo
falloffExponentNo
rayTracedShadowsNo
buildOnlySelectedNo
compensationValueNo
scatteringIntensityNo
buildReflectionCapturesNo
useAsAtmosphereSunLightNoFor Directional Lights, use as Atmosphere Sun Light.
indirectLightingIntensityNo

TDQS

B3.1/5.0
Behavior2/5

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

The description does not disclose any behavioral traits beyond what the annotations already indicate. It does not mention that actions like 'build_lighting' may be time-consuming, or that 'ensure_single_sky_light' might modify or delete existing lights. With annotations present but generic, the description adds no additional context about side effects or requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single, concise sentence that front-loads the core capabilities. It is appropriately sized for a tool with many capabilities, avoiding unnecessary verbosity while covering the main areas. Every word contributes to the overall meaning.

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

Completeness2/5

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

Given the tool's high complexity (42 parameters, 15 actions) and no output schema, the description is insufficient. It does not mention the 'action' enum, the variety of possible actions, or how to select between them. It provides only a general overview, leaving users without enough context to safely and effectively use the tool.

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

Parameters2/5

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

The schema has 42 parameters with only 26% description coverage, so the description should compensate. It does not explain any specific parameters, but it does mention high-level concepts (GI, shadows, fog) that map to parameter groups. However, it does not clarify the meaning of 'action' enum values, 'lightType', or other key fields, leaving significant gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: spawning lights (point, spot, rect, sky) and configuring GI, shadows, volumetric fog, and building lighting. It uses specific verbs and resources, distinguishing it from sibling tools that manage assets, blueprints, or other domains.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention alternative tools, exclusions, or specific conditions that would trigger its use. The only hint is the name 'manage_lighting', but there is no explicit usage context.

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

manage_material_authoringC

Create materials with expressions, parameters, functions, instances, and landscape blend layers.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoNode X position.
yNoNode Y position.
codeNoCode or expression.
nameNoName identifier.
pathNoDirectory path for asset creation.
saveNoSave the asset(s) after the operation.
groupNoGroup name.
valueNoValue to set (number, vector object, or texture path).
actionYesMaterial authoring action to perform. Use create_complete_material to create a full material with expressions and connections in a single call.
constANoConstant A input value.
constBNoConstant B input value.
layersNoArray of layer configurations for layer blend.
nodeIdNoID of the node.
pinNameNoName of the pin.
uTilingNoU tiling factor.
vTilingNoV tiling factor.
twoSidedNoEnable two-sided rendering.
assetPathNoAsset path (e.g., /Game/Path/Asset).
blendModeNoBlend mode.
blendTypeNoLandscape layer blend type.
inputNameNoName of the input.
inputTypeNoType of function input/output.
layerNameNoName of the layer.
operationNoMath operation type.
sourcePinNoSource pin name (output).
targetPinNoTarget pin name (input).
outputTypeNoOutput type of custom expression.
propertiesNoAdditional material properties to set via console commands, e.g. {bUsedWithSkeletalMesh: true} (for create_complete_material)
connectionsNoArray of connections between expressions and material inputs (for create_complete_material)
descriptionNoDescription for custom expression or function.
expressionsNoArray of expressions to add to the material (for create_complete_material)
samplerTypeNoTexture sampler type.
texturePathNoTexture asset path.
defaultValueNoDefault value for parameter (number for scalar, object for vector, bool for switch).
functionPathNoPath to function asset.
shadingModelNoShading model.
sourceNodeIdNoSource node ID for connection.
targetNodeIdNoTarget node ID for connection.
parameterNameNoName of the parameter.
materialDomainNoMaterial domain type.
parentMaterialNoPath to parent material for instances.
coordinateIndexNoUV channel index (0-7).
exposeToLibraryNoExpose function to material library.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are all false, providing no safety or mutation cues. The description says 'create' but doesn't disclose side effects like overwriting assets, whether existing materials are modified, or any prerequisites. No additional behavioral context is provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single sentence, front-loads the primary verb, and lists key features without redundancy. It is appropriately concise for an overview, though it sacrifices completeness.

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

Completeness2/5

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

Given 43 parameters and 39 actions, the one-sentence description is far too sparse. It doesn't mention the create_complete_material convenience action, editing existing materials, or the distinction between creating assets vs connecting nodes. No output schema exists, so the description should explain more about return values or 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 descriptions cover 100% of parameters, so baseline is 3. The tool description lists high-level categories (expressions, parameters, functions, instances) but doesn't add meaning beyond what the schema already provides. No new parameter insight.

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 states the tool creates materials with specific components (expressions, parameters, functions, instances, landscape blend layers), clearly identifying the resource and differentiating from sibling asset tools. However, it omits many actions from the enum like set_blend_mode, connect_nodes, and compile_material, so it underrepresents the full purpose.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives such as manage_asset or manage_texture, nor when to use create_complete_material versus individual node actions. The description only states what the tool does, not when to choose it.

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

manage_navigationC

Configure NavMesh settings, add nav modifiers, create nav links and smart links for pathfinding.

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNoSave the asset(s) after the operation.
actionYesNavigation action to perform
filterNoGeneral search filter.
areaCostNoPathfinding cost multiplier for area (1.0 = normal).
cellSizeNoNavMesh cell size (default: 19).
endPointNoEnd point of navigation link (relative to actor).
linkNameNoName of the link.
linkTypeNoType of navigation link.
locationNoWorld location for nav link proxy.
rotationNoRotation for nav link proxy.
actorNameNoName of the actor.
actorPathNoPath to actor.
areaClassNoNavigation area class path.
directionNoLink traversal direction.
cellHeightNoNavMesh cell height (default: 10).
snapRadiusNoSnap radius for link endpoints (default: 30).
startPointNoStart point of navigation link (relative to actor).
tileSizeUUNoNavMesh tile size in UU (default: 1000).
agentHeightNoNavigation agent height (default: 144).
agentRadiusNoNavigation agent radius (default: 35).
linkEnabledNoWhether the link is enabled.
navMeshPathNoPath to NavMesh data asset.
agentMaxSlopeNoMaximum slope angle in degrees (default: 44).
blueprintPathNoBlueprint asset path.
componentNameNoName of the component.
minRegionAreaNoMinimum region area to keep.
failsafeExtentNoFailsafe extent for nav modifier when actor has no collision.
obstacleExtentNoExtent of simple box obstacle.
obstacleOffsetNoOffset of simple box obstacle.
agentStepHeightNoMaximum step height agent can climb (default: 35).
broadcastRadiusNoRadius for state change broadcast.
mergeRegionSizeNoRegion merge threshold.
enabledAreaClassNoArea class when smart link is enabled.
broadcastIntervalNoInterval for state change broadcast (0 = single).
disabledAreaClassNoArea class when smart link is disabled.
obstacleAreaClassNoArea class for box obstacle.
areaClassToReplaceNoArea class to replace (optional modifier behavior).
bCreateBoxObstacleNoAdd box obstacle during nav generation.
bIncludeAgentHeightNoExpand lower bounds by agent height.
bSmartLinkIsRelevantNoToggle smart link relevancy.
fixedAreaEnteringCostNoFixed cost added when entering the area.
maxSimplificationErrorNoEdge simplification error.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations indicate readOnly=false, destructive=false, and idempotent=false, but the description adds no additional behavioral context such as side effects of rebuild_navigation, the save option, or operation-specific impacts. For a tool with multiple distinct actions, this is a transparency gap.

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?

The description is a single concise sentence that avoids unnecessary verbosity. However, it's a high-level summary rather than a structured overview, and could be improved by referencing the required 'action' parameter to help the agent navigate the tool's complexity.

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

Completeness2/5

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

Given the high complexity (42 parameters, 12 actions, no output schema), the description is far too sparse. It doesn't map parameters to actions, mention the required action parameter, or explain the differences between link types. A more comprehensive description is needed to fully guide the agent.

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?

The schema includes all 42 parameters with individual descriptions (100% coverage), so the schema already provides thorough parameter semantics. The tool description adds no extra meaning beyond what the schema offers, so the baseline score of 3 is appropriate.

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 clearly states it configures NavMesh settings, adds nav modifiers, and creates nav links/smart links for pathfinding, making the tool's purpose evident. However, it doesn't differentiate this from sibling tools like manage_ai or control_actor, so it's clear but lacks sibling distinction.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor are there any exclusions or prerequisites. The description only lists capabilities without contextual use cases, leaving the agent to infer appropriate usage.

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

manage_networkingB

Configure multiplayer: property replication, RPCs (Server/Client/Multicast), authority, relevancy, and network prediction.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoNet role.
actionYesNetworking action to perform
rpcTypeNoType of RPC.
dataTypeNoNetwork prediction data type.
dormancyNoNet dormancy mode.
reliableNoWhether the operation is reliable.
actorNameNoName of the actor.
conditionNoReplication condition.
nodeClassNoNode class path.
removeAllNoRemove all foliage instances.
parametersNoRPC function parameters.
propertiesNoPredicted properties.
replicatedNoWhether property should be replicated.
returnTypeNoRPC return type (usually void).
structNameNoName of struct for custom serialization.
netPriorityNoNetwork priority for bandwidth (default 1.0).
spatialBiasNoSpatial bias for replication graph.
functionNameNoName of the function.
propertyNameNoName of the property.
usePushModelNoUse push-model replication.
blueprintPathNoBlueprint asset path.
maxClientRateNoMax client rate.
predictionKeyNoPrediction key identifier.
propertyNamesNoProperties for push model.
repNotifyFuncNoRepNotify function name.
smoothingRateNoSmoothing rate for corrections.
alwaysRelevantNoAlways relevant to all clients.
ownerActorNameNoName of owner actor (null to clear).
withValidationNoEnable RPC validation.
netLoadOnClientNoNet load on client for replication graph.
spatiallyLoadedNoSpatially loaded for replication graph.
useNetSerializeNoUse custom NetSerialize.
enablePredictionNoEnable client-side prediction.
isAutonomousProxyNoConfigure as autonomous proxy.
replicateMovementNoReplicate movement.
replicationPolicyNoReplication policy for replication graph.
netUpdateFrequencyNoHow often actor replicates (Hz, default 100).
correctionThresholdNoServer correction threshold.
customSerializationNoUse custom serialization.
onlyRelevantToOwnerNoOnly relevant to owner.
predictionThresholdNoPrediction threshold for client prediction.
defaultSettingsClassNoDefault replication settings class.
netServerMaxTickRateNoServer max tick rate.
networkSmoothingModeNoMovement smoothing mode.
useOwnerNetRelevancyNoUse owner relevancy.
maxInternetClientRateNoMax internet client rate.
minNetUpdateFrequencyNoMinimum update frequency when idle (Hz, default 2).
netCullDistanceSquaredNoNetwork cull distance squared.
replicatedMovementModeNoReplicated movement mode.
validationFunctionNameNoName of validation function.
locationQuantizationLevelNoLocation quantization level.
networkNoSmoothUpdateDistanceNoNo smooth update distance.
networkMaxSmoothUpdateDistanceNoMax smooth update distance.

TDQS

B3.2/5.0
Behavior2/5

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

Annotations provide no safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description adds no behavioral context such as side effects, permission requirements, or what changes are applied. 'Configure' implies mutation but gives no transparency into consequences or operational details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single, front-loaded sentence that lists key network areas without unnecessary words. It earns its place as a succinct overview, though its brevity is a drawback for other dimensions.

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

Completeness2/5

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

For a tool with 53 parameters, no output schema, and no helpful annotations, the one-sentence description is severely incomplete. It provides no sense of typical workflows, how to select the required action, or how parameters group into operations, leaving the agent without enough context to invoke the tool effectively.

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% with individual descriptions for all 53 parameters, so parameter semantics are already well-documented. The description only lists high-level topics and does not add mapping between parameters and actions, but that is not necessary given the schema's completeness.

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 uses the specific verb 'Configure' and identifies the resource as 'multiplayer' with concrete sub-domains (property replication, RPCs, authority, relevancy, prediction). This clearly signals the tool's focus and distinguishes it from sibling manage_* tools that target other systems, though it doesn't explicitly contrast with alternatives.

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

Usage Guidelines3/5

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

The intended context is implied by the tool name and description—use for multiplayer/networking setup. However, there is no explicit when-to-use or when-not-to-use guidance, nor any mention of alternative tools for overlapping concerns like control_actor or manage_game_framework.

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

manage_performanceC

Run profiling/benchmarks, configure scalability, LOD, Nanite, and optimization settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
hzbNo
typeNo
levelNo
scaleNo
actionYesAction
actorsNo
maxFPSNo
enabledNoWhether the item/feature is enabled.
lodBiasNo
verboseNo
categoryNo
cellSizeNo
detailedNo
durationNo
forceLODNo
poolSizeNo
outputPathNoOutput file or directory path.
mergeActorsNo
cacheShadersNo
skeletalBiasNo
distanceScaleNo
enableBatchingNo
compileOnDemandNo
freezeRenderingNo
enableInstancingNo
maxPixelsPerEdgeNo
streamingDistanceNo
streamingPoolSizeNo
reducePermutationsNo
boostPlayerLocationNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations only indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=false, which are uninformative (all false). The description adds no behavioral context: it does not mention whether settings changes are persistent, whether profiling requires a running editor session, whether actions like merge_actors modify the scene destructively, or what side effects may occur. With no helpful annotations, the description should disclose such traits but does not.

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?

The description is a single sentence, front-loaded with action verbs ('Run profiling/benchmarks, configure...'), and contains no unnecessary words. It is appropriately concise and readable. However, given the tool's complexity, a slightly longer structured description might add value, but this does not detract from its conciseness.

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

Completeness2/5

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

This tool has 30 parameters and 20 distinct actions, yet the description covers only a fraction of its capability. There is no output schema, and annotations are minimal. The description does not explain return values, action-specific parameter dependencies, or typical usage flows (e.g., start_profiling then stop_profiling). It is far from complete for such a complex tool.

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

Parameters2/5

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

The input schema has 30 parameters, but only 10% have descriptions (action, enabled, outputPath). The description mentions 'scalability, LOD, Nanite, and optimization settings' which loosely map to some parameters, but it does not explain the meaning or purpose of key parameters such as hzb, type, level, scale, lodBias, maxPixelsPerEdge, streamingDistance, etc. Given the low schema coverage, the description was expected to compensate, but it does not.

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 clearly states the tool's purpose: 'Run profiling/benchmarks, configure scalability, LOD, Nanite, and optimization settings.' It uses specific verbs (run, configure) and distinct resources (profiling, benchmarks, scalability, LOD, Nanite, optimizations), which differentiates it from sibling tools like manage_asset or manage_level. It is not a tautology and gives a functional overview, though it is broad and does not enumerate all 20 actions.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention any preconditions, exclusions, or scenarios where another tool would be more appropriate. For example, it does not say 'Use this for performance diagnostics; use manage_settings for general config.' This leaves the agent without explicit usage direction.

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

manage_sequenceC
Destructive

Edit Level Sequences: add tracks, bind actors, set keyframes, control playback, and record camera.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
nameNoName identifier.
pathNoAsset path (e.g., /Game/Path/Asset).
soloNo
frameNo
mutedNo
speedNo
startNo
valueNo
actionYesAction
lockedNo
newNameNoNew name for renaming.
endFrameNo
loopModeNo
metadataNo
propertyNoName of the property.
actorNameNoName of the actor.
assetPathNoAsset path (e.g., /Game/Path/Asset).
classNameNo
frameRateNo
overwriteNoOverwrite if the asset/file already exists.
spawnableNo
startTimeNo
trackNameNo
trackTypeNo
actorNamesNo
resolutionNo
startFrameNo
playbackEndNo
playbackStartNo
lengthInFramesNo
destinationPathNoDestination path for move/copy.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false. The description adds no behavioral context beyond a generic 'Edit' and a list of operations; it does not disclose side effects, destructive risks for specific actions, or prerequisites. It does not contradict annotations, but it fails to add useful context beyond what annotations already provide.

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?

The description is a single sentence, front-loaded with the core purpose, and lists key capabilities without wasted words. It is concise and readable, although a slightly more structured breakdown of action categories could improve utility without sacrificing brevity.

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

Completeness2/5

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

The tool is extremely complex (32 parameters, 32 action variants, nested objects) with no output schema. The description covers only a subset of operations and says nothing about return values, error behavior, or how actions are dispatched. It is far from complete for an agent to confidently invoke this tool.

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

Parameters2/5

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

Schema description coverage is only 28% (9 of 32 parameters have descriptions). The description mentions high-level capabilities like 'add tracks' and 'record camera' but does not map them to parameters or clarify the meaning of undocumented parameters such as 'end', 'solo', 'speed', or 'value'. With low schema coverage, the description must compensate, but it does not.

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 clearly states 'Edit Level Sequences' with a specific verb and resource, and lists concrete capabilities like add tracks, bind actors, set keyframes, control playback, and record camera. This distinguishes it from sibling tools like manage_level_structure or control_actor, though it does not enumerate the full range of actions (e.g., create, delete, metadata), so it is not a perfect 5.

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

Usage Guidelines2/5

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

The description implies use for editing level sequences but provides no explicit when-to-use or when-not-to-use guidance, no mention of prerequisites or alternatives among the many sibling tools. With 32 possible actions, there is no guidance on which action to choose for which scenario, leaving the agent with insufficient direction.

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

manage_sessionsA

Configure local multiplayer: split-screen layouts, LAN hosting/joining, voice chat channels, and push-to-talk.

ParametersJSON Schema
NameRequiredDescriptionDefault
mutedNoWhether the item is muted.
actionYesSessions action to perform.
enabledNoWhether the item/feature is enabled.
mapNameNoMap to load for hosting.
sessionIdNoSession ID.
maxPlayersNo
playerNameNoPlayer name for voice operations.
serverNameNoDisplay name for the server.
serverPortNo
bIsLANMatchNoWhether this is a LAN match.
channelNameNoName of the channel.
channelTypeNoVoice channel type.
playerIndexNo
sessionNameNoName of the session.
controllerIdNo
voiceEnabledNoEnable/disable voice chat.
bAllowInvitesNoAllow player invites.
bUsesPresenceNoUse presence for session discovery.
interfaceTypeNoType of session interface to use.
pushToTalkKeyNoKey binding for push-to-talk.
serverAddressNoServer address.
travelOptionsNoTravel URL options string.
voiceSettingsNoVoice processing settings.
serverPasswordNoServer password for protected games.
targetPlayerIdNoTarget player ID.
splitScreenTypeNoSplit-screen layout type.
bShouldAdvertiseNoAdvertise session publicly.
attenuationRadiusNoRadius for voice attenuation (Proximity chat).
pushToTalkEnabledNoEnable push-to-talk mode.
attenuationFalloffNoFalloff rate for voice attenuation.
bAllowJoinInProgressNoAllow joining games in progress.
bUseLobbiesIfAvailableNoUse lobby system if available.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already mark the tool as non-read-only, non-idempotent, and non-destructive, lowering the bar. The description adds the configurable domains but does not disclose side effects, preconditions, or failure modes (e.g., hosting a LAN server may require port availability, voice settings may affect connected clients). It is consistent with annotations, so no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single sentence front-loaded with the primary purpose ('Configure local multiplayer') followed by a colon-delimited list of feature areas. There is no filler or redundant detail, making it concise and scannable.

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

Completeness2/5

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

This is a highly complex tool with 32 parameters, 16 action enum values, nested objects, and no output schema. The one-line description is insufficient to orient an agent across the many distinct actions; it does not mention that the action parameter is the dispatcher or explain how parameters map to specific actions. The schema provides details, but the description leaves a significant gap for such broad functionality.

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 88% across 32 parameters, so the schema already provides detailed parameter meaning. The description only groups parameters thematically (split-screen, LAN, voice, PTT) without adding semantics beyond the schema. Baseline 3 is appropriate since the schema carries the burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb and resource: 'Configure local multiplayer' and then enumerates the concrete capabilities (split-screen layouts, LAN hosting/joining, voice chat channels, push-to-talk). This distinguishes it well from sibling tools like manage_audio or manage_networking by focusing on session-level multiplayer configuration.

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?

The description gives clear context for when to use this tool: when configuring local multiplayer sessions. However, it does not explicitly state when not to use it or name alternatives, so it does not reach level 5. The context is unambiguous enough to guide tool selection.

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

manage_skeletonB
Destructive

Edit skeletal meshes: add sockets, configure physics assets, set skin weights, and create morph targets.

ParametersJSON Schema
NameRequiredDescriptionDefault
massNoMass value.
saveNoSave the asset(s) after the operation.
bodyANoFirst physics body.
bodyBNoSecond physics body.
scaleNo3D scale (x, y, z).
actionYesSkeleton action to perform
deltasNoArray of {vertexIndex, delta} for morph target.
limitsNoConstraint angular limits.
weightsNoArray of {boneIndex, weight} pairs.
bodyNameNoPhysics body name.
bodyTypeNoPhysics body shape type.
boneNameNoName of the bone.
locationNo3D location (x, y, z).
rotationNo3D rotation (pitch, yaw, roll).
boneIndexNoBone index for operations.
overwriteNoOverwrite if the asset/file already exists.
thresholdNoWeight threshold for pruning (0-1).
mirrorAxisNoAxis for weight mirroring.
outputPathNoOutput file or directory path.
paintValueNoCloth weight paint value (0-1).
socketNameNoName of the socket.
mirrorTableNoBone name mapping for mirroring.
newBoneNameNoNew name for renaming.
vertexIndexNoVertex index for weight operations.
skeletonPathNoSkeleton asset path.
linearDampingNoLinear damping factor.
relativeScaleNo3D scale (x, y, z).
vertexIndicesNoArray of vertex indices.
angularDampingNoAngular damping factor.
attachBoneNameNoBone to attach to.
clothAssetPathNoPath to cloth asset.
constraintNameNoConstraint name.
parentBoneNameNoParent bone name.
sourceBoneNameNoSource bone name.
targetBoneNameNoTarget bone name.
morphTargetNameNoMorph target name.
morphTargetPathNoPath to morph target or FBX file for import.
simulatePhysicsNoEnable physics simulation.
collisionEnabledNoEnable collision for this body.
physicsAssetPathNoPath to physics asset.
relativeLocationNo3D location (x, y, z).
relativeRotationNo3D rotation (pitch, yaw, roll).
skeletalMeshPathNoSkeletal mesh path.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, which the description does not contradict. It adds that the tool edits skeletal meshes, but doesn't disclose that some actions (e.g., get_skeleton_info, list_bones) are read-only despite the global destructive hint, nor does it explain asset saving or 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/5

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

A single, front-loaded sentence covers all major action categories with no filler or repetition. It is concise and easy to parse, earning its place.

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

Completeness2/5

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

For a tool with 29 actions and 43 parameters, the description is sparse. It doesn't explain that an 'action' is required, how assets are selected, or that some operations are read-only despite the destructive hint. No output schema exists, so the agent receives no guidance on return values or operation flows.

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 all 43 parameters have individual descriptions. The tool description adds no parameter-level meaning, but the baseline of 3 applies because the schema fully documents each parameter.

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 clearly states the tool's function: 'Edit skeletal meshes' and lists specific capabilities (add sockets, configure physics assets, set skin weights, create morph targets). This distinguishes it from generic tools like manage_asset, though it doesn't explicitly name alternatives.

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

Usage Guidelines3/5

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

The description implies usage when editing skeletal meshes, but provides no explicit when-to-use vs alternatives, no exclusions, and no prerequisites. The context signals show siblings like manage_asset and animation_physics, making the lack of guidance a gap.

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

manage_splinesC
Destructive

Create spline actors, add/modify points, attach meshes along splines, and query spline data.

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNoSave the asset(s) after the operation.
scaleNoScale for spline actor.
widthNoWidth value.
actionYesSpline action to perform
endPosNoEnd position for spline mesh segment.
filterNoGeneral search filter.
pointsNoArray of spline points for batch creation.
endRollNoRoll angle at spline mesh end (radians).
spacingNoDistance between scattered meshes.
tangentNoUnified tangent (sets both arrive and leave).
endScaleNoX/Y scale at spline mesh end.
locationNoLocation for spline actor.
meshPathNoMesh asset path.
positionNoPosition for spline point.
rotationNoRotation for spline actor.
scaleMaxNoMaximum random scale multiplier.
scaleMinNoMinimum random scale multiplier.
startPosNoStart position for spline mesh segment.
actorNameNoName of the actor.
actorPathNoPath to actor.
endOffsetNoOffset from spline end for last mesh.
startRollNoRoll angle at spline mesh start (radians).
cableSlackNoSlack/sag amount for cable template.
endTangentNoEnd tangent for spline mesh segment.
pipeRadiusNoRadius for pipe template.
pointIndexNoIndex of spline point to modify.
pointScaleNoScale at spline point.
railHeightNoHeight of fence rails.
randomSeedNoSeed for randomization (for reproducible results).
splineNameNoName of spline component.
splineTypeNoType of spline interpolation.
startScaleNoX/Y scale at spline mesh start.
bClosedLoopNoWhether spline forms a closed loop.
forwardAxisNoForward axis for spline mesh deformation.
postSpacingNoSpacing between fence posts.
startOffsetNoOffset from spline start for first mesh.
leaveTangentNoLeave tangent for spline point (outgoing direction).
materialPathNoMaterial asset path.
startTangentNoStart tangent for spline mesh segment.
templateTypeNoType of spline template to create.
arriveTangentNoArrive tangent for spline point (incoming direction).
bUpdateSplineNoUpdate spline after modification (default: true).
blueprintPathNoBlueprint asset path.
componentNameNoName of the component.
pointRotationNoRotation at spline point.
segmentLengthNoLength of mesh segments for deformation.
bAlignToSplineNoAlign scattered meshes to spline direction.
bRandomizeScaleNoApply random scale to scattered meshes.
coordinateSpaceNoCoordinate space for position/tangent values (default: Local).
bRandomizeRotationNoApply random rotation to scattered meshes.
rotationRandomRangeNoRandom rotation range (degrees).
bSmoothInterpRollScaleNoUse smooth interpolation for roll/scale.

TDQS

C2.9/5.0
Behavior2/5

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

The annotations already indicate destructive behavior (destructiveHint=true) and non-read-only (readOnlyHint=false). The description adds no additional behavioral context such as persistence requirements (e.g., save parameter), irreversibility, or dependencies between actions, only restating high-level capability categories.

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?

The description is a single concise sentence with no redundant words, making it efficient. However, given the tool's complexity (21 actions, 52 parameters), the brevity borders on under-specification, but it still earns points for being tight and front-loaded with capability verbs.

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

Completeness2/5

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

The tool is highly complex with 21 actions and 52 parameters, yet the description provides only a high-level summary. It doesn't explain the action dispatch pattern, template types, or how parameters map to actions. Without an output schema, this is insufficient for an agent to correctly invoke the tool without deep schema inspection.

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?

The input schema has 100% description coverage for all 52 parameters. The tool description does not add any parameter-specific details beyond the schema, such as how parameters relate to actions, but the schema already handles param semantics, so the baseline score of 3 is appropriate.

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 uses specific verbs (create, add/modify, attach, query) and clearly identifies the spline resource, distinguishing it from other manage_* tools. However, it doesn't enumerate the 21 actionable operations or explicitly differentiate the various capabilities, so it's clear but not fully distinctive.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives. The description simply lists operations without context on selecting a specific action, prerequisites, or trade-offs, making it purely descriptive with no usage direction.

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

manage_tasksA

Async task queue for long-running operations. Submit tool calls for background execution, poll status, retrieve results. Use for operations that may take 30+ seconds (landscape sculpting, asset imports, blueprint compilation). Actions: submit (queue a tool call), status (check progress), result (get output), list (show all tasks), cancel (abort task), cleanup (remove old tasks).

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoArguments object to pass to the target tool (for submit action)
actionYessubmit: queue a tool for async execution. status: check task progress. result: get completed task output. list: show all tasks. cancel: abort a pending/running task. cleanup: remove old completed tasks.
task_idNoTask ID to query (for status, result, cancel actions)
tool_nameNoTarget tool name to execute (for submit action, e.g. build_environment, manage_asset)
status_filterNoFilter tasks by status (for list action)
target_actionNoAction to pass to the target tool (for submit action, e.g. sculpt_landscape, import)
max_age_secondsNoMax age in seconds for cleanup (default 300). Tasks older than this are removed (for cleanup action).

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses core asynchronous behaviors: background execution, polling, result retrieval, cancellation, and cleanup. However, it omits details about the submit response (e.g., it returns a task_id) and error handling, which are relevant for a queue tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is compact—two sentences plus a concise action list—and front-loads the core purpose. Every sentence contributes meaning, and the structure is easy to scan.

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

Completeness3/5

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

The description explains the overall workflow but misses the critical link that submitting a task returns a task_id for use with status/result/cancel. The schema mentions task_id for queries but not its origin in the submit response. Given the tool's multi-action complexity, this gap leaves a user uncertain about how to chain actions.

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?

The input schema has 100% coverage with descriptions for all 7 parameters, so the baseline is 3. The description repeats the action names but adds only marginal context (e.g., 'submit: queue a tool call') without providing new parameter-level semantics beyond the schema's own examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as an async task queue for long-running operations, with a specific list of actions (submit, status, result, list, cancel, cleanup). It distinguishes itself from sibling manage_* tools by focusing on task management rather than specific asset types.

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?

The description provides explicit usage context: 'Use for operations that may take 30+ seconds (landscape sculpting, asset imports, blueprint compilation).' It does not explicitly name alternative tools or when not to use, but the timing guidance gives clear context for choosing this tool over synchronous execution.

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

manage_testsA
Idempotent

Run and manage UE Automation Tests. Actions: list_tests (discover available tests), run_test (execute a specific test by name), run_all_tests (execute all automation tests), run_tests_by_filter (run tests matching a filter pattern), get_test_results (get the latest test report).

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesThe test action to execute
filterNo[list_tests, run_tests_by_filter] Filter pattern to match test names
test_nameNo[run_test] Full test name (e.g., Project.Gameplay.Character.Movement)

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=true, covering basic safety. The description adds minimal behavioral context beyond that, such as 'get the latest test report' implying results are stored. It does not disclose potential side effects (e.g., resource consumption, need for a running editor), but it does not contradict 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.

Conciseness5/5

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

The description is a single concise sentence that front-loads the purpose and then lists actions with brief parenthetical explanations. Every element earns its place; no wasted words or redundancy.

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?

The tool has moderate complexity with five actions, and the description covers all of them with short glosses. It lacks an output schema, but the description does not need to explain return formats. It could mention prerequisites (e.g., tests must be compiled) or result handling, but given the schema and annotations, the description is reasonably complete for selecting and invoking actions.

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

Parameters4/5

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

The input schema covers parameter names and some descriptions (100% coverage), but the action parameter's schema description ('The test action to execute') is generic. The tool description adds value by explaining each action's purpose (e.g., 'discover available tests' for list_tests), enriching the enum semantics. It does not add much for filter and test_name, but the schema descriptions for those are already clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Run and manage UE Automation Tests.' It uses a specific verb ('run and manage') and resource ('UE Automation Tests'), and enumerates distinct actions (list_tests, run_test, etc.) that differentiate it from sibling tools like manage_asset or manage_blueprint, which target other domains.

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?

The description provides clear context by listing actions and their brief explanations, implying when each action is appropriate (e.g., 'discover available tests' for list_tests). However, it does not explicitly name alternatives or state when not to use the tool, but the sibling tools are sufficiently distinct that no explicit exclusion is necessary.

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

manage_textureC

Create procedural textures, process images, bake normal/AO maps, and set compression settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
hdrNoCreate HDR texture (16-bit float).
biasNoAO bias to prevent self-occlusion.
nameNoName identifier.
pathNoDirectory path for asset creation.
saveNoSave the asset(s) after the operation.
seedNoRandom seed for procedural generation.
angleNoAngle in degrees.
flipYNoFlip green channel for DirectX/OpenGL compatibility.
gammaNoGamma correction value.
scaleNoNoise scale/frequency.
widthNoWidth value.
actionYesTexture action to perform
amountNoEffect amount (0-1 for desaturate).
heightNoHeight value.
methodNoDesaturation method.
offsetNoBrick offset ratio (0-1).
radiusNoRadius value.
tilesXNoNumber of pattern tiles horizontally.
tilesYNoNumber of pattern tiles vertically.
centerXNoCenter X position (0-1) for radial gradient.
centerYNoCenter Y position (0-1) for radial gradient.
channelNoTarget channel.
lodBiasNoLOD bias (-2 to 4, lower = higher quality).
octavesNoNumber of noise octaves for FBM.
opacityNoBlend opacity (0-1).
samplesNoNumber of AO samples.
blurTypeNoType of blur.
endColorNoEnd color {r, g, b, a}.
meshPathNoMesh asset path.
newWidthNoNew width for resize operation.
seamlessNoGenerate seamless/tileable texture.
strengthNoStrength or weight.
tileSizeNoVirtual texture tile size (32, 64, 128, 256, 512, 1024).
algorithmNoNormal calculation algorithm.
assetPathNoAsset path (e.g., /Game/Path/Asset).
blendModeNoBlend mode for combining textures.
lineWidthNoLine width for grid/stripes (0-1).
newHeightNoNew height for resize operation.
noiseTypeNoType of noise to generate.
uvChannelNoUV channel to use for baking.
brickRatioNoWidth/height ratio for brick pattern.
colorStopsNoArray of {position, color} for multi-color gradients.
lacunarityNoFrequency multiplier per octave.
outputPathNoOutput file or directory path.
redChannelNoSource texture for red channel.
startColorNoStart color {r, g, b, a}.
baseTextureNoBase texture path for combining.
blueChannelNoSource texture for blue channel.
curvePointsNoArray of {x, y} curve control points.
invertAlphaNoWhether to invert alpha channel.
maskTextureNoOptional mask texture for blending.
neverStreamNoDisable texture streaming.
patternTypeNoType of pattern.
persistenceNoAmplitude falloff per octave.
rayDistanceNoMaximum ray distance for AO.
sharpenTypeNoType of sharpening.
alphaChannelNoSource texture for alpha channel.
blendTextureNoBlend texture path for combining.
filterMethodNoResize filter method.
gradientTypeNoType of gradient.
greenChannelNoSource texture for green channel.
primaryColorNoPrimary pattern color {r, g, b, a}.
textureGroupNoTexture group (TEXTUREGROUP_World, TEXTUREGROUP_Character, TEXTUREGROUP_UI, etc.).
sourceTextureNoSource height map texture path.
preserveAspectNoPreserve aspect ratio when resizing.
secondaryColorNoSecondary pattern color {r, g, b, a}.
tileBorderSizeNoVirtual texture tile border size.
inputBlackPointNoInput black point (0-1).
inputWhitePointNoInput white point (0-1).
outputBlackPointNoOutput black point (0-1).
outputWhitePointNoOutput white point (0-1).
redSourceChannelNoWhich channel to use from red source.
blueSourceChannelNoWhich channel to use from blue source.
outputAsGrayscaleNoOutput extracted channel as grayscale.
streamingPriorityNoStreaming priority (-1 to 1, lower = higher priority).
alphaSourceChannelNoWhich channel to use from alpha source.
greenSourceChannelNoWhich channel to use from green source.
compressionSettingsNoTexture compression setting.
virtualTextureStreamingNoEnable virtual texture streaming.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations provide no useful behavioral signals (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description mentions mutating actions like 'create', 'bake', and 'set' but does not disclose potential side effects such as overwriting assets, required permissions, or whether operations are reversible. It does not contradict the annotations, but it also adds no behavioral context beyond a generic action summary.

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?

The description is a single, front-loaded sentence that succinctly captures the main categories. It is concise and free of fluff. However, given the tool's complexity, the brevity verges on under-specification, though it still earns credit for efficient structure.

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

Completeness2/5

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

This is a highly complex tool (79 parameters, 21 actions, no output schema). The description barely scratches the surface, providing no information about action-specific parameter requirements, return values, or usage patterns. The tool's mechanics (e.g., that a required 'action' dispatches to different operations) are not even hinted at in the description, making it inadequate for reliable agent use.

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%, so the input schema already documents all 79 parameters. The description adds a high-level category summary but does not clarify how parameters relate to specific actions or which parameters are relevant for which sub-operation. Since the schema carries the full parameter burden, the baseline of 3 is appropriate.

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 clearly states the tool's main capabilities with specific verbs: 'Create procedural textures, process images, bake normal/AO maps, and set compression settings.' This distinguishes it from sibling tools like manage_material_authoring or manage_asset. However, it omits some significant functionality exposed by the action enum (e.g., channel packing, texture groups, streaming), making it slightly incomplete for the full scope.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives, nor does it explain that the 'action' parameter determines which sub-operation to invoke. For a tool with 21 distinct actions and 79 parameters, the lack of usage context (e.g., 'use create_noise_texture for procedural generation') is a serious gap.

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

manage_toolsA
Idempotent

Dynamic MCP tool management. Enable/disable tools and categories at runtime. Actions: list_tools, list_categories, enable_tools, disable_tools, enable_category, disable_category, get_status, reset.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolsNoTool names to enable/disable
actionYeslist_tools: show all tools with status. list_categories: show categories. enable/disable_tools: toggle specific tools. enable/disable_category: toggle category. get_status: current state. reset: restore defaults.
categoryNoCategory name to enable/disable (core, world, authoring, gameplay, utility)

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already indicate idempotent, non-destructive, and non-read-only behavior. The description adds that operations happen 'at runtime' and lists actions, but it does not disclose potential side effects such as persistence, impact on active tool calls, or what 'reset' fully restores.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is concise, front-loaded with the tool's purpose, and the action list is an efficient overview. No filler or redundant detail.

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

Completeness3/5

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

The schema covers all parameters and provides action-level descriptions, but the description omits important management semantics such as conditional requirements (e.g., category needed for category actions) and consequences of reset or disabling. Given the tool's mutation capabilities, this leaves notable gaps.

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%, with each parameter described including detailed enum values for action. The description's action list adds no information beyond what the schema already provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific purpose: dynamic management of MCP tools and categories with enable/disable actions. It clearly differentiates from sibling manage_* tools by identifying its resource as the MCP tools themselves rather than game assets or systems.

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?

The description provides clear context: use this tool for runtime enable/disable of tools and categories. It does not explicitly mention alternatives or exclusions, but the resource and action list make the intended usage apparent.

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

manage_volumesC
Destructive

Create trigger volumes, blocking volumes, physics volumes, audio volumes, and navigation bounds.

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNoSave the asset(s) after the operation.
actionYesVolume action to perform
extentNoExtent (half-size) of the volume in each axis.
filterNoGeneral search filter.
bEnabledNoWhether the audio volume is enabled.
bUnboundNoWhether post process volume affects entire world.
fadeTimeNoFade time in seconds.
locationNoWorld location for the volume.
priorityNoPriority value.
rotationNoRotation of the volume.
actorPathNoPath to actor.
areaClassNoNavigation area class path.
boxExtentNoExtent for box trigger volumes.
damageTypeNoDamage type class path for pain volumes.
propertiesNoAdditional volume-specific properties as key-value pairs.
volumeNameNoName of the volume.
volumePathNoPath to volume.
volumeTypeNoType filter for get_volumes_info (e.g., "Trigger", "Physics").
blendRadiusNoBlend radius for post process volume.
blendWeightNoBlend weight (0.0-1.0) for post process.
bPainCausingNoWhether the volume causes pain/damage.
bWaterVolumeNoWhether this is a water volume.
damagePerSecNoDamage per second for pain volumes.
reverbEffectNoReverb effect asset path.
reverbVolumeNoVolume level for reverb (0.0-1.0).
sphereRadiusNoRadius for sphere trigger volumes.
capsuleRadiusNoRadius for capsule trigger volumes.
cullDistancesNoArray of size/distance pairs for cull distance volumes.
fluidFrictionNoFluid friction for physics volumes.
bDynamicModifierNoWhether nav modifier updates dynamically.
terminalVelocityNoTerminal velocity in the volume.
capsuleHalfHeightNoHalf-height for capsule trigger volumes.

TDQS

C2.9/5.0
Behavior2/5

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

The description does not disclose any behavior beyond what annotations already signal; it omits destructive actions like remove_volume and set_volume_properties, despite destructiveHint=true. There is no mention of side effects, permissions, or world modifications. It adds no behavioral context, so a 2 is appropriate.

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?

The description is a concise single sentence with no fluff, front-loading the action 'Create' and enumerating volume types. However, the conciseness comes at the cost of omitting the action enum and important scope, so it isn't a model of effective brevity; a 4 balances its tightness with incompleteness.

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

Completeness2/5

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

With 32 parameters, a 28-value action enum, and no output schema, a one-sentence description is severely under-specified. It doesn't explain the different action families (create/add/set/remove/get), any workflow or prerequisites, or the nature of 'navigation bounds'. The description is inadequate for the tool's complexity, hence a 2.

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?

All 32 parameters have descriptions in the schema, so the baseline is 3. The tool description contributes no parameter-level meaning—it doesn't mention how 'extent', 'location', or 'volumeType' relate to the actions. Since the schema carries the parameter semantics fully, a 3 is fair.

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 names the specific resource (volumes) and lists five concrete volume types (trigger, blocking, physics, audio, navigation bounds) with the verb 'Create', which distinguishes it from sibling manage_* tools. However, the description emphasizes only create while the schema's action enum includes add, set, remove, and get actions, so it underrepresents the tool's full purpose. This prevents a 5 and results in a 4.

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

Usage Guidelines2/5

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

No usage context, prerequisites, or alternative tool guidance is provided; the description is a single sentence listing volume types. Sibling tools like manage_navigation could plausibly handle navigation bounds, but no differentiation is made. This earns a 2 because there is essentially no when-to-use/not-to-use guidance.

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

manage_widget_authoringB

Create UMG widgets: buttons, text, images, sliders. Configure layouts, bindings, animations. Build HUDs and menus.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNoTop padding.
fontNoFont asset path.
leftNoLeft padding.
nameNoName identifier.
textNoText content.
timeNoKeyframe time.
angleNoAngle in degrees.
brushNoBrush asset path.
colorNoWidget color.
deltaNoSpinbox increment.
pivotNoRotation/scale pivot.
rightNoRight padding.
scaleNoRender scale.
shearNoRender shear.
sizeXNoWidth.
sizeYNoHeight.
styleNoStyle preset name.
valueNoSlider/spinbox value.
actionYesThe widget authoring action to perform.
bottomNoBottom padding.
folderNoPath to a directory.
lengthNoAnimation length in seconds.
zOrderNoZ-order for canvas slot.
opacityNoWidget opacity (0-1).
optionsNoCombo box options.
paddingNoUniform padding.
percentNoProgress bar percentage (0-1).
stretchNoScale box stretch mode.
ammoIconNoAmmo icon texture.
autoWrapNoEnable text auto-wrap.
barColorNoBar color.
barStyleNoHealth bar style.
clippingNoWidget clipping mode.
elementsNoHUD elements to include.
fadeTimeNoFade time in seconds.
fontSizeNoFont size.
gridSizeNoInventory grid size.
hintTextNoPlaceholder hint text.
maxValueNoMaximum value.
minValueNoMinimum value.
playModeNoAnimation play mode.
rowCountNoNumber of rows.
slotNameNoName of the slot.
slotSizeNoInventory slot size.
stepSizeNoValue step size.
alignmentNoWidget alignment (0-1).
ammoStyleNoAmmo counter style.
anchorMaxNoMaximum anchor point (0-1).
anchorMinNoMinimum anchor point (0-1).
brushSizeNoBrush/image size.
inputTypeNoText input type.
isCheckedNoCheckbox checked state.
isEnabledNoWidget enabled state.
isMarqueeNoProgress bar marquee mode.
loopCountNoNumber of loops (-1 for infinite).
positionXNoX position.
positionYNoY position.
showIconsNoShow icons in radial menu.
titleTextNoMenu title text.
trackTypeNoAnimation track type.
wrapWidthNoWrap width for wrap box.
alignmentXNoHorizontal alignment (0-1).
alignmentYNoVertical alignment (0-1).
brushColorNoBorder brush color.
isPasswordNoPassword masking.
parentSlotNoParent slot to add widget to.
showLabelsNoShow labels in radial menu.
visibilityNoWidget visibility state.
widgetPathNoWidget blueprint path.
barFillTypeNoProgress bar fill direction.
bindingTypeNoBinding type.
brushTilingNoImage tiling mode.
columnCountNoNumber of columns.
customWidthNoCustom preview width.
innerRadiusNoInner radius of radial menu.
minimapSizeNoMinimap size.
orientationNoWidget orientation.
outerRadiusNoOuter radius of radial menu.
parentClassNoPath or name of the parent class.
previewSizeNoPreview resolution preset.
showDegreesNoShow compass degrees.
showDetailsNoShow item details panel.
showKeyIconNoShow key icon in prompt.
showNumbersNoShow numeric values.
showReserveNoShow reserve ammo.
slotPaddingNoPadding between slots.
texturePathNoTexture asset path.
translationNoRender translation.
choiceLayoutNoDialog choice layout.
customHeightNoCustom preview height.
functionNameNoName of the function.
keyIconStyleNoKey icon style.
minimapShapeNoMinimap shape.
promptFormatNoInteraction prompt format.
propertyNameNoName of the property.
segmentCountNoNumber of radial segments.
settingsTypeNoSettings menu type.
showPortraitNoShow speaker portrait.
showProgressNoShow objective progress.
animationNameNoAnimation name.
bindingSourceNoVariable or function name to bind to.
crosshairSizeNoCrosshair size.
interpolationNoKeyframe interpolation.
justificationNoText justification.
selectionModeNoSelection mode for list/tree.
showCardinalsNoShow cardinal directions.
showEquipmentNoShow equipment panel.
sizeToContentNoSize to content.
widthOverrideNoWidth override for size box.
animateUpdatesNoAnimate objective updates.
crosshairStyleNoCrosshair style.
heightOverrideNoHeight override for size box.
includeTipTextNoInclude tip text.
indicatorStyleNoDamage indicator style.
selectedOptionNoSelected combo box option.
showObjectivesNoShow objectives on minimap.
backgroundImageNoBackground image path.
colorAndOpacityNoColor and opacity (0-1 values).
minDesiredWidthNoMinimum desired width.
showSpeakerNameNoShow speaker name.
entryWidgetClassNoList/tree view entry widget class.
innerSlotPaddingNoInner slot padding.
minDesiredHeightNoMinimum desired height.
rotateWithPlayerNoRotate minimap with player.
spreadMultiplierNoCrosshair spread multiplier.
stretchDirectionNoScale box stretch direction.
explicitWrapWidthNoUse explicit wrap width.
includePlayButtonNoInclude play button in menu.
includeQuitButtonNoInclude quit button.
onHoveredFunctionNoFunction to call on hover.
verticalAlignmentNoVertical alignment.
includeApplyButtonNoInclude apply button.
includeProgressBarNoInclude progress bar.
includeResetButtonNoInclude reset button.
userSpecifiedScaleNoUser specified scale value.
alwaysShowScrollbarNoAlways show scrollbar.
fillColorAndOpacityNoFill color for progress bar.
horizontalAlignmentNoHorizontal alignment.
includeResumeButtonNoInclude resume button.
minDesiredSlotWidthNoMinimum slot width.
onUnhoveredFunctionNoFunction to call on unhover.
scrollBarVisibilityNoScroll bar visibility.
maxVisibleObjectivesNoMaximum visible objectives.
minDesiredSlotHeightNoMinimum slot height.
includeSettingsButtonNoInclude settings button.
includeBackgroundImageNoInclude background image.
includeQuitToMenuButtonNoInclude quit to menu button.

TDQS

B3.1/5.0
Behavior2/5

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

Annotations indicate readOnlyHint=false, destructiveHint=false, idempotentHint=false, but the description adds no behavioral details such as side effects on widget blueprints or consequences of actions. It merely restates the purpose without context.

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?

The description is brief and front-loaded with the primary purpose, using two sentences. However, it is too terse for the tool's complexity, omitting the critical action parameter and the breadth of operations.

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

Completeness2/5

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

Given the 147-parameter schema, many actions, and no output schema, the description is severely under-specified. It does not explain the action-driven nature of the tool or provide any operational context that the schema alone cannot convey.

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?

All 147 parameters have schema descriptions, giving high coverage. The description groups some parameters by concept (layouts, bindings, animations) but does not add meaning beyond the schema, such as what parameters are required for each action.

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 uses specific verbs (Create, Configure, Build) and identifies UMG widgets as the resource, listing common widget types. However, it does not distinguish this tool from siblings like manage_blueprint or manage_asset, and it omits the action parameter that drives the tool.

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

Usage Guidelines3/5

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

The description implies usage for widget authoring tasks but provides no explicit guidance on when to prefer this over sibling tools like manage_asset or manage_blueprint. No exclusions or alternative recommendations are given.

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

observeB

Runtime observability and playtest feedback. Start PIE playtests, capture snapshots at intervals, query logs, correlate events, and generate structured reports. Actions: query_logs, get_log_summary, start_playtest, capture_snapshot, stop_playtest, get_playtest_report, run_scenario, get_runtime_state.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of log entries to return (default: 50)
labelNoLabel for the playtest session or scenario
sinceNoISO timestamp — only return logs after this time
actionYesrun_scenario automates: start PIE → capture snapshots at intervals → stop → report. query_logs reads from disk log and internal buffer.
statusNoFinal status when stopping playtest
categoryNoLog category filter (partial match)
durationNoScenario duration in seconds (default: 10)
intervalNoSnapshot capture interval in seconds (default: 3)
severityNoMinimum severity filter for logs

TDQS

B3.4/5.0
Behavior3/5

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

Annotations are all false, so the description carries the burden. It discloses mutating actions like 'Start PIE playtests' and 'stop_playtest', but does not mention side effects, reversibility, or state changes beyond starting/stopping. The description gives some behavioral context but lacks details on consequences or prerequisites.

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?

The description is two sentences, front-loaded with the core purpose. The explicit action list is somewhat redundant with the schema's enum but is concise and gives a quick overview of capabilities without unnecessary elaboration.

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

Completeness3/5

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

The description is a high-level overview but lacks workflow guidance—for example, that start_playtest should precede capture_snapshot or that run_scenario automates the full sequence. With no output schema, return values are not described, leaving some context incomplete, though parameter-level details are well-covered in the schema.

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?

All 9 parameters have descriptions in the input schema (100% coverage), so the description doesn't need to explain individual params. The description only repeats the action enum names, which is already in the schema, adding no extra semantic value beyond what the schema provides.

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 clearly states 'Runtime observability and playtest feedback' and enumerates concrete actions like query_logs, start_playtest, and capture_snapshot, which gives a specific sense of the tool's scope. It focuses on PIE playtests, distinguishing it somewhat from broader observability tools, though it doesn't explicitly differentiate from siblings.

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

Usage Guidelines3/5

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

The action list implies when to use the tool (e.g., start_playtest for playtesting sessions), but there is no explicit guidance about when to prefer this tool over siblings like 'inspect' or 'manage_performance'. It provides a catalog of actions without preconditions or alternatives.

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

source_controlA

Source control integration. Git-backed by default, with a provider-agnostic interface for future Perforce support. Actions: status, checkpoint (commit), revert, changed_since, lock, unlock, change_summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd ref for change_summary
refNoGit ref / commit hash for revert and changed_since
fromNoStart ref for change_summary
pathNoAsset path for lock/unlock
pathsNoSpecific paths to commit (default: all changes)
actionYesstatus: branch/dirty state. checkpoint: commit. revert: undo to ref. changed_since: files changed since ref. lock/unlock: asset locking. change_summary: LLM-readable diff.
messageNoCommit message for checkpoint action

TDQS

A3.5/5.0
Behavior3/5

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

The description adds behavioral context by noting it is Git-backed and provider-agnostic, which is helpful beyond the annotations. However, it does not disclose potential side effects of actions like revert (though the destructiveHint annotation is false), nor does it explain operational details like locking semantics. The annotations already cover the read/write nature, so this is acceptable but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is two sentences long, front-loads the tool's purpose, and lists actions in a compact, scannable manner. Every sentence earns its place without unnecessary verbosity.

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

Completeness3/5

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

The tool is complex with 7 parameters and 7 distinct actions, but the description only provides a high-level summary. While the schema enriches each parameter and action, the description does not clarify how actions interrelate, prerequisites, or return values (no output schema exists). It is adequate but not complete for an agent to fully understand the tool's capabilities.

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?

With 100% schema description coverage, the schema already documents all parameters in detail (e.g., action enum descriptions, ref for revert/changed_since, paths for commits). The tool description adds no additional parameter semantics beyond what the schema provides.

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 clearly identifies the tool as a source control integration and lists the specific actions it supports (status, checkpoint, revert, etc.), which makes its purpose concrete. However, it does not explicitly distinguish itself from the sibling 'checkpoint' tool, which could cause confusion for the agent.

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

Usage Guidelines3/5

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

The description implies usage for source control operations by listing the available actions, but it does not provide explicit guidance on when to use this tool versus alternatives like the 'checkpoint' sibling. No exclusions or preconditions are mentioned, such as requiring a git repository.

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

system_controlC
Destructive

Run profiling, set quality/CVars, execute console commands, run UBT, manage widgets, and execute scripts (Python, console batch, editor utility).

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNo
levelNo
valueNo
actionYesAction
filterNo
targetNo
commandNo
dry_runNoIf true, validate the script without executing it (for execute_script action).
enabledNoWhether the item/feature is enabled.
sectionNo
categoryNo
channelsNo
platformNo
argumentsNo
childClassNo
configNameNo
parentNameNo
resolutionNoResolution setting (e.g., 1024x1024).
widgetPathNoWidget blueprint path.
profileTypeNo
script_nameNoOptional friendly name for the script (for logging/history).
script_typeNoType of script to execute (for execute_script action). python: Execute Python script via editor Python plugin. console_batch: Execute multiple console commands separated by newlines. editor_utility: Run an Editor Utility Blueprint/Widget by asset path.
configurationNo
script_contentNoThe script code to execute, or asset path for editor_utility type (for execute_script action).
timeout_secondsNoExecution timeout in seconds (default: 30, max: 300).

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already indicate destructive behavior (destructiveHint=true, readOnlyHint=false), but the description adds no further behavioral context. It does not disclose potential side effects (e.g., executing arbitrary scripts, changing project settings, affecting the editor state) or any safety considerations. It merely restates action categories.

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?

The description is a single sentence that efficiently enumerates six function areas. It is concise and front-loaded with the main actions, avoiding unnecessary detail. However, it is a simple list rather than structured guidance, so it gets a 4 rather than 5.

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

Completeness2/5

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

For a tool with 25 parameters, multiple action types, and no output schema, this description is far from complete. It does not clarify how to construct a valid request, which parameters apply to which actions, or what to expect in response. The broad list of capabilities is insufficient for correct invocation, especially for niche actions like 'spawn_category' or 'lumen_update_scene'.

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

Parameters2/5

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

Schemas coverage is low (36%), so the description must compensate. It only hints at script types (Python, console batch, editor utility) and CVars, but does not explain key parameters like 'key', 'level', 'value', 'filter', or how they relate to specific actions. The description adds minimal semantic value beyond the schema.

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 explicitly lists a range of actions (profiling, quality/CVars, console commands, UBT, widgets, scripts), which clearly indicates what the tool can do. However, it does not differentiate from sibling tools like manage_performance or manage_widget_authoring, which may overlap, so it is not a 5.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or fallback tools. The description simply lists capabilities without context on selection, so it offers no usage direction.

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

validateB
Read-onlyIdempotent

Assertion and validation tools. Run structured checks that return pass/fail with diagnostics, affected assets, and suggested next actions. Actions: assert_blueprint_compiles, assert_map_clean, assert_no_missing_references, assert_naming_conventions, assert_performance_budget, run_validation_suite, get_validation_report, set_acceptance_criteria, get_acceptance_criteria.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoAsset path to scan (default: /Game)
genreNoGame genre (e.g., top-down-shooter, survival, platformer)
actionYesAssertion to run. run_validation_suite runs all assertions. set_acceptance_criteria defines the project design contract (genre, perf budget, naming rules).
cameraNoCamera style (e.g., orthographic-top-down, third-person)
replaceNoIf true, replace all acceptance criteria instead of merging
platformsNoTarget platforms (Win64, Linux, Mac, etc.)
targetFpsNoTarget FPS for performance budget (default: 60)
constraintsNoHard constraints (e.g., "No marketplace content")
maxMemoryMbNoMax memory budget in MB
blueprintPathNoBlueprint path for assert_blueprint_compiles
namingConventionsNo{ blueprintPrefix, materialPrefix, texturePrefix, ... }
performanceBudgetNo{ targetFps, maxMemoryMb, maxDrawCalls, maxTriangleCount }

TDQS

B3.3/5.0
Behavior1/5

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

There is a clear contradiction: the annotations declare readOnlyHint=true, but the description lists 'set_acceptance_criteria' as one of the actions, which semantically is a write operation. The description adds some behavioral detail (return pass/fail with diagnostics) but this is overshadowed by the conflict, making the transparency score minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is concise and well-structured: the first sentence gives the general purpose, and the second sentence lists all actions compactly. No wasted words, and it is front-loaded with the most important information.

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

Completeness3/5

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

The tool has 12 parameters and no output schema, so the description's mention of return format (pass/fail with diagnostics, affected assets, suggested next actions) is helpful. However, it fails to address the mutating nature of set_acceptance_criteria, lacks categorization of the actions, and the contradiction with annotations leaves gaps in understanding the tool's full behavioral contract.

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%, so the baseline is 3. The description does not add any parameter-related semantics beyond what the schema's 'action' property already explains (e.g., run_validation_suite runs all assertions, set_acceptance_criteria defines the design contract). Therefore, the description adds no extra value for parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb and resource: 'Assertion and validation tools. Run structured checks that return pass/fail with diagnostics, affected assets, and suggested next actions.' It also enumerates distinct actions (assert_*, get_*, set_*), which differentiates it from sibling tools like inspect or observe.

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

Usage Guidelines3/5

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

The description implies usage (run structured checks for validation) and lists action types, but it does not explicitly state when to use this tool versus alternatives such as 'inspect' or 'observe', nor does it mention any exclusions or prerequisites. No direct guidance is provided for choosing among the various assert actions.

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

workflowB

Composite workflow tool that chains multiple operations into high-level workflows. Actions: level_performance_audit (comprehensive level analysis with scene stats, actor summary, perf capture, lighting status, and recommendations), blueprint_health_check (analyze a blueprint for compilation issues, graph complexity, and general health), scene_populate (fill a bounding box with randomized static mesh actors), quick_test (smoke test the current level: info, actors, PIE, viewport capture).

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo[scene_populate] Number of actors to place (default: 10, max: 500).
actionYesThe workflow to execute. level_performance_audit: comprehensive level audit. blueprint_health_check: inspect and compile a blueprint. scene_populate: fill an area with actors. quick_test: smoke test the current level.
extentNo[scene_populate] Half-extents [x, y, z] of the bounding box.
originNo[scene_populate] Center point [x, y, z] of the area to populate.
asset_pathsNo[scene_populate] Array of static mesh asset paths to use (cycled through).
blueprint_nameNo[blueprint_health_check] Name of the blueprint to analyze.
random_rotationNo[scene_populate] Apply random Y-axis rotation to placed actors (default: true).
random_scale_rangeNo[scene_populate] Uniform scale range [min, max] for random scaling (default: [0.8, 1.2]).

TDQS

B3.4/5.0
Behavior3/5

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

Annotations are all false, leaving the description to carry the burden. It partially discloses behavior by naming actions (e.g., scene_populate creates actors, quick_test runs a smoke test) and listing outputs. However, it omits side effects, reversibility, permissions, or transactional behavior for a tool that can chain multiple operations, leaving destructive implications unclear.

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?

The description is well-structured with a clear lead-in and enumerated actions, each earning its place. It is somewhat redundant with the schema's action descriptions but remains compact and scannable.

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

Completeness3/5

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

With 8 parameters, no output schema, and no annotations, the description gives the core action catalog but lacks guidance on prerequisites, how to construct composite workflows, and expected return formats. It's sufficient for understanding individual actions but incomplete for fully driving the tool.

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%, so the baseline is 3. The description adds little parameter-level meaning beyond what the schema already provides; its action summaries align with the enum but don't explain parameter syntax or constraints beyond the schema.

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 clearly states the tool is a composite workflow tool that chains operations, and enumerates four distinct actions with concise summaries. It differentiates from sibling tools by emphasizing high-level composition, though it doesn't explicitly contrast with specific siblings.

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

Usage Guidelines3/5

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

The description implies usage for high-level chained workflows but provides no explicit when-to-use guidance, exclusions, or preferred alternatives. The phrase 'chains multiple operations' hints at composition, but the agent isn't told when to choose this over sibling tools like manage_level_structure or validate.

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

TDQS

C2.7/5.0
Disambiguation2/5

Multiple tools have overlapping purposes, such as manage_level and manage_level_structure both handling streaming and World Partition, manage_asset editing materials alongside manage_material_authoring, and manage_ai including behavior trees that duplicate manage_behavior_tree. These overlaps create ambiguity and risk misselection.

Naming Consistency3/5

The majority of tools follow a 'manage_X' pattern, but there are several outliers like 'inspect', 'validate', 'observe', 'workflow', 'checkpoint', and 'source_control' that break the convention. While still readable, the mix of verb_noun and noun-only names is inconsistent.

Tool Count2/5

With 43 tools, the server is well beyond the 25+ threshold that feels heavy. While the broad scope of Unreal Engine justifies many tools, this count is likely to overwhelm agents and suggests the tool surface could be consolidated.

Completeness4/5

The tool set offers comprehensive coverage of Unreal Engine development, including assets, blueprints, gameplay, AI, animation, audio, UI, networking, testing, validation, and source control. There are minor gaps such as no dedicated tool for physics simulation or save game systems, but overall it is remarkably complete.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    Enables AI assistants to control Unreal Engine via Remote Control API for game development automation, including asset management, actor control, level editing, animation, physics, visual effects, and cinematics creation through natural language.
    1
    295
    855
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to control and automate Unreal Engine through a native C++ Automation Bridge plugin. It supports a comprehensive range of tasks including asset management, actor manipulation, editor control, and blueprint graph editing.
    295
    1
    MIT

Latest Blog Posts

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/Flux-Point-Studios/unreal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server