Skip to main content
Glama
██╗   ██╗███████╗     █████╗ ██╗   ██╗██████╗ ██╗ ██████╗     ███╗   ███╗ ██████╗██████╗
██║   ██║██╔════╝    ██╔══██╗██║   ██║██╔══██╗██║██╔═══██╗    ████╗ ████║██╔════╝██╔══██╗
██║   ██║█████╗      ███████║██║   ██║██║  ██║██║██║   ██║    ██╔████╔██║██║     ██████╔╝
██║   ██║██╔══╝      ██╔══██║██║   ██║██║  ██║██║██║   ██║    ██║╚██╔╝██║██║     ██╔═══╝
╚██████╔╝███████╗    ██║  ██║╚██████╔╝██████╔╝██║╚██████╔╝    ██║ ╚═╝ ██║╚██████╗██║
 ╚═════╝ ╚══════╝    ╚═╝  ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═════╝     ╚═╝     ╚═╝ ╚═════╝╚═╝
░░░░░░░░░░░░░░░░░░ AI Game Audio — Wwise + MetaSounds + Blueprints ░░░░░░░░░░░░░░░░░░░

UE Audio MCP

AI-powered game audio toolkit — MetaSounds graph generation & export, project scanning, and Wwise/Blueprint knowledge base via MCP for Unreal Engine 5.7.

One MCP server. UE5 Plugin, three audio engines, five custom nodes for SID chip emulation. 81 tools. 195 engine-verified MetaSounds nodes. Optimised for Unreal Engine 5.7 and Wwise 2025.

"Create a footsteps sound setup for my character -- use MetaSounds noise and filter in the patch, Blueprint trigger on anim notify"

MCP generates the MetaSounds DSP graph (noise -> filter -> AD envelope) and outputs Blueprint wiring for the animation trigger.


Architecture

                    Claude / Cursor / Any MCP Client
                                |
                                | MCP Protocol (stdio)
                                v
                    +---------------------------+
                    |      UE Audio MCP         |
                    |      81 tools             |
                    |      1042 catalogue rows   |
                    +---------------------------+
                            |
              +-------------+-------------------+
              v             v                   v
     +----------------+ +------------+  +------------------+
     |  Wwise Tools   | | MetaSounds |  | Blueprint Tools  |
     |  (WAAPI)       | |  Tools     |  | (TCP + Knowledge)|
     |  21 tools      | | 24 tools   |  | 16 tools         |
     +-------+--------+ +-----+------+  +--------+---------+
             |               |                   |
             v               v                   v
     +----------------+ +---------------------------+
     | Wwise App      | | UE5 C++ Plugin             |
     | WAAPI :8080    | | TCP:9877 (48 commands)     |
     +----------------+ | MetaSounds Builder API     |
                        | Blueprint Graph Scanner    |
                        | Editor Menu Integration    |
                        +---------------------------+

The Three Layers

Layer

Engine

Role

Analogy

Blueprint

UE5

WHEN -- detects game events, sets parameters

Stage manager

MetaSounds

UE5

WHAT -- procedural DSP, synthesis

The instrument

Wwise

Standalone

HOW -- mixing, buses, spatialization, delivery

The mixing desk

Signal Flow

BLUEPRINT (WHEN)              METASOUNDS (WHAT)           WWISE (HOW)
----------------              -----------------           ------------
Player shoots           ->    Gunshot synthesis      ->   SFX bus, reverb
Player steps on grass   ->    Soft filtered step     ->   Distance attenuation
Weather changes to rain ->    Layered rain + drops   ->   Ambient bus, RTPC mix
Vehicle accelerates     ->    Engine layer blend     ->   Vehicle bus, compression
C64 chiptune plays      ->    ReSID SID Chip node    ->   Music bus, stereo mix

Related MCP server: Monolith

Setup

# 1. MCP Server (Python)
git clone https://github.com/koshimazaki/UE-AUDIO-MCP.git
cd UE-AUDIO-MCP && pip install -e ".[dev]"
ue-audio-mcp
// 2. MCP Client Config (Claude Code, Cursor, etc.)
{
  "mcpServers": {
    "ue-audio-mcp": { "command": "ue-audio-mcp", "transport": "stdio" }
  }
}
// 3. UE5 Plugin — copy to project Plugins/ folder, enable in plugin manager
ue5_plugin/UEAudioMCP/        → Editor module (TCP server, 48 commands)
ue5_plugin/SIDMetaSoundNodes/  → Runtime module (SID chip nodes)

Works without Wwise or UE5 running -- knowledge base, templates, and offline mode always available.

Requirement

Version

Unreal Engine

5.7.2+ (MetaSounds Builder API, experimental since 5.4)

Wwise

2025.1.4+ (WAAPI enabled, WebSocket on localhost:8080)

Python

3.10+


What's Included

  • 81 MCP tools -- Wwise (21), MetaSounds (24), Blueprint (16), World Setup (7), Actor/Camera (5), UE5 Core (4), orchestration (2), audit (2)

  • 1042 seeded catalogue rows -- 195 MetaSounds nodes, 356 aliases, 66 WAAPI functions, 55 BP audio functions, 130 pin mappings, 26 engine plugin assets

  • 73 templates -- 33 MetaSounds DSP + 34 Blueprint logic + 6 Wwise hierarchy (33/33 MS validated)

  • 48 C++ TCP commands -- MetaSounds Builder API, Blueprint builder, world setup, actor/camera staging, graph scanning, asset queries

  • 5 custom C++ nodes -- ReSID SID chip emulator (oscillator, envelope, filter, voice, full chip)

  • 11 audio system patterns -- gunshot, footsteps, ambient, vehicle, weather, UI, SID synth...

  • Editor menu -- Scan Project, Export MetaSounds, Server Status from UE5 menu bar

  • Engine sync snapshots -- 897 MS nodes + 1173 audio BP functions exported from live UE5 editor

12 templates from shipped games: Lyra (random EQ, whizby, stereo balance, gameplay cues, anim notify audio) and StackOBot (array player, looped sound, EQ+delay).

See TOOLS_AND_COMMANDS.md for full tool listing, command reference, sound designer workflows, template catalogue, and knowledge base details. Run python scripts/db_inventory.py to reconcile source catalogue, SQLite, and engine export counts.


ReSID SIDKIT Edition -- C64 SID Chip in MetaSounds

5 custom C++ MetaSounds nodes wrapping a cycle-accurate MOS 6581/8580 SID chip emulator. The same reSID core running in the SIDKIT project, now available as native MetaSounds DSP nodes.

Node

Type

Description

SID Oscillator

Audio

24-bit accumulator, 8 waveforms (saw/tri/pulse/noise + combined)

SID Envelope

Float

Non-linear exponential ADSR with authentic SID timing and delay bug

SID Filter

Audio

Route any audio through the 6581's analog filter -- VICE VCR model

SID Voice

Audio

Oscillator x Envelope convenience combo

SID Chip

Audio

Complete 3-voice SID with filter, FM cross-modulation, per-voice outputs

SIDMetaSoundNodes is a separate Runtime module -- ships in games without the MCP TCP server.


Agent Skills

Install UE Audio agent skills for Claude Code, Cursor, Windsurf, and 35+ other agents:

npx skills add koshimazaki/ue-audio-skills

Skill

What it does

/mcp-plugin

TCP plugin control -- 48 commands for building MetaSounds graphs, scanning blueprints, world setup, actor/camera staging

/metasound-dsp

MetaSounds DSP specialist -- 195 nodes, Builder API, signal flow patterns, graph templates

/unreal-bp

Blueprint audio logic -- game event detection, parameter wiring, asset scanning

/build-system

Full pipeline orchestrator -- generates complete 3-layer audio systems from a single description


Prior Art

Existing Tool

Audio?

blender-mcp (16.9k stars) -- Controls Blender

No

unreal-mcp (1,370 stars) -- Controls UE5 editor

No

VibeComfy MCP -- 8,400+ ComfyUI nodes

No

BilkentAudio/Wwise-MCP -- Wwise wrapper

Partial

This project -- Complete 3-layer game audio + SID chip emulation

Yes


Credits

All templates and knowledge curated from public sources: Epic Games documentation, and tutorials, Audiokinetic SDK reference, and community tutorials. ReSID emulation based on reSID by Dag Lem with SIDKIT extensions.

See CREDITS.md for full attribution to tutorial authors and data sources.

Key sources: Craig Owen (YAGER), Matt Spendlove, Nick Pfisterer, Eric Buchholz (TechAudioTools), Chris Payne, Epic Games official documentation.


Author

Built by Koshi Mazaki


Licence

MIT

Available Tools

81 tools
audit_historyA

Query past session log events with optional filters.

Args: session_id: Filter by session ID event_type: Filter by type (tool_call, waapi_call, tcp_command, session_start, session_end) tool_name: Filter by tool name since: ISO date string — only events after this timestamp status_filter: Filter by result status (ok, error) limit: Max rows to return (default 50, max 500) summary_only: If true, return per-session aggregates instead of raw events

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sinceNo
tool_nameNo
event_typeNo
session_idNo
summary_onlyNo
status_filterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It usefully discloses the limit default (50) and cap (500), and clarifies that summary_only changes the return shape to per-session aggregates, but says nothing about read-only nature, permissions, ordering, or pagination.

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 front-loaded summary sentence followed by a compact per-argument list — no filler, and each line earns its place given the 0% schema coverage. The structure is appropriate to the parameter count, though slightly list-heavy rather than prose-efficient.

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

Completeness4/5

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

For a 7-parameter query tool with no annotations and an existing output schema, the description covers all inputs and the key output-shape switch (summary_only). The remaining gaps — ordering, permissions, pagination — are minor given the output schema exists.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must carry the full load, and it does: all seven parameters are documented with meaning, and the event_type and status_filter parameters are given concrete enum values (tool_call, waapi_call, tcp_command, session_start, session_end; ok, error) that exist nowhere in 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?

States a specific verb and resource — 'Query past session log events' — with the filtering scope made explicit. It is clear and distinguishable from most siblings, though it does not differentiate itself from the closely related audit_session_stats sibling, which its own summary_only parameter arguably overlaps with.

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 filter list implies the use case (retrieving/filtering historical events), and the summary_only note hints at an aggregate mode. However, there is no explicit when-to-use guidance and no routing against audit_session_stats, which appears to serve a similar aggregate purpose.

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

audit_session_statsB

Get overall session logging statistics.

Returns total sessions, event counts by type, error rate, and top 10 most-used tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. 'Get' implies a read-only operation and it lists the returned aggregate metrics, but it does not state permissions, side effects, rate limits, or whether the data is live or cached.

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 short and front-loaded: the purpose is stated first, followed by a compact list of returned metrics. Every sentence is relevant, though the return list is somewhat redundant given the output schema exists.

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

Completeness4/5

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

For a zero-parameter, read-only statistics tool with an output schema, the description is nearly complete. It could add usage context relative to siblings, but no critical invocation information is missing.

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 tool has zero parameters, so there is no parameter semantics to clarify. Baseline 4 is appropriate; the schema is an empty object and no additional parameter meaning is needed.

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?

States a specific verb and resource ('Get overall session logging statistics') and lists the kind of metrics returned. The purpose is clear, but it does not explicitly differentiate itself from sibling tools such as audit_history.

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?

Provides no guidance on when to use this tool versus alternatives. It does not mention audit_history or any other sibling, nor does it state prerequisites or appropriate contexts for requesting session stats.

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

bp_add_bp_nodeA

Add a node to the active Blueprint's event graph.

Supports 4 node kinds:

  • CallFunction: Audio-allowlisted functions (SetFloatParameter, PlaySound2D, etc.)

  • CustomEvent: User-defined events

  • VariableGet: Read a Blueprint variable (must pre-exist)

  • VariableSet: Write a Blueprint variable (must pre-exist)

Args: node_id: Unique ID for this node (used in connect/set_pin calls) node_kind: One of: CallFunction, CustomEvent, VariableGet, VariableSet function_name: Required for CallFunction — the function to call event_name: Required for CustomEvent — the event name variable_name: Required for VariableGet/VariableSet — the variable name position_x: Editor X position position_y: Editor Y position

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes
node_kindYes
event_nameNo
position_xNo
position_yNo
function_nameNo
variable_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses useful preconditions (variables must pre-exist, functions must be audio-allowlisted) and implies an active Blueprint is required, but says nothing about failure behavior, whether the node is persisted or must be saved/compiled, or permission requirements 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?

Front-loaded with the core action, then structured into node kinds and an args list. Every line carries information; the only minor cost is that the args list partly mirrors parameter names already visible in the schema.

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?

An output schema exists so return values need not be explained. The description covers all parameters, all four node kinds, and key preconditions, leaving only minor gaps around lifecycle (save/compile) and error behavior for a mutation tool.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must supply all parameter meaning, and it does: every one of the 7 parameters is described, including the required-for relationships (function_name for CallFunction, event_name for CustomEvent, variable_name for VariableGet/Set) and the role of node_id in later connect/set_pin calls.

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?

States a specific verb (add) and resource (node to the active Blueprint's event graph), then enumerates the four supported node kinds with concrete examples. It is clear what the tool does, though it does not explicitly differentiate itself from similar siblings like ms_add_node or ms_add_variable_node.

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 per-kind notes imply when each kind applies (VariableGet/VariableSet require a pre-existing variable, CallFunction requires an audio-allowlisted function, CustomEvent is user-defined). However, there is no explicit guidance on when to use this tool versus sibling node-creation tools, and no stated prerequisites such as needing an active/open Blueprint.

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

bp_call_functionC

Execute a Blueprint function via the UE5 plugin.

Args: function_name: Blueprint function name to call args_json: JSON string of function arguments

ParametersJSON Schema
NameRequiredDescriptionDefault
args_jsonNo{}
function_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that a Blueprint function is executed, but does not describe side effects, whether the function may mutate editor or runtime state, required permissions, error behavior, or whether the call is synchronous or asynchronous. For a tool that executes arbitrary user-defined functions, this is a significant 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 appropriately short and front-loaded: the main action appears first, followed by a compact Args section. Every sentence is relevant, though the parameter explanations are minimal and could be slightly more informative without bloating the text.

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 an output schema, so return values need not be described. However, with no annotations, two parameters, and 0% schema description coverage, the description is incomplete: it lacks usage guidance, safety considerations, and sufficient parameter detail for an agent to invoke it reliably. Given the power of executing arbitrary Blueprint functions, more context is needed.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It briefly explains both parameters: 'function_name: Blueprint function name to call' and 'args_json: JSON string of function arguments.' This adds basic meaning beyond the bare schema titles, but it does not explain how to format the JSON to match the target function's signature or how to discover valid function names.

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 specific verb and resource: 'Execute a Blueprint function via the UE5 plugin.' This clearly distinguishes the tool from sibling tools like bp_compile_blueprint or bp_add_bp_node, which manipulate blueprints rather than invoking a function. However, it does not explicitly differentiate from other execution or runtime tools in the sibling list.

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. It does not mention prerequisites such as an active UE5 connection, whether the blueprint must be open, or what conditions make this tool preferable to siblings like ms_graph_to_commands or execute_waapi. Usage must be inferred entirely from the tool name and brief purpose statement.

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

bp_compile_blueprintA

Compile the active Blueprint.

Returns compile status and any compiler messages. Must have called bp_open_blueprint first.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the return payload (compile status and compiler messages) plus a state prerequisite. It says nothing about whether compilation mutates the blueprint, blocks, or how failures are surfaced beyond messages, so the behavioral picture is only partially filled in.

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?

Three short lines, action stated first, then return behavior, then the precondition. Every sentence earns its place with no filler.

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

Completeness4/5

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

For a zero-parameter tool with an output schema and no annotations, the description covers purpose, return shape, and the ordering prerequisite. Minor gap: no mention of side effects on the open blueprint or failure/error behavior.

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 tool takes zero parameters, so there is nothing for the description to clarify beyond what the empty schema already shows. Baseline of 4 applies.

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?

Specific verb ('Compile') plus a clear resource ('the active Blueprint'), which is meaningful in a stateful Blueprint workflow. No sibling tool performs compilation, so differentiation is implicit rather than stated, keeping it just short of 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 Guidelines4/5

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

The prerequisite 'Must have called bp_open_blueprint first' gives explicit ordering guidance that an agent needs before invoking. It does not name any alternative or exclusion, but none exists among the siblings, so the context is effectively complete.

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

bp_connect_bp_pinsA

Connect two pins between registered Blueprint nodes.

Both nodes must be registered (via bp_add_bp_node or bp_register_existing).

Args: from_node: Source node ID from_pin: Source output pin name to_node: Destination node ID to_pin: Destination input pin name

ParametersJSON Schema
NameRequiredDescriptionDefault
to_pinYes
to_nodeYes
from_pinYes
from_nodeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the registration precondition but says nothing about whether the connection is destructive/reversible, whether an existing wire on the destination pin is replaced, whether the graph must be recompiled, or what errors arise from type-mismatched pins.

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?

Lead sentence states the operation, followed by the precondition and a compact Args list. No filler, though the Args block largely restates the schema's parameter names.

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?

An output schema exists, so return values need not be explained. For a mutation tool with no annotations, the description covers the essential precondition but leaves error behavior, idempotency, and post-connect workflow (e.g., compiling) unaddressed.

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?

Schema description coverage is 0%, so the description must compensate, and it documents all four parameters with roles: from_node/from_pin as the source/output side and to_node/to_pin as the destination/input side. This directional semantics is genuinely useful beyond the bare parameter names, though it omits expected ID/pin-name formats.

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

Purpose5/5

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

States a specific verb (connect) and resource (pins between registered Blueprint nodes), which is distinct from siblings like bp_set_bp_pin (single pin value) and bp_list_node_pins (read-only listing). An agent can identify exactly what this tool does without opening the schema.

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

Usage Guidelines4/5

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

Provides an explicit precondition: both nodes must already be registered via bp_add_bp_node or bp_register_existing, and it names those two alternatives for the setup step. It does not state when-not to use this tool or what happens if the connection already exists, so it falls short of full routing guidance.

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

bp_export_audioA

Export the audio-relevant subgraph from a Blueprint with full edge wiring.

Returns only audio nodes + their 1-hop neighbours, with pin data and connections between them. Useful for understanding how Blueprint events drive MetaSounds/Wwise parameters.

Requires the UE5 C++ plugin to be running.

Args: asset_path: Blueprint asset path (e.g. "/Game/Blueprints/BP_Character")

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and mostly meets it: it discloses the runtime dependency ('Requires the UE5 C++ plugin to be running'), the exact subgraph scope (audio nodes + 1-hop neighbours), and what data comes back (pin data, connections). It does not explicitly state read-only/non-destructive nature or failure behavior for a missing plugin, leaving a small gap.

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?

Front-loaded with the core action and scope, then usage rationale, then the environment prerequisite, then args. Every sentence earns its place and there is no filler.

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

Completeness5/5

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

An output schema exists so return values need not be spelled out, and the description still summarizes the returned structure. For a one-parameter read tool, the prerequisite, scope, and format guidance make it complete enough to invoke correctly.

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?

Schema description coverage is 0% for the single asset_path parameter, so the description must compensate. It does so by giving a concrete path example ('/Game/Blueprints/BP_Character'), which conveys the expected UE5 asset-path format the bare schema does not.

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

Purpose5/5

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

States a specific verb and resource ('Export the audio-relevant subgraph from a Blueprint') and immediately narrows the scope: 'Returns only audio nodes + their 1-hop neighbours, with pin data and connections.' This is precise enough to distinguish it from generic graph/scan siblings like bp_scan_blueprint or ms_export_graph.

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?

Gives a clear use case: 'Useful for understanding how Blueprint events drive MetaSounds/Wwise parameters.' That tells the agent when this tool is the right pick, but it names no alternatives or explicit exclusions among the many graph-related siblings.

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

bp_list_assetsB

List project assets by class type via the UE5 plugin.

Queries the Asset Registry for all assets matching the given class under the specified path. Useful for discovering Blueprints, MetaSounds, SoundWaves, etc. before scanning.

Requires the UE5 C++ plugin to be running.

Args: class_filter: Asset class name — Blueprint, MetaSoundSource, SoundWave, etc. path: Path prefix to search under (default: /Game/) limit: Max results to return (default: 5000)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo/Game/
limitNo
class_filterNoBlueprint

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations were provided, so the description carries the full burden. It does disclose the dependency on the UE5 C++ plugin and reveals the query mechanism (Asset Registry), which is useful. But it does not discuss pagination behavior despite a 5000 default limit, truncation, or permission requirements, leaving important operational details implicit.

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

Conciseness4/5

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

Front-loaded with the core action in the first sentence; the Args section is compact and readable. Slight redundancy between first sentence and the 'Queries the Asset Registry' follow-up, but no filler.

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?

An output schema exists (return values need not be described), and the description covers all three parameters plus the plugin precondition. Remaining gap is guidance on how this tool relates to sibling enumeration tools and pagination behavior.

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?

Schema description coverage is 0%, so the description must compensate. It does: it explains class_filter as an asset class name (with examples), path as a prefix to search under (with default), and names the default limit. It does not explain the limit's semantics (e.g., truncation).

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?

States a specific verb (List), resource (project assets), and mechanism (Asset Registry, by class type). However, it does not differentiate itself from sibling tools like bp_search or bp_list_categories, which also enumerate blueprint/asset metadata. An agent might struggle to pick the right enumeration tool without opening schemas.

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?

Provides a vague use case ('discovering Blueprints, MetaSounds, SoundWaves ... before scanning') but no explicit when-to-use vs when-not, and no comparison to sibling tools like bp_search or bp_list_categories. The 'before scanning' hint is the only routing signal.

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

bp_list_categoriesB

List Blueprint node categories with counts.

Args: source: Data source — "all", "curated", or "scraped"

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNoall

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It implies a read (listing) but never states that it is non-mutating, whether results are cached, how counts are computed, or anything about ordering. For a zero-annotation tool this is thin.

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 short lines with no padding; the purpose is front-loaded. The "Args:" style block is slightly awkward for a single optional argument but costs little.

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?

An output schema exists, so return structure needn't be explained, and the tool is a simple single-parameter list. Still, with no annotations and no usage context, an agent lacks the when-to-use and read-only assurances it needs to select confidently among many sibling list/search tools.

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?

Schema description coverage is 0% and the schema gives only a default of "all" with no enum, so the description is the sole source for the three accepted values ("all", "curated", "scraped"). That is a genuine addition beyond the schema, though it doesn't explain what "curated" vs "scraped" actually means.

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?

States a specific verb and resource — listing Blueprint node categories, with counts — which is concrete and distinguishable from bp_search or bp_node_info. It stops short of explicitly differentiating itself from the near-identical sibling ms_list_categories.

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 statement of when to call this versus alternatives like bp_search, ms_search_nodes, or ms_list_categories. The `source` argument hints at a curation/scraping distinction but never says which context calls for which value.

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

bp_list_node_pinsA

List all pins on a registered Blueprint node.

Returns pin name, direction, type, default value, and connection status.

Args: node_id: Registered node ID

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses the return payload and hints at the 'registered' prerequisite, but says nothing about error behavior for unregistered nodes, whether it is purely read-only, or how connections are represented beyond 'connection status'.

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?

Purpose and return fields are front-loaded in the first two sentences, which is well structured. The trailing 'Args:' block largely restates the single required property and adds little, a minor 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?

For a single-parameter read tool with an output schema, the description covers purpose, returned fields, and the registration precondition adequately. The remaining gap is the absence of any behavioral notes given zero annotations.

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 0% and the sole parameter node_id is undocumented in the schema, so the description must compensate. 'Registered node ID' adds a meaningful qualifier over the bare schema, but does not explain the ID's format or where to obtain it.

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?

States a specific verb and resource ('List all pins on a registered Blueprint node') and names the returned fields, so the agent knows exactly what it retrieves. It does not, however, distinguish itself from close siblings like bp_node_info, which an agent might reasonably pick instead.

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 word 'registered' implies a precondition (the node must first be registered, likely via bp_register_existing), which is useful. But there is no explicit when-to-use guidance and no routing to alternatives such as bp_node_info, so the usage is only implied.

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

bp_node_infoA

Get full Blueprint node info including pin specs.

Prefers scraped data (richer pin info), falls back to curated.

Args: node_name: Exact node name (e.g. "PlaySound2D", "SpawnSoundAtLocation")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations exist, so the description carries the behavioral burden. It usefully discloses the data-source preference and fallback ('prefers scraped data, falls back to curated'), which tells the agent results may vary in richness. However it omits whether the call is read-only/safe, what happens if the node_name is not found, and any error or rate-limit 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?

Front-loaded with the core purpose in the first sentence, followed by the data-source behavior and a clearly labeled args section. No filler sentences, though the docstring-style Args block is slightly more verbose than necessary for a single parameter.

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?

Output schema exists, so return values need not be explained, and the description covers purpose, data source, and the single parameter with examples. With no annotations it leaves safety/error behavior implicit, but for a read-style info lookup that gap is minor.

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 0% and there is one required parameter, so the description is the only place semantics could be added. It does specify the parameter must be an exact node name and gives concrete examples ('PlaySound2D', 'SpawnSoundAtLocation'), which is genuine value over the bare schema — but it stops short of format details like case sensitivity or namespace.

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?

States a specific verb and resource: 'Get full Blueprint node info including pin specs.' An agent can tell this retrieves metadata about a Blueprint node. It does not explicitly contrast with close siblings like bp_list_node_pins or ms_node_info, which limits it below a 5, but the purpose is unambiguous.

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

Usage Guidelines3/5

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

Usage is implied — call it to inspect a node — but there is no explicit when-to-use, when-not-to-use, or alternative guidance despite many related Blueprint node tools (bp_list_node_pins, ms_node_info, bp_search). The data-source fallback note hints at behavior but does not route the agent between tools.

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

bp_open_blueprintA

Open a Blueprint asset for editing via the UE5 plugin.

Must be called before adding nodes or connecting pins. Resets any previously registered node handles.

Args: asset_path: Blueprint asset path (e.g. "/Game/Blueprints/BP_Character")

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and discloses a non-obvious side effect: 'Resets any previously registered node handles.' It also establishes the ordering prerequisite. It omits error/failure behavior (e.g., invalid asset_path, already-open asset), so it stops short of full 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?

Front-loads the core action, then the prerequisite and side effect, then the argument. Every sentence earns its place with no filler.

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

Completeness4/5

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

For a simple one-parameter tool with an output schema covering returns, the description supplies purpose, prerequisite, side effect, and parameter example. It could be more complete by mentioning failure modes or what happens if the asset is already open.

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?

Schema description coverage is 0% and the single parameter has only a bare title, but the description compensates with a concrete example path and clarifies it is a Blueprint asset path, which is more than the schema 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?

States a specific verb+resource ('Open a Blueprint asset for editing via the UE5 plugin') and its role as a prerequisite, clearly distinguishing it from read-only siblings like bp_scan_blueprint and bp_list_assets.

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?

Explicitly states when to call it ('Must be called before adding nodes or connecting pins'), which is strong context. It does not name alternatives (e.g., bp_register_existing) or when-not-to-use cases, so it falls short of full routing guidance.

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

bp_register_existingA

Register an existing Blueprint node by its GUID so it can be wired to.

Use bp_scan_blueprint with include_pins=true to find node GUIDs, then register them here before connecting pins.

Args: node_id: MCP handle ID you want to use for this node node_guid: The node's FGuid string from the Blueprint scan

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes
node_guidYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses the registration intent and the source of the GUID, but says nothing about idempotency, whether reusing a node_id overwrites, failure modes for a bad GUID, or what internal state changes. Adequate but incomplete for a stateful mutation.

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?

Three short, front-loaded lines: purpose, workflow, then parameter notes. No filler, and the essential constraint (register before connecting) appears before the args.

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?

An output schema exists, so return values needn't be explained, and both parameters plus the prerequisite call are covered. Missing only edge-case behavior (duplicate registration, invalid GUID handling), which is a minor gap for a two-param tool.

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?

Schema coverage is 0%, so the description must compensate and largely does: node_id is 'MCP handle ID you want to use for this node' and node_guid is 'the node's FGuid string from the Blueprint scan', including where to obtain it. Only the expected format/uniqueness of node_id is left implicit.

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

Purpose5/5

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

States a specific verb (register) and resource (an existing Blueprint node) with an explicit purpose clause ('so it can be wired to'), which distinguishes it from the read-only sibling bp_scan_blueprint that merely discovers nodes.

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?

Gives an explicit workflow -- call bp_scan_blueprint with include_pins=true to obtain GUIDs, register them here, then connect pins. It names the preceding tool and the condition, but offers no when-not guidance (e.g., versus bp_add_bp_node for new nodes).

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

bp_scan_blueprintB

Deep-scan a Blueprint asset to extract graph nodes, function calls, and audio relevance.

Inspects all graphs (event graphs, function graphs, macros) and classifies each node by type: CallFunction, Event, CustomEvent, VariableGet/Set, etc. Detects audio-relevant nodes (PlaySound, PostEvent, AudioComponent refs).

Requires the UE5 C++ plugin to be running.

Args: asset_path: Blueprint asset path (e.g. "/Game/Blueprints/BP_Character") audio_only: If True, only return audio-relevant nodes include_pins: If True, include full pin details per node

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_pathYes
audio_onlyNo
include_pinsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses the plugin requirement, the scope of inspection ('all graphs'), and the filtering behavior of audio_only, which is useful. However, it does not explicitly state that the operation is read-only, whether it mutates state, or what permissions are needed, leaving some behavioral ambiguity.

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 front-loaded with the core action and then uses a structured Args block for parameter details. It is appropriately sized and avoids redundancy, though the opening sentence could be slightly tighter. Overall, every section earns its place.

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?

An output schema exists, so the description need not explain return values. Given the lack of annotations and 0% schema coverage, the description adequately covers parameters and key behavioral context (plugin requirement, scope, audio filtering). The main missing piece is explicit usage guidance versus sibling tools, which is already reflected in the usage_guidelines score.

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?

Schema description coverage is 0%, so the description must compensate, and it does. It gives an example path for asset_path and explains that audio_only restricts output to audio-relevant nodes and include_pins adds full pin details per node. This adds clear meaning beyond the bare schema property names.

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 specific verb and resource: 'Deep-scan a Blueprint asset to extract graph nodes, function calls, and audio relevance.' It goes further by detailing what is inspected (all graphs, macros) and what is detected (audio-relevant nodes). However, it does not explicitly differentiate this deep scan from siblings like bp_search or bp_node_info, which likely cover related but narrower inspection tasks.

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 alternatives such as bp_search, bp_node_info, or bp_list_categories. It only notes a runtime prerequisite ('Requires the UE5 C++ plugin to be running'), which is a condition, not a routing rule. An agent must infer usage from the tool's purpose alone.

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

bp_set_bp_pinB

Set a default value on a Blueprint node's input pin.

Args: node_id: Registered node ID pin_name: Input pin name value: Default value as string

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
node_idYes
pin_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It implies mutation via 'Set a default value' but does not disclose side effects, whether the blueprint must be compiled or saved afterward, permission requirements, or reversibility.

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 short, front-loaded with the action, and uses a tight argument list with no wasted sentences. Every line contributes directly to invoking the tool.

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?

An output schema exists, so return values need not be explained. However, for a mutation tool with no annotations and 0% schema description coverage, the description remains thin on prerequisites and side effects, making it only minimally complete for correct invocation.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It gives brief meanings for all three parameters, including the useful detail that node_id is a 'Registered node ID', but it does not explain formats, how to obtain the registered ID, or acceptable value forms.

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 specific verb and resource: setting a default value on a Blueprint node's input pin. It is clear enough to distinguish from generic node/pin tools, but it does not explicitly differentiate from close siblings such as ms_set_default or bp_connect_bp_pins.

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 only the argument list and gives no when-to-use guidance, no prerequisites for obtaining or registering node_id, and no indication of when another tool like bp_connect_bp_pins or ms_set_default would be preferred.

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

bp_sync_from_engineA

Sync Blueprint function catalogue from the running UE5 engine.

Calls list_blueprint_functions to enumerate all BlueprintCallable UFunctions with their parameter signatures directly from the engine. Optionally upserts results into the blueprint_nodes_scraped SQLite table.

Args: audio_only: Only fetch audio-relevant functions (default True) update_db: If True, upsert into the SQLite blueprint_nodes_scraped table filter: Optional substring filter on function or class name class_filter: Optional exact class name filter limit: Max functions to fetch (default 10000)

Returns: JSON summary: total functions, classes found, new vs updated counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
filterNo
update_dbNo
audio_onlyNo
class_filterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description does real work: it reveals the underlying engine call, the conditional upsert into the blueprint_nodes_scraped table, and the read-only behavior when update_db is false. It omits error/failure behavior and any engine-connection prerequisite, but the core side-effect profile is disclosed.

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

Conciseness4/5

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

Front-loaded with the purpose sentence, then a mechanism sentence, then structured Args/Returns blocks. Slightly verbose in repeating the list_blueprint_functions detail, but nearly every sentence carries information.

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

Completeness4/5

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

For a five-parameter ingestion/sync tool with no annotations, the description covers mechanism, side effects, parameters, and defaults. The Returns block is somewhat redundant given an output schema exists, and sibling disambiguation is absent, but the definition is otherwise sufficient to invoke correctly.

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?

Schema description coverage is 0%, so the description must carry the load, and it documents all five parameters with meaning and defaults (audio_only, update_db, filter, class_filter, limit). It explains what each filter acts on (function or class name), which the bare schema 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?

States a specific verb and resource — sync the Blueprint function catalogue from the running UE5 engine — and explains the mechanism (enumerating BlueprintCallable UFunctions via list_blueprint_functions). It does not, however, distinguish itself from near-siblings like ms_sync_from_engine or bp_scan_blueprint, leaving the agent to infer the difference.

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 (fetch engine function data, optionally persist it) and describes the update_db branch, but never states when to choose this over bp_scan_blueprint or the equivalent ms_ sync tool, nor prerequisites such as an established ue5_connect session. Usage is inferable but not explicit.

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

bp_wire_audio_paramA

High-level: wire a SetFloatParameter call into a Blueprint.

Opens the Blueprint, optionally registers a source node, adds a SetFloatParameter call, sets the parameter name, connects the source if provided, and compiles.

Args: asset_path: Blueprint asset path param_name: MetaSounds parameter name (e.g. "Speed", "Intensity") source_node_guid: Optional GUID of existing node to wire as value source source_pin: Output pin name on the source node for the float value

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_pathYes
param_nameYes
source_pinNo
source_node_guidNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and usefully enumerates the sequence of side effects: opening the Blueprint, optionally registering a source node, adding a SetFloatParameter call, setting the parameter name, connecting the source, and compiling. It does not cover error behavior, save state, or reversibility, but the composite mutation is clearly disclosed.

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 front-loaded with the purpose, then gives a compact ordered step list and an Args section. Every sentence earns its place, and there is no redundant or filler text.

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

Completeness4/5

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

For a four-parameter composite tool with no annotations, the description supplies the operation sequence and parameter meanings, and an output schema exists to cover return values. Minor gaps remain around failure modes and whether the asset is saved after compiling, but the definition is largely complete.

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?

Schema description coverage is 0%, so the description must compensate, and it does: all four parameters are explained with meaning beyond the schema titles, including a MetaSounds parameter example and the role of source_node_guid and source_pin. It stops short of specifying asset path format or pin-name constraints, but the added meaning is substantial.

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 a specific verb and resource: wire a SetFloatParameter call into a Blueprint. It also flags the tool as high-level, which distinguishes it from lower-level siblings like bp_add_bp_node or bp_connect_bp_pins, though it does not explicitly name those 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 'High-level' label implies this tool should be preferred over manually combining lower-level node and pin operations, but no explicit when-to-use or when-not-to-use guidance is given. Alternatives are not named, so usage is only implied.

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

build_aaa_projectA

Build a complete AAA audio project: infrastructure + content for all categories.

Creates AAA Wwise infrastructure (buses, work units, switches, states), then generates 3-layer content (Wwise + MetaSounds + Blueprints) for each audio category, routes outputs to correct buses, and moves objects to dedicated work units.

Auto-detects connection state:

  • Full (Wwise + UE5): creates infrastructure, builds all content, routes + moves

  • Wwise-only: creates infrastructure, builds Wwise content, returns MS commands

  • Offline: returns complete manifest of what would be created (dry-run)

Args: categories: Comma-separated category filter (default: all). Available: player_footsteps, player_weapons, npc_footsteps, ambient_wind, weather, ui setup_params: JSON overrides for template_aaa_setup, e.g. {"include_reverbs": false}

ParametersJSON Schema
NameRequiredDescriptionDefault
categoriesNo
setup_paramsNo{}

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does well: it describes auto-detection of connection state, side effects (infrastructure creation, content generation, routing, moving objects), and the offline dry-run return. It still omits idempotency/overwrite behavior and permission requirements, so it is strong but not fully exhaustive.

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 front-loaded with the core purpose, then structured into mode behaviors and an Args section. It is appropriately sized for a complex build tool, though it is long enough that a few additional trims would be possible without loss.

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

Completeness5/5

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

Given the tool's complexity, the lack of annotations, and the presence of an output schema, the description is complete enough to call it correctly. It covers purpose, connection-state behavior, parameter semantics, and expected outcomes (commands/manifest) without needing to duplicate return-value documentation.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must carry parameter meaning. It documents both parameters well: categories as a comma-separated filter with default all and an explicit list of valid values, and setup_params as JSON overrides with a concrete example key and value.

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 verb (Build) and a compound resource (AAA audio project: infrastructure + content for all categories). It also enumerates the concrete outputs (Wwise buses/work units/switches/states, 3-layer content, bus routing, work unit moves), which lets an agent distinguish this from narrower siblings like template_aaa_setup or build_audio_system.

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 usage context by explaining the auto-detected connection states and the resulting behavior in each mode (full, Wwise-only, offline dry-run). However, it does not explicitly name alternatives or give when-not-to-use guidance against sibling tools such as build_audio_system or template_aaa_setup.

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

build_audio_systemA

Build a complete 3-layer audio system (Wwise + MetaSounds + Blueprints) from a pattern.

Auto-detects which backends are connected and degrades gracefully:

  • Full (Wwise + UE5): executes everything, returns created IDs

  • Wwise-only: executes Wwise, returns MetaSounds commands for later

  • Offline: returns all 3 layer specs as JSON (dry-run preview)

Available patterns: gunshot, footsteps, ambient, spatial, ui_sound, weather, preset_morph, macro_sequence, sfx_generator, vehicle_engine.

Args: pattern: Pattern name (e.g. "gunshot", "footsteps") name: Asset name prefix (defaults to pattern name) params_json: JSON overrides for all 3 layers, e.g. {"wwise": {"num_variations": 5}}

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
patternYes
params_jsonNo{}

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full behavioral burden, and it does so well: it discloses graceful degradation across three backends, what each mode returns (created IDs, deferred MetaSounds commands, or JSON layer specs), and that offline mode is a non-mutating dry-run preview. It omits permission/connection prerequisites and whether re-running overwrites existing assets, which keeps it short of a 5.

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

Conciseness5/5

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

Front-loaded with the core purpose, followed by tightly scoped bullets for the degradation behavior, the pattern enumeration, and an Args block. Every sentence conveys information an agent needs to select a backend mode or fill a parameter; nothing is padding.

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

Completeness4/5

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

For a mutation-style orchestration tool with no annotations, the description covers modes, return shapes, and all parameters, and an output schema exists so return-value detail is not required. What remains thin is the prerequisite surface: it never states that Wwise/UE5 must be connected first or what happens to pre-existing assets with the same name.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does: pattern is documented with concrete examples ("gunshot", "footsteps"), name is described as an asset-name prefix defaulting to the pattern name, and params_json is explained as per-layer JSON overrides with a worked example. All three parameters gain meaning not present in the bare schema.

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

Purpose5/5

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

States a specific verb (Build) and resource (a complete 3-layer audio system spanning Wwise + MetaSounds + Blueprints) from a pattern, which distinguishes it from the single-layer siblings (wwise_create_object, ms_build_graph, bp_compile_blueprint) and even from single-template siblings like template_gunshot. An agent can tell this is the multi-layer orchestrator without opening any schema.

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

Usage Guidelines4/5

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

Gives clear operating context by enumerating the three execution modes (full / Wwise-only / offline dry-run) and the ten available pattern names, which is directly actionable for selection. It stops short of naming alternatives explicitly (e.g., 'use template_gunshot for a single-layer Wwise-only build') or stating when not to use it.

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

execute_waapiB

Execute any WAAPI call directly (escape hatch).

Args: uri: WAAPI function URI (e.g. ak.wwise.core.object.getTypes) args_json: JSON string of arguments options_json: JSON string of options

ParametersJSON Schema
NameRequiredDescriptionDefault
uriYes
args_jsonNo{}
options_jsonNo{}

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It says execution is 'direct' but does not disclose side effects, required permissions, whether the call can mutate or destroy Wwise state, or error-handling behavior — all important for an arbitrary-execution escape hatch.

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 purpose is front-loaded in a single sentence, followed by a compact bullet list of parameters. Every element is relevant and there is no filler, though the argument list is minimal rather than rich.

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?

An output schema exists, so return values need not be explained, and the three parameters are at least named. However, for a powerful arbitrary WAAPI execution tool with no annotations and 0% schema coverage, the description lacks critical safety, permission, and usage context.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It names all three parameters and gives a concrete URI example ('ak.wwise.core.object.getTypes'), but args_json and options_json are only described generically as 'JSON string of arguments/options' with no format or schema detail.

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 and resource: 'Execute any WAAPI call directly (escape hatch).' The 'escape hatch' framing distinguishes it from the many specific wwise_* sibling tools, though it does not explicitly name an alternative. An agent can tell this is the generic low-level path rather than a specialized operation.

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 phrase 'escape hatch' implies the tool is for cases not covered by specialized siblings, which is useful implied guidance. However, it does not explicitly state when to prefer this tool over siblings like wwise_query or wwise_set_property, nor does it list exclusions or prerequisites.

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

find_actorA

Find actors in the current editor or PIE world.

Args: query: Optional label/name/path substring. class_filter: Optional class-name substring, e.g. "Character", "CameraActor". limit: Maximum actors to return, clamped by the plugin.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
class_filterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. 'Find' implies a read-only operation, and the note that limit is 'clamped by the plugin' adds useful behavioral context. However, it does not explicitly state read-only safety, permissions, or any other runtime behavior an agent might need.

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 purpose is front-loaded in one sentence, followed by a clean Args block. Every line earns its place with no repetition or filler.

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 is simple and has an output schema, so return values need not be described. The description covers purpose and all parameters, but it omits usage routing and explicit safety behavior, leaving minor gaps for an agent selecting among many sibling tools.

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?

Schema description coverage is 0%, so the description must compensate, and it largely does: all three parameters are explained with matching semantics, including examples for class_filter and the clamping behavior for limit. It stops short of details like case sensitivity or matching rules, but the meaning of each parameter is clear.

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?

States a specific verb and resource: 'Find actors in the current editor or PIE world.' The scope is clear enough to distinguish from domain-specific search tools like bp_search or wwise_query, but the description does not explicitly name or exclude any sibling 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 scope 'current editor or PIE world' implies when the tool is applicable, but there is no explicit guidance on when to use it versus alternatives, nor any prerequisites or exclusions. Usage is left to inference.

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

focus_editor_cameraA

Frame an actor in the Unreal Editor viewport camera.

Args: actor: Actor label, object name, or full path returned by find_actor. active_viewport_only: When true, move only the active viewport camera.

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYes
active_viewport_onlyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It does disclose the key behavioral knob (active_viewport_only moves only the active viewport camera) and that it targets the editor viewport rather than the game, but it omits whether an editor connection is required and whether the change is transient or persisted.

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

Conciseness4/5

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

Front-loaded purpose sentence followed by a tight Args block with no filler. Slightly formal structure but every line earns its place.

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?

An output schema exists so return values need no explanation, and both parameters are documented. What is missing for a viewport-mutating tool is context about prerequisites (e.g., needing ue5_connect first) and persistence, so it is adequate but not complete.

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?

Schema coverage is 0%, so the description must compensate, and it does: actor accepts a label, object name, or full path, and active_viewport_only is explained as restricting the move to the active viewport. Only the default value and boolean false-case are left 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?

Specific verb+resource: 'Frame an actor in the Unreal Editor viewport camera.' An agent immediately knows this changes camera framing on a named actor. It does not differentiate itself from the nearby sibling set_view_target, which could plausibly be confused with this operation.

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?

Usage is only implied through the workflow hint that the actor value comes from find_actor, which is genuinely helpful routing. There is no statement of when to prefer this over set_view_target, nor any precondition such as requiring an active editor connection.

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

import_sound_fileB

Import a .wav or .ogg sound file from disk into the UE5 Content folder.

Args: file_path: Absolute path to the audio file on disk dest_folder: Destination folder in Content (e.g. "/Game/Audio/SFX")

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
dest_folderYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It usefully discloses the accepted file formats (.wav/.ogg) and that the file comes from disk, but says nothing about overwrite/name-collision behavior, whether the destination folder must already exist, or permission requirements for a mutation that writes into the Content folder.

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

Conciseness4/5

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

Front-loaded single sentence stating action, formats, and destination, followed by a compact Args block that is justified because the schema itself has zero descriptions. Slight redundancy with the schema's parameter names, but no wasted prose.

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 an output schema present, return values need not be explained, and both parameters are documented despite 0% schema coverage. What is missing for a write operation into the project's Content folder is conflict/overwrite handling and folder-existence semantics.

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?

Schema description coverage is 0%, so the description is the only source of parameter meaning, and it delivers: file_path is an absolute disk path and dest_folder is a Content-relative path with a concrete example ("/Game/Audio/SFX"). It does not clarify whether dest_folder is auto-created.

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?

States a specific verb (Import) and resource (a .wav or .ogg sound file) with the target location (UE5 Content folder), which is more precise than the bare tool name. It does not name or contrast with the obvious sibling wwise_import_audio, so an agent must infer which import path applies to UE5 content versus Wwise.

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 says what the tool does but never states when to choose it over alternatives such as wwise_import_audio or bp_export_audio, nor any prerequisites (e.g. that ue5_connect must be established first). Usage is only implied by the tool's name and target folder.

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

ms_add_nodeB

Add a MetaSounds node to the current graph.

Args: node_type: Node type name (e.g. "Sine", "Wave Player (Mono)") node_id: Unique ID for this node instance position_x: Editor X position position_y: Editor Y position

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes
node_typeYes
position_xNo
position_yNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Add' implies mutation, and 'Unique ID' hints at a uniqueness constraint, but the description does not state what happens on a duplicate node_id, whether the edit is saved or reversible, or whether an editor session must be active. For a graph-mutating tool with zero annotation coverage, this is a substantial 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 primary action sentence is front-loaded and the Args block is compact with no filler. It is appropriately sized for a four-parameter tool, though the example strings could be tightened.

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?

An output schema exists, so return values need not be explained. But with no annotations and a bare schema, a mutating graph tool should at least note the uniqueness/duplicate behavior and any editor-session prerequisite; those omissions leave the definition only marginally complete.

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?

Schema description coverage is 0%, so the description must compensate, and it does: it names all four parameters with meaning ('Node type name' with concrete examples like 'Sine', 'Wave Player (Mono)', 'Unique ID for this node instance', editor X/Y positions). This is more than the bare schema offers, though it could clarify units/coordinate space for position.

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?

States a specific verb and resource: 'Add a MetaSounds node to the current graph.' An agent immediately knows this creates a node in the MetaSounds graph. However, it does not distinguish itself from siblings like ms_add_variable_node or ms_add_variable, which also add nodes to the same graph.

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 when-to-use guidance, no prerequisites (e.g. whether a graph must be open or created first via ms_create_source/ms_build_graph), and no mention of alternatives such as ms_add_variable_node for variable nodes. The agent is left to infer context entirely.

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

ms_add_variableA

Add a graph variable to the current MetaSounds builder (UE 5.7+).

Graph variables store state within a MetaSound graph, readable and writable by Get/Set Variable nodes.

Args: name: Variable name (must be unique within the graph) type: Data type (Float, Int32, Bool, Trigger, Audio, Time, String) default_value: Optional default value as string

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
typeYes
default_valueNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description must carry the full behavioral burden. It usefully discloses the UE 5.7+ version requirement, the uniqueness constraint on names, and the allowed data types, but it does not mention mutation side effects, permissions, whether the graph must be saved afterward, or what happens on duplicate names.

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 front-loaded with the action and resource, then adds concise context and a clean Args section. Every sentence contributes useful information without repetition or filler.

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

Completeness4/5

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

For a three-parameter mutation tool with an output schema and no annotations, the description gives enough detail to call it correctly: purpose, required parameters, type values, and uniqueness constraint. It remains slightly incomplete because it does not address when to choose this tool over related alternatives or whether saving is required.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must fully compensate. It documents all three parameters, including the unique-name constraint for name, the complete allowed type list (Float, Int32, Bool, Trigger, Audio, Time, String), and that default_value is optional and passed as a string.

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 a specific verb and resource: adding a graph variable to the current MetaSounds builder. It distinguishes the concept from generic node addition by explaining that graph variables store state readable/writable by Get/Set Variable nodes, but it does not explicitly differentiate itself from siblings such as ms_add_variable_node or ms_add_node.

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 explains what a graph variable is but gives no guidance on when to use this tool versus alternatives like ms_add_node, ms_add_variable_node, or ms_set_default. It also omits any prerequisites beyond the UE 5.7+ requirement.

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

ms_add_variable_nodeA

Add a Get, Set, or GetDelayed variable node to the current graph.

Args: node_id: Unique ID for this node instance variable_name: Name of the graph variable to access mode: Access mode — "get" (read current), "set" (write), or "get_delayed" (read previous frame)

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoget
node_idYes
variable_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It usefully discloses that 'set' is a write and 'get_delayed' reads the previous frame, which is genuine semantic info, but it stays silent on failure modes (missing variable, no active graph) and on whether the operation mutates the graph immediately or is deferred until build.

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 lead sentence plus a compact Args block; nothing is padded and the purpose is front-loaded. The Args list mildly duplicates the schema but adds the mode enum semantics, so it earns its place.

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?

An output schema exists, so return values needn't be explained. What remains missing is the interaction boundary with the very similar sibling tools and the preconditions for adding a node, which matters for a graph-mutation tool with no annotations to fall back on.

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?

Schema description coverage is 0%, so the description must compensate and largely does: it defines node_id, variable_name, and enumerates the three legal mode values ('get', 'set', 'get_delayed') with their meanings, which the schema itself does not (no enum present). It stops short of full coverage because it doesn't state the uniqueness scope of node_id or what happens if the variable_name doesn't exist.

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?

States a specific verb and resource ('Add a Get, Set, or GetDelayed variable node') plus the scope ('to the current graph'), which is far more precise than the bare name. However, it never distinguishes itself from the near-identical siblings ms_add_node and ms_add_variable, so the agent cannot route between them from the text alone.

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?

Usage is only implied: the description tells the agent this adds to 'the current graph' and that three access modes exist, which hints at the read-vs-write use case. It gives no when-to-use condition, no prerequisites (does a graph have to be open?), and no guidance for choosing this over ms_add_variable or ms_add_node.

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

ms_auditionB

Preview/audition the current MetaSounds graph in the editor.

Args: name: Optional asset name to audition (empty = current)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states nothing about what auditioning does behaviorally: whether it starts audio playback, produces side effects, requires an open editor, or how playback is terminated. For a playback-triggering tool, this is a significant 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?

One-line purpose followed by a compact arg note; nothing is wasted and the core action is front-loaded. The 'Args:' block is slightly mechanical but efficient.

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?

An output schema exists, so return values need no explanation. However, for a playback-initiating tool with no annotations, the description omits prerequisites (open editor/asset context) and the relationship to ms_stop_audition, leaving the agent with partial operational context.

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?

Schema description coverage is 0% and the single parameter has no description in the schema, so the description compensates by explaining that 'name' is an optional audition target and that empty means the current graph. This clarifies the default behavior meaningfully.

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?

States a specific verb (preview/audition) and resource (the current MetaSounds graph), and 'in the editor' indicates the environment. It does not name the obvious counterpart ms_stop_audition, so it falls short of full sibling differentiation.

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 by clarifying 'current graph' vs a named asset, but gives no explicit when-to-use guidance, no prerequisites (editor must be open), and no mention of the alternative ms_stop_audition for ending playback.

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

ms_build_graphB

Validate a graph spec, convert to Builder commands, and send all to UE5.

This is the high-level tool that does everything: validate, convert, and execute the full command sequence via the UE5 plugin.

Args: graph_spec: JSON string of the MetaSounds graph specification

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose that this is a full mutating pipeline that executes commands against UE5, which is useful. However, it omits preconditions (does UE5 need to be connected?), whether it overwrites existing graph state, and what happens on validation failure.

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 pipeline summary is front-loaded and efficient, capturing the whole operation in one sentence before the Args block. The 'Args:' boilerplate is slightly redundant with the single-parameter schema but not costly.

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?

An output schema exists, so return values needn't be explained. For a high-complexity orchestration tool, however, the description leaves gaps around preconditions and failure behavior, and gives no help on the one opaque input it requires.

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 0% for the single required parameter. The description only restates that graph_spec is a 'JSON string of the MetaSounds graph specification,' adding almost no meaning beyond the schema's title 'Graph Spec' and offering no structural or format guidance an agent would need to construct it.

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: 'validate a graph spec, convert to Builder commands, and send all to UE5.' It also self-identifies as the high-level orchestrator, implicitly distinguishing it from the step-wise siblings ms_validate_graph and ms_graph_to_commands. It stops short of explicitly naming those siblings as 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?

'This is the high-level tool that does everything' implies you should reach for this instead of the individual validate/convert steps, but it never states when NOT to use it or explicitly names the alternative tools. Usage is implied rather than spelled out.

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

ms_connect_pinsB

Connect two node pins in the current MetaSounds graph.

Args: from_node: Source node ID from_pin: Source output pin name to_node: Destination node ID to_pin: Destination input pin name

ParametersJSON Schema
NameRequiredDescriptionDefault
to_pinYes
to_nodeYes
from_pinYes
from_nodeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It implies a mutation ('Connect') but does not disclose side effects, validation behavior, error conditions, or whether an editor/graph must be open. This is a significant gap for a mutation tool with zero annotation coverage.

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 front-loaded with the core action and then uses a compact Args block with zero waste. Every sentence and entry earns its place.

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?

An output schema exists, so return values need not be explained. However, with no annotations and zero schema descriptions, the definition still lacks behavioral context such as side effects or prerequisites. The essential parameter roles are covered, but the description is only minimally complete for a mutation tool.

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?

Schema description coverage is 0%, so the description must compensate. It does so by listing all four parameters with their semantic roles: source node ID, source output pin name, destination node ID, and destination input pin name. This meaningfully clarifies directionality beyond the bare schema titles, though format details remain absent.

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?

States a specific verb and resource: 'Connect two node pins in the current MetaSounds graph.' This clearly distinguishes the operation from generic graph tools. However, it does not explicitly differentiate itself from similar sibling tools like bp_connect_bp_pins or ue5_connect.

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 when-to-use guidance, prerequisites, or alternatives are given. The phrase 'in the current MetaSounds graph' implies context but does not tell the agent when this tool is appropriate versus other pin-connection tools.

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

ms_convert_to_presetA

Convert the current MetaSounds builder to a preset of a referenced asset.

The builder's graph becomes read-only, inheriting the referenced asset's topology. Only exposed input defaults can be overridden.

Args: referenced_asset: Content path of the source MetaSound (e.g. /Game/Audio/MySynth)

ParametersJSON Schema
NameRequiredDescriptionDefault
referenced_assetYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and discloses important behavioral traits: the builder's graph becomes read-only, inherits the referenced asset's topology, and only exposed input defaults can be overridden. It does not cover permissions, side effects like saving, or failure modes, so it falls short of a 5.

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

Conciseness5/5

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

The description is front-loaded with the core action, then adds behavioral constraints, then documents the argument. It is appropriately sized and every sentence contributes useful information with no filler.

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?

An output schema exists, so the description need not explain return values. Given that, it covers the key behavioral change and the single parameter well, but lacks prerequisites such as whether a builder must be open or selected, and does not route to alternatives like ms_preset_swap.

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?

Schema description coverage is 0%, so the description must compensate for the single parameter. It does so by explaining that referenced_asset is a 'Content path of the source MetaSound' and giving an example path, which is enough to use the parameter correctly. It stops short of stating format constraints or whether the asset must already exist.

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 specific verb ('Convert') and resource ('current MetaSounds builder to a preset of a referenced asset'), so the agent knows exactly what the tool does. It does not differentiate against similar siblings such as ms_preset_swap or ms_preset_morph, which keeps it short of 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?

The description gives no explicit when-to-use guidance, prerequisites, or alternatives. It implies action on 'the current MetaSounds builder' but leaves the agent to infer context and compare with related preset and graph tools on its own.

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

ms_create_sourceB

Create a new MetaSounds source builder in UE5.

Args: name: Name for the MetaSound asset asset_type: Asset type — Source, Patch, or Preset

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
asset_typeNoSource

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It states that a new asset is created, but does not disclose side effects, permissions, whether the asset is persisted automatically, or how it interacts with the UE5 project.

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 short and front-loaded: the first sentence states the action, and the Args section efficiently documents both parameters. There is no redundant or filler text.

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?

For a two-parameter creation tool with an output schema, the description covers the core action and parameter meanings. However, with no annotations and no sibling guidance, it leaves gaps around prerequisites, side effects, and when this tool is preferred over other MetaSounds tools.

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?

Schema description coverage is 0%, so the description must compensate. It explains that name is the MetaSound asset name and that asset_type accepts Source, Patch, or Preset, adding useful semantics beyond the bare schema titles.

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 specific verb and resource: 'Create a new MetaSounds source builder in UE5.' It is clear what the tool does, but it does not distinguish itself from nearby siblings such as ms_convert_to_preset or ms_build_graph.

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. It mentions valid asset_type values, but never states when a Source, Patch, or Preset should be created, nor which sibling tool handles other related tasks.

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

ms_export_graphB

Export a complete MetaSounds graph from UE5 — nodes, pin types, defaults, variables, interfaces.

Returns the full graph data. Optionally converts to our reusable template format.

Args: asset_path: Content path of the MetaSound asset (e.g. /Game/Audio/MySound) convert_to_template: If True, also convert the export to template format

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_pathYes
convert_to_templateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses the return payload ('Returns the full graph data') and the side option that a template conversion also occurs, but it never states that this is a non-mutating read, nor mentions permissions, cost, or whether the asset is left untouched — gaps for an unannotated 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?

Front-loaded with purpose, then return payload, then the optional flag, then a clean Args block. Slightly redundant ('Export a complete... graph' followed by 'Returns the full graph data'), but every segment is short and earns its place.

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?

An output schema exists, so return-value explanation is not required, and the description still names what is exported and documents both parameters, including the optional template conversion path. Complete enough to call correctly, missing only the guidance about when to pick this tool.

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?

Schema description coverage is 0%, so the description must compensate, and it does: asset_path is given with a concrete path format example (/Game/Audio/MySound) and convert_to_template is explained as converting to the reusable template format. Both parameters gain meaning beyond the bare schema types.

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?

States a specific verb and resource ('Export a complete MetaSounds graph from UE5') and even enumerates the contents (nodes, pin types, defaults, variables, interfaces), which lets the agent distinguish it from the import-direction sibling ms_graph_from_template. No sibling is named explicitly and no boundary against ms_graph_to_commands/ms_list_nodes is drawn, so it falls short of 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?

The description implies a read/export use case but never states when to choose this over alternatives such as ms_graph_to_commands, ms_list_nodes, or ms_graph_from_template. The only conditional offered ('Optionally converts to our reusable template format') describes a flag, not a selection criterion.

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

ms_graph_from_templateB

Generate a complete graph spec from a template.

Templates are auto-discovered from the metasounds template directory.

Args: template_name: Template name (e.g. "gunshot", "footsteps") params: JSON string of template parameters (overrides defaults)

Returns: JSON with the complete graph specification ready for validation.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNo{}
template_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that templates are auto-discovered from a specific directory and that output is 'ready for validation', which usefully implies a downstream ms_validate_graph step. It does not state whether generation is read-only, what happens if template_name is unknown, or whether defaults are persisted.

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

Conciseness4/5

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

Front-loaded with the core action, followed by a brief discovery note. The Args/Returns docstring block is conventional and slightly boilerplate, but nothing is wasteful for a 2-parameter tool.

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?

An output schema exists, so not explaining return values is acceptable even though it briefly does. The description covers the mechanics of both parameters at a high level but omits the relationship to the many template_* siblings and the expected params JSON structure, leaving an agent with gaps on routing and input format.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It explains template_name with concrete examples ('gunshot', 'footsteps') and clarifies that params is a JSON string that overrides defaults. It still does not describe the shape or keys of that JSON params object, leaving the main flexibility parameter partly opaque.

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?

States a specific verb and resource: 'Generate a complete graph spec from a template.' This is clear and distinct from low-level build tools like ms_add_node or ms_connect_pins. However, it does not differentiate itself from the numerous template_* siblings (template_gunshot, template_footsteps, template_ambient), which appear to do the same job by template identity.

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 choose this over the template_* siblings, ms_build_graph, or building a graph manually. The only implied context is that templates are auto-discovered from the metasounds template directory, which hints at a discovery workflow but does not state when this tool is the right call.

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

ms_graph_to_commandsA

Convert a validated graph spec to Builder API command sequence.

The command sequence can be sent to the UE5 plugin (Phase 3) to construct the MetaSound asset via the Builder API.

Args: graph_spec: JSON string of a valid graph specification

Returns: JSON with ordered command list for the Builder API.

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that this is a pure transformation producing an ordered command list, which signals no direct side effects, but says nothing about failure modes on invalid specs or any required permissions.

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

Conciseness4/5

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

Front-loaded one-line purpose followed by Args/Returns blocks; no wasted text, appropriately sized for a single-parameter transform tool.

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?

An output schema exists so return values needn't be detailed, yet the description still notes the ordered command list. For a simple pure-transform tool with one param, this is close to complete, with only the validation prerequisite left implicit.

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?

Schema coverage is 0%, but the description documents the single parameter as a JSON string of a valid graph specification and the 'validated'/'valid' wording implies a prior validation step (ms_validate_graph), adding meaning beyond the bare 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 gives a specific verb+resource+output: convert a validated graph spec into a Builder API command sequence. This distinguishes it from ms_validate_graph and ms_build_graph, though it doesn't explicitly name those 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?

It states the downstream consumer (UE5 plugin Phase 3 / Builder API), which implies the workflow context, but offers no explicit when-to-use vs alternatives or prerequisites beyond 'validated'.

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

ms_list_categoriesA

List all MetaSounds node categories with counts.

Returns: JSON with category names and node counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the return shape (category names + node counts). It says nothing about whether categories are static or engine-synced, permission needs, or whether the engine connection must be live, which matters given the ue5_*/ms_sync_from_engine siblings.

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?

Two short sentences, purpose front-loaded, no filler. The trailing 'Returns:' block is mildly redundant given the output schema but is one line and not wasteful.

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

Completeness4/5

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

For a zero-parameter read with a full output schema, the description covers what the tool produces and needs no return-value elaboration. The only gap is the absence of any hint about when in the MetaSounds workflow to call it.

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 tool takes zero parameters, so the baseline of 4 applies; there is nothing for the description to disambiguate and no parameter semantics are missing.

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 a specific verb and resource ('List all MetaSounds node categories') plus the payload characteristic ('with counts'), which cleanly separates it from ms_list_nodes (nodes) and ms_search_nodes. It never explicitly names those siblings, so it stops short of 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 Guidelines3/5

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

Usage is only implied: an agent can infer this is a discovery/introspection call to run before drilling into nodes, but there is no statement of when to prefer it over ms_list_nodes, ms_search_nodes, or bp_list_categories, and no exclusions or prerequisites.

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

ms_list_nodesB

List MetaSounds nodes, optionally filtered by category or tag.

Args: category: Filter by category (e.g. "Filters", "Generators") tag: Filter by tag (e.g. "underwater", "oscillator")

Returns: JSON with node list including name, category, description, and pin counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNo
categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only listing operation and describes return fields, but it does not explicitly state safety, side effects, permissions, or engine/connection 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 definition is front-loaded and compact, using clear Args and Returns sections. Every sentence contributes to understanding the tool, with no wasted text.

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?

Given the simple two-parameter listing operation and the presence of an output schema, the description is adequate. However, it lacks annotations and does not explain how it relates to sibling listing/search tools, leaving some routing ambiguity.

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 has 0% description coverage, so the description must compensate. It explains both optional parameters and gives concrete examples for category ('Filters', 'Generators') and tag ('underwater', 'oscillator'), adding useful meaning beyond the bare 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 states a clear verb and resource: 'List MetaSounds nodes.' It adds the optional filtering scope by category or tag. It does not distinguish itself from close siblings such as ms_search_nodes or ms_list_categories, so it falls short of 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?

The description mentions optional filters but gives no guidance on when to use this tool versus alternatives like ms_search_nodes or ms_node_info, and no exclusions or prerequisites. Usage is only implied by the word 'List.'

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

ms_macro_triggerA

Execute a named sequence of parameter changes and/or preset swaps.

Each step is a dict with:

  • "action": "set_default" or "convert_to_preset"

  • Plus action-specific fields (node_id/input/value or referenced_asset)

Useful for cinematic audio cues, dynamic music transitions, and scripted sound design sequences.

Args: name: Descriptive name for this macro sequence steps_json: JSON array of step dicts

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
steps_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It discloses the step structure and action types ('set_default' or 'convert_to_preset'), which tells the agent what mutations will occur. But it does not say whether the sequence is atomic, whether changes are saved automatically, what side effects might occur, or what permissions are required – significant gaps 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?

The description is front-loaded with the tool's purpose, then describes the step format, use cases, and arguments in a compact list. It is appropriately sized and every sentence contributes, though the 'Args' section slightly repeats parameter names without much added explanation.

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?

Given the tool's complexity (a macro executor), the poor schema coverage (0%), and the absence of annotations, the description provides essential parameter structure and use cases. However, it omits behavioral caveats such as whether the operation is destructive, whether it saves automatically, or error handling, leaving the agent without full context for safe invocation. The output schema exists, so return values need not be explained.

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?

Schema description coverage is 0%, so the description must compensate, and it does. It explains that 'name' is a descriptive name and 'steps_json' is a JSON array of step dicts, including the required 'action' field and action-specific fields like node_id/input/value or referenced_asset. This is substantial semantic detail beyond the bare schema types.

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 specific verb and resource: 'Execute a named sequence of parameter changes and/or preset swaps.' It is clear what the tool does, but it does not explicitly differentiate itself from siblings like ms_set_default, ms_convert_to_preset, or ms_preset_swap, so the agent must infer that this tool is for multi-step macros.

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?

It gives use cases ('cinematic audio cues, dynamic music transitions, and scripted sound design sequences'), which implies when to use it. However, it does not state when not to use it or name alternative tools for single parameter changes or preset swaps, leaving the agent to infer the distinction.

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

ms_node_infoA

Get full details for a specific MetaSounds node.

Args: node_name: Exact node name (e.g. "Biquad Filter", "Wave Player (Mono)")

Returns: JSON with complete node definition including all pins and defaults.

ParametersJSON Schema
NameRequiredDescriptionDefault
node_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries full behavioral burden. It discloses the return shape (JSON node definition with pins and defaults) and stresses the name must be exact, but says nothing about read-only nature, where valid names come from, or failure behavior for an unknown name.

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

Conciseness4/5

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

Front-loaded one-line purpose followed by a compact Args/Returns block. Structured and efficient; the Args/Returns headers are slightly formal but nothing is wasted.

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

Completeness4/5

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

For a single-parameter lookup tool with an output schema, the definition is nearly self-sufficient. The remaining gap is that it never tells the agent where a valid exact node name originates (the ms_search_nodes/ms_list_nodes siblings).

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?

With 0% schema coverage on the single parameter, the description must compensate and largely does: it specifies the argument is the 'Exact node name' and supplies two concrete examples ('Biquad Filter', 'Wave Player (Mono)'), which meaningfully exceeds the bare schema type: string.

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?

States a specific verb (Get) and resource (full details for a specific MetaSounds node), and the word 'specific' implicitly separates it from list/search siblings like ms_list_nodes and ms_search_nodes. It stops short of naming those alternatives, so it is clear but not fully differentiated.

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?

Usage is only implied: call it when you already have a node name and need full details. There is no explicit when-to-use/when-not guidance and no routing to ms_search_nodes or ms_list_nodes for discovering node names, which is the natural prerequisite.

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

ms_open_in_editorA

Open the last built MetaSound asset in the UE5 MetaSounds editor.

Must call ms_save_asset first to create a .uasset on disk. Opens the graph editor showing all nodes and connections visually.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses the save-first prerequisite and that a visual graph editor opens showing nodes and connections, but it never states whether the operation is side-effect-free, whether it requires a live editor/connection, or what happens when no asset has been built.

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?

Three short lines, front-loaded with the core action, then the prerequisite, then the observable result. Every sentence earns its place with no filler.

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

Completeness4/5

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

For a zero-parameter tool that has an output schema (so return values need not be described), the description covers purpose, precondition, and visual outcome adequately. It could be more complete by noting editor/connection requirements or failure behavior when no asset exists.

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 tool takes zero parameters, so the baseline of 4 applies. There is nothing parameter-related the description could add or omit.

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?

States a specific verb and resource ('Open the last built MetaSound asset in the UE5 MetaSounds editor'), so the agent knows exactly what action and target are involved. It does not explicitly contrast with nearby siblings like ms_audition or ms_export_graph, so it stops short of full sibling differentiation.

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?

Gives a concrete precondition ('Must call ms_save_asset first to create a .uasset on disk'), which tells the agent the ordering required before invocation. It does not name alternative tools or state when NOT to use this one, so it lacks explicit exclusions.

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

ms_preset_morphA

Build a MetaSound Source that morphs between two parameter sets.

Creates a Source with a Morph input (0.0-1.0) that smoothly interpolates each parameter between set A (Morph=0) and set B (Morph=1). Uses Map Range nodes for each parameter and InterpTo for smooth transitions.

Args: name: Name for the morph MetaSound asset param_set_a_json: JSON object of param_name -> value at Morph=0 param_set_b_json: JSON object of param_name -> value at Morph=1 asset_path: Content path for the output asset

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
asset_pathNo/Game/Audio/Generated/
param_set_a_jsonYes
param_set_b_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that the tool constructs Map Range nodes per parameter and InterpTo transitions, and that the morph input operates on a 0.0-1.0 range. It omits overwrite/asset-collision semantics and creation failure behavior, which matter for a mutating asset-creation tool, keeping it short of a 5.

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

Conciseness4/5

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

The purpose sentence is front-loaded, followed by the interpolation mechanics and then an Args block. The Args block partly duplicates the schema, but given 0% schema description coverage that duplication is functional rather than wasteful.

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

Completeness4/5

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

For a graph-construction tool with an output schema and no annotations, the description covers purpose, morph semantics, and every parameter. It stops short of covering overwrite behavior or what happens on invalid, but an agent has enough to invoke it correctly.

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?

Schema coverage is 0%, so the description must compensate, and the Args block documents all four parameters including the defaulted asset_path, which the raw schema leaves as bare titles. It adds meaning (set A at Morph=0, set B at Morph=1) but does not specify the JSON value typing or the required shape beyond 'param_name -> 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 gives a specific verb and resource: it builds a MetaSound Source that morphs between two parameter sets, with the morph semantics (Morph 0.0-1.0 interpolating set A to B) spelled out. It does not, however, name or contrast with any sibling such as ms_preset_swap or ms_create_source, which is the natural alternative an agent would weigh.

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?

Usage is only implied: an agent can infer this is for creating a parameter-morphing source, but there is no explicit when-to-use, when-not-to-use, or routing to alternatives like ms_preset_swap or ms_create_source. The morph range is stated but is a mechanic, not guidance about choosing this tool.

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

ms_preset_swapA

Create a preset variant from an existing MetaSound asset.

A preset shares the referenced asset's graph topology but overrides specific input defaults. Use this to create weapon/surface/character variants without duplicating the graph.

Args: preset_name: Name for the new preset asset referenced_asset: Content path of the source MetaSound to reference overrides_json: JSON object of input_name -> value overrides asset_path: Content path for the output asset

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_pathNo/Game/Audio/Generated/
preset_nameYes
overrides_jsonNo{}
referenced_assetYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It explains that the preset shares the referenced asset's graph topology, which is crucial. It also clarifies the overriding behaviour. However, it could mention if the referenced asset must exist or if the operation is non-destructive.

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?

It is well-structured, front-loaded with the purpose, and every sentence adds value. The parameter list is clean and directly follows the description.

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?

It is complete enough for an agent to use it, especially since an output schema exists. The only minor gap is the absence of details about the output asset or potential errors, but that is not critical.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate. It provides a clear meaning for each of the four parameters, including what the JSON object represents ('input_name -> value overrides'), going well beyond the schema.

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?

It states a specific verb and resource ('Create a preset variant'), explains what a preset shares and overrides, and provides a concrete use case ('weapon/surface/character variants'). This clearly distinguishes it from siblings like ms_convert_to_preset and ms_preset_morph.

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

Usage Guidelines4/5

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

It gives clear context for when to use it ('create variants without duplicating the graph'), which implies when not to use it (full graph duplication), but it doesn't explicitly name alternative tools or routing conditions.

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

ms_save_assetC

Build the current MetaSounds graph to a UE5 asset.

Args: name: Asset name path: Content path (default /Game/Audio/Generated/)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/Audio/Generated/

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only names the operation and default path. It does not say whether an existing asset is overwritten, whether the editor must be open, what permissions are needed, or what side effects occur. The one useful addition is the default path for generated content.

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 short and front-loads the action before listing arguments. It avoids filler, though the argument list is minimal and could be slightly more informative without bloat.

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?

For a two-parameter tool with an output schema, the description covers the basic action and both parameters, so an agent can invoke it. However, missing annotations and absent when-to-use or side-effect details leave gaps for a tool that writes an asset.

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

Parameters3/5

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

Schema description coverage is 0%, so the description is the main source for parameter meaning. It documents both parameters ('name: Asset name', 'path: Content path (default /Game/Audio/Generated/)'), which is better than nothing, but 'Asset name' is nearly tautological and no format or validation details are added.

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?

States a specific action ('Build the current MetaSounds graph to a UE5 asset') and names the resource (MetaSounds graph) and target (UE5 asset). However, it does not distinguish this tool from closely related siblings like ms_build_graph or ms_export_graph, and the verb 'Build' could be confused with save semantics.

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 about when to use this tool versus alternatives such as ms_build_graph, ms_export_graph, or ms_graph_to_commands. It only lists the two arguments and does not say when saving/building to an asset is appropriate or what prerequisites exist.

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

ms_search_nodesA

Semantic search for MetaSounds nodes by description or purpose.

Uses TF-IDF embeddings for meaning-based search with tag fallback. Examples: "underwater effect", "random variation", "smooth transition"

Args: query: Natural language search query

Returns: JSON with ranked results (name, score, category, description).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden. It discloses the search mechanism ('TF-IDF embeddings for meaning-based search with tag fallback') and the return shape ('ranked results (name, score, category, description)'), which gives an agent useful context. It does not mention permissions or rate limits, but these are less critical for a read-only search 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 front-loaded with the core purpose, followed by method, examples, and structured Args/Returns sections. Every sentence adds value without redundancy or waste.

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

Completeness4/5

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

For a simple search tool with one parameter and an output schema, the description covers purpose, method, parameter meaning, and return structure adequately. The only notable gap is the lack of explicit routing to sibling tools, but otherwise it provides what an agent needs to invoke the tool correctly.

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 provides no description for the single query parameter (0% coverage), so the description must compensate. It does so by describing it as a 'Natural language search query' and providing example queries, which clarifies the expected format far beyond the schema's bare type information.

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 specific verb and resource: 'Semantic search for MetaSounds nodes by description or purpose.' It clearly communicates what the tool does, but does not explicitly differentiate itself from sibling tools like ms_list_nodes or ms_node_info, which likely cover browsing or fetching node details.

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?

Usage is implied through examples such as 'underwater effect' and 'random variation,' which show the kind of natural-language queries expected. However, there is no explicit guidance on when to use this semantic search versus alternatives like ms_list_nodes or browsing categories, and no exclusions are stated.

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

ms_set_defaultB

Set a default value for a node input pin.

Args: node_id: Node instance ID input_name: Input pin name value: Default value (JSON-encoded for complex types)

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
node_idYes
input_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden. It notes encoding for complex values but does not disclose mutation side effects, persistence, prerequisite node state, or error behavior.

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 tightly front-loaded: one sentence states the action, followed by a compact argument list. Every line adds useful information without filler.

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?

An output schema exists, so return values need not be described. However, with no annotations and no usage guidance, the description leaves behavioral prerequisites and when-to-use context incomplete for a graph mutation tool.

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?

Schema description coverage is 0%, so the description must compensate. It briefly documents all three parameters, including that node_id is a node instance ID, input_name is an input pin name, and value is JSON-encoded for complex types.

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 specific verb and resource: setting a default value for a node input pin. It is clear enough to distinguish from tools like ms_connect_pins or ms_add_node, but it does not name or contrast with any sibling tool.

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 explains what the tool does but gives no guidance on when to use it, when not to use it, or which alternatives exist. It lists arguments only, leaving usage context to inference.

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

ms_stop_auditionB

Stop any currently playing MetaSounds audition preview.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it only says it stops playback. It does not state whether it is safe/idempotent, what happens if nothing is playing, whether it returns an error, or whether it affects saved assets.

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 with no filler; every word earns its place.

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

Completeness4/5

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

For a zero-parameter stop action with an output schema documenting the return, the description is nearly sufficient. The only missing piece is behavioral context (no-op/error behavior), which keeps it from a 5.

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 tool takes zero parameters, so there is nothing for the description to add; the baseline for a no-param tool applies.

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?

Specific verb+resource: 'Stop ... MetaSounds audition preview.' The 'any currently playing' scope qualifier makes the effect unambiguous, and it is clearly distinct from ms_audition. It stops short of a 5 only because it does not name the sibling it pairs with.

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 explicit when-to-use guidance and no mention of ms_audition as the counterpart that starts the preview. The usage context (after auditioning) is only inferable from the tool name, not stated.

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

ms_sync_from_engineA

Sync MetaSounds node catalogue from the running UE5 engine.

Calls the list_metasound_nodes command to get ALL registered node classes with their complete pin specs directly from the engine registry. Updates the in-memory METASOUND_NODES dict and optionally the SQLite DB.

Args: update_db: If True, also upsert nodes into the SQLite knowledge DB filter: Optional substring filter for node class names limit: Max nodes to fetch (default 5000)

Returns: JSON summary: total nodes, new nodes added, existing nodes updated, categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
filterNo
update_dbNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does reasonably well: it discloses the side effects (updates the in-memory METASOUND_NODES dict and optionally upserts into the SQLite DB) and the delegation to an engine command. It does not state the engine-connection requirement, whether existing entries are overwritten/lost, or any failure mode.

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

Conciseness4/5

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

Front-loaded with the core action in the first line, then a short mechanism sentence, then Args/Returns. The Returns block is somewhat redundant given an output schema exists, but the overall structure is clean and each section is brief.

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

Completeness4/5

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

For a sync tool with three optional params and an output schema present, the description covers purpose, mechanism, side effects, and parameter meaning adequately. It omits the engine-connection prerequisite and the overwrite semantics of the sync, which are the main remaining gaps.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does: update_db is explained as an optional SQLite upsert, filter as a substring filter on node class names, and limit as the max nodes to fetch with its 5000 default. All three parameters gain meaning beyond the bare schema types.

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

Purpose5/5

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

States a specific verb and resource ('Sync MetaSounds node catalogue from the running UE5 engine') and explains the mechanism (calls list_metasound_nodes against the engine registry, refreshes the in-memory METASOUND_NODES dict). This clearly distinguishes it from read-only siblings like ms_list_nodes/ms_search_nodes and from the analogous bp_sync_from_engine.

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 (refreshing the local catalogue from the engine) but never states when an agent should call this versus ms_list_nodes, ms_node_info, or bp_sync_from_engine. No prerequisites (e.g. an active ue5_connect session) or exclusions are given, so the agent must infer context.

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

ms_validate_graphA

Validate a MetaSounds graph specification.

Checks node types exist, pin names are valid, type compatibility, required inputs are connected, no duplicate IDs.

Args: graph_spec: JSON string of the graph specification

Returns: JSON with validation result: errors list (empty = valid).

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses the validation checks and the return shape (errors list, empty means valid), but it does not state whether the operation mutates state, requires an active editor/connection, or has any side effects.

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 front-loaded with purpose and checks, then structured with Args and Returns blocks. It is compact overall, though the Returns block slightly duplicates the available output schema.

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

Completeness4/5

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

For a one-parameter validation tool with an output schema, the description covers purpose, checks, argument meaning, and error return format adequately. Missing side-effect or permission context is minor for a validator, especially since the output schema handles return details.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It identifies graph_spec as a JSON string of the graph specification, adding type and intent beyond the bare schema, but it does not describe the expected JSON structure or fields.

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 verb and resource: validate a MetaSounds graph specification. It further enumerates the exact checks performed, so the agent can distinguish it from sibling build/connect/save tools without opening schemas.

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 when-to-use guidance, prerequisites, or alternatives are provided. The agent must infer that this is a pre-build validation step from the name and sibling context.

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

place_anim_notifyB

Place an AnimNotify_PlaySound on an animation at a specific time.

This is the proper way to sync sounds to animation frames (e.g. footsteps at the exact moment each foot hits the ground).

Args: animation_path: Animation asset path (e.g. "/Game/Characters/Anims/Walk") time: Time in seconds where the notify fires sound: Optional SoundBase asset path to play notify_name: Name for the notify event (default "Footstep")

ParametersJSON Schema
NameRequiredDescriptionDefault
timeYes
soundNo
notify_nameNoFootstep
animation_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It reveals that this mutates an animation asset, but says nothing about whether the asset must be open, whether changes are saved/persisted, what happens to existing notifies, or whether special permissions are needed. For a write operation with zero annotation coverage this is a real 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?

Purpose is front-loaded in the first sentence, the usage rationale follows, and the parameter block is necessary given 0% schema coverage. No filler sentences, though the layout could be slightly tighter.

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 output schema exists, so return values need not be explained, and the parameter block is adequate. But for a mutation tool with no annotations, the description omits sibling differentiation and persistence/save semantics, leaving meaningful gaps for correct invocation.

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?

Schema description coverage is 0%, so the description must compensate, and it largely does: it documents all four parameters including a concrete asset-path example, that time is in seconds, that sound is optional, and the default for notify_name. Minor imprecision remains (path format conventions, SoundBase vs. other asset types), but coverage is solid.

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

Purpose4/5

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

The description gives a specific verb+resource (place an AnimNotify_PlaySound on an animation) with a scoping detail (at a specific time), which is far more than a restatement of the name. However, it never distinguishes itself from the sibling place_bp_anim_notify, leaving the agent to guess which notify-placement tool applies to a given asset type.

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?

It offers a strong contextual hint by calling itself 'the proper way to sync sounds to animation frames' with a footstep example, which implies preferred usage. But it names no alternative (notably place_bp_anim_notify) and states no when-not condition, so the routing guidance is only implicit.

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

place_audio_volumeA

Place an AudioVolume actor — defines an ambient audio zone.

When the player enters this volume, reverb/interior settings activate. Use for rooms, caves, outdoor areas with different acoustic properties.

Args: location: World position as [x, y, z] extent: Half-size of the volume box as [x, y, z] (default [500,500,500]) name: Label for the volume actor reverb_effect: Optional ReverbEffect asset path priority: Volume priority (higher = takes precedence when overlapping)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoMCP_AudioVolume
extentNo
locationYes
priorityNo
reverb_effectNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose real behavioral traits: reverb/interior settings activate on player entry, and priority governs precedence when volumes overlap. However, it omits operational context such as whether an editor/UE connection is required, whether the actor persists or is saved, and what the call returns.

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

Conciseness4/5

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

Front-loaded with the essential verb+resource and purpose, followed by a short usage line and a clean Args list. No filler sentences; only the usage line and the args list could be marginally tighter.

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?

With an output schema present, return values need not be explained, and the parameter semantics are covered in the Args block. What remains missing is environmental preconditions (editor connection, save/persistence behavior), which matters given siblings like ue5_connect and ue5_status.

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?

Schema description coverage is 0%, so the description must compensate, and it largely does — it defines all five parameters, including non-obvious semantics like 'half-size of the volume box' for extent and 'higher = takes precedence' for priority, plus a default for extent. Minor gap: location units/frame are not specified.

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

Purpose5/5

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

States a specific verb ('Place') and resource ('AudioVolume actor'), then immediately defines what that actor is ('defines an ambient audio zone'). This distinguishes it from sibling spawn_audio_emitter and from Wwise-side 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?

Gives concrete usage context — 'Use for rooms, caves, outdoor areas with different acoustic properties' — which tells the agent when this tool applies. It does not name an alternative or state when NOT to use it (e.g., vs. spawn_audio_emitter or template_ambient), so it falls short of 5.

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

place_bp_anim_notifyA

Place a Blueprint-based AnimNotify on an animation at a specific time.

Unlike place_anim_notify (which creates engine AnimNotify_PlaySound), this places BP AnimNotify classes that can do surface detection, line traces, and material-based sound selection — the Lyra footstep pattern.

Args: animation_path: Animation asset path (e.g. "/Game/Characters/Anims/Walk") time: Time in seconds where the notify fires notify_blueprint_path: Blueprint AnimNotify asset path (e.g. "/Game/Blueprints/AnimNotifies/BP_AnimNotify_FoleyEvent_Walk_L") notify_name: Name for the notify event (default "BPNotify")

ParametersJSON Schema
NameRequiredDescriptionDefault
timeYes
notify_nameNoBPNotify
animation_pathYes
notify_blueprint_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It reveals what the placed notify can do, but never states whether placement mutates/saves the animation asset, whether it overwrites an existing notify at that time, permission prerequisites, or idempotency. For a mutation tool with zero annotation coverage, key operational traits are missing.

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

Conciseness4/5

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

Front-loaded statement of what the tool does, followed by a useful sibling contrast, then an Args block. Every section earns its place with little padding; the only minor redundancy is restating the example path inline in both prose and the Args list.

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?

An output schema exists, so return values need not be explained. Parameters are well covered, but for a mutation tool with no annotations the description leaves side effects (asset save, existing-notify handling) unspecified, which is a meaningful gap for an agent deciding how to invoke it safely.

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?

Schema description coverage is 0%, so the description must compensate — and it does: all four parameters are documented with concrete example paths, the units for time (seconds), and the default value for notify_name. It adds real meaning beyond the bare types in the schema, though it doesn't specify path format constraints or valid ranges.

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?

Specific verb (place) + resource (Blueprint-based AnimNotify on an animation) + scope (at a specific time). It explicitly distinguishes itself from the sibling place_anim_notify by naming what that tool creates (engine AnimNotify_PlaySound) versus what this one places. An agent can route between the two without opening either schema.

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

Usage Guidelines5/5

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

The description names the alternative (place_anim_notify) and the condition that selects it — use this one when you need BP notify classes that perform surface detection, line traces, and material-based sound selection, the 'Lyra footstep pattern'. This is an explicit when-to-use-this-instead-of-that statement.

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

possess_pawnA

Possess a Pawn/Character with a runtime player controller.

Args: actor: Pawn/Character label, object name, or full path returned by find_actor. player_index: Local player/controller index. set_view_target_on_possess: Also set the possessed pawn as the camera target.

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYes
player_indexNo
set_view_target_on_possessNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It explains the set_view_target_on_possess flag, but does not disclose what happens to the previously possessed pawn, whether a local player/controller must exist, multiplayer constraints, or whether the operation is reversible. These are significant omissions for a control-changing operation.

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 core purpose is front-loaded in one clear sentence, followed by a compact Args list for parameters. There is no wasted text, and every element 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?

An output schema exists, so return values need not be described. However, with no annotations and 0% schema description coverage, the definition only covers parameter semantics; it lacks usage guidance, safety/behavioral disclosure, and environment prerequisites. For a runtime control operation, these gaps are substantial.

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?

Schema description coverage is 0%, but the description documents all three parameters: actor formats (label, object name, full path from find_actor), player_index as a local player/controller index, and set_view_target_on_possess as a camera-targeting behavior. It compensates well for the schema gap, though it does not restate defaults or add constraints beyond the basic meanings.

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 verb ('Possess'), resource ('Pawn/Character'), and runtime context ('runtime player controller'). It is the only possession tool among the siblings, and the resource scope distinguishes it from find_actor and set_view_target.

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 when/when-not guidance or alternative tools are named. However, the actor parameter note that a value can be a 'full path returned by find_actor' implies a prerequisite workflow. This is implied usage rather than full routing guidance.

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

set_actor_transformA

Move and/or rotate an actor in the current editor or PIE world.

Args: actor: Actor label, object name, or full path returned by find_actor. location: Optional world position as [x, y, z]. rotation: Optional rotation as [pitch, yaw, roll] in degrees. focus_camera: Also frame the actor in the active editor viewport.

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYes
locationNo
rotationNo
focus_cameraNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations exist, so the description carries the load. It usefully discloses the target context (editor or PIE world) and the side effect of focus_camera (frames the actor), but says nothing about reversibility, failure when an actor cannot be resolved, or undo 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?

Front-loaded summary plus a tidy Args block; every line earns its place and there is no filler. Structure is appropriate for an args-heavy tool.

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?

An output schema exists so return values need not be explained, and all params are covered. However, with no annotations and a mutation tool, the description omits failure/permission/reversibility behavior, leaving an agent without key operational context.

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?

With 0% schema coverage the description must compensate, and it does: actor accepts a label/object name/full path, location is world [x,y,z], rotation is [pitch,yaw,roll] in degrees, and focus_camera frames the actor. All four parameters gain meaning beyond their bare titles.

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?

States a specific verb (move/rotate) and resource (actor) with scope ('current editor or PIE world'). It distinguishes editor vs PIE targeting, but does not explicitly contrast itself with nearby siblings such as set_view_target or possess_pawn.

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?

Usage is implied rather than stated: the actor arg points back to find_actor ('full path returned by find_actor'), suggesting the precondition, but there is no explicit when-to-use vs alternatives or when-not guidance.

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

set_physical_surfaceA

Set the surface type on a Physical Material (creates it if needed).

Surface types drive material-dependent sounds — e.g. footsteps on grass vs metal vs wood produce different sounds.

Args: material_path: Physical Material asset path (e.g. "/Game/Materials/PM_Grass") surface_type: Surface type name (e.g. "Grass", "Metal", "Wood", "SurfaceType1")

ParametersJSON Schema
NameRequiredDescriptionDefault
surface_typeYes
material_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It discloses one important trait: the tool will create the Physical Material if it does not exist. It does not state whether existing surface types are overwritten, what permissions are required, or other side effects—gaps 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?

The description is front-loaded with the core purpose, followed by a brief rationale and structured Args. Every sentence earns its place; no wasted words. The only minor inefficiency is the slightly verbose sound explanation for a simple setter.

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

Completeness4/5

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

For a simple 2-parameter setter with an output schema already present, the description covers purpose, parameter meanings, and the auto-creation behavior. It lacks explicit notes about overwriting existing surface types or permission requirements, but otherwise is complete enough for correct invocation.

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?

Schema description coverage is 0%, so the description must define parameters. It does so well, providing meaning and format examples for both: material_path as an asset path (e.g., '/Game/Materials/PM_Grass') and surface_type as a name (e.g., 'Grass', 'Metal', 'Wood'). It adds substantial value beyond the bare 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 states a specific verb and resource: 'Set the surface type on a Physical Material', and adds the useful condition '(creates it if needed)'. It clearly distinguishes the tool from most siblings by domain, though it does not 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 by explaining that surface types drive material-dependent sounds, giving context for when to call it. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide prerequisites or exclusions.

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

set_view_targetA

Set the runtime player camera view target to an actor.

This is intended for PIE/simulation. Use focus_editor_camera for the editor viewport.

Args: actor: Actor label, object name, or full path returned by find_actor. blend_time: Camera blend duration in seconds. player_index: Local player/controller index.

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYes
blend_timeNo
player_indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the runtime/PIE-only scope, which is genuinely useful context, but says nothing about whether the change persists, permission requirements, or behavior when the actor is invalid. Adequate but incomplete for a mutation tool with zero annotation coverage.

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

Conciseness4/5

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

Front-loads the core action in one sentence and follows with the sibling routing and a compact Args block. Well-sized, though the Args listing is slightly redundant with the schema at a small cost to tightness.

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?

An output schema exists, so return-value detail is unnecessary. The description covers purpose, scope, alternative tool, and all three parameters, leaving only edge-case behavior (invalid actor, failure modes) unstated.

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?

Schema description coverage is 0%, so the description must compensate, and it does: actor accepts a label, object name, or full path from find_actor; blend_time is in seconds; player_index is a local player/controller index. Units and accepted formats add real value beyond the bare schema types.

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

Purpose5/5

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

States a specific verb (set) and resource (runtime player camera view target to an actor), and explicitly distinguishes itself from focus_editor_camera. An agent can identify this tool from the sibling list without opening the schema.

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

Usage Guidelines5/5

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

Gives both the when ('intended for PIE/simulation') and the when-not with the named alternative ('Use focus_editor_camera for the editor viewport'). This is exactly the routing guidance an agent needs.

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

spawn_audio_emitterA

Spawn a persistent AmbientSound actor at a world location.

Creates a spatial audio source that gets louder as the player approaches. Perfect for environmental sounds (campfire, waterfall, machinery).

Args: sound: SoundBase/MetaSound asset path (e.g. "/Game/Audio/Ambient/Fire") location: World position as [x, y, z] name: Label for the emitter actor auto_play: Whether to start playing immediately (default True)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoMCP_AudioEmitter
soundYes
locationYes
auto_playNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses persistence, the spatial distance-attenuation behavior, and the auto_play default, but says nothing about permissions, actor lifetime/cleanup, whether re-spawning is idempotent, or how the emitter interacts with existing world 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?

Front-loaded with the core action, then supporting intent, then a clean Args block. Slightly padded by the 'Perfect for...' sentence, but every part is useful and nothing is redundant.

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?

An output schema exists, so return values need no explanation, and the parameters are well-covered. The main gap is behavioral: no annotation coverage on a world-mutating spawn tool, leaving lifetime/cleanup and safety semantics unstated.

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?

Schema description coverage is 0%, so the description must compensate, and it largely does: it explains sound as a SoundBase/MetaSound asset path with a concrete example, location as [x, y, z], name as the actor label, and auto_play's default. Only the valid range/units for location and acceptable asset path constraints are left implicit.

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?

States a specific verb and resource ('Spawn a persistent AmbientSound actor at a world location') and clarifies the resulting behavior (spatial audio that scales with player distance). It is distinct enough from siblings like place_audio_volume and template_ambient, though it never explicitly names an alternative to distinguish itself from them.

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?

Usage is implied through examples ('Perfect for environmental sounds (campfire, waterfall, machinery)'), which gives an agent a sense of intent but no when-not conditions or comparison to sibling tools such as place_audio_volume or template_ambient.

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

spawn_blueprint_actorA

Spawn an instance of a Blueprint actor into the editor level.

Use this to place a character/object in the scene so you can see it while wiring up audio. Great for demos and iterative sound design — spawn it, open its Blueprint, wire sounds, compile, hear it live.

Args: blueprint_path: Blueprint asset path (e.g. "/Game/Blueprints/BP_Creature") location: World position as [x, y, z] (default origin) rotation: Rotation as [pitch, yaw, roll] in degrees (default zero) label: Optional display label for the spawned actor

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNo
locationNo
rotationNo
blueprint_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states the spawn is into the editor level, but does not disclose side effects, undoability, required connection state, or what happens on failure. This is a significant gap for a mutation tool with zero annotation coverage.

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

Conciseness4/5

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

Front-loaded with the core action, followed by usage context and a well-structured Args block. The demo/sound-design sentence is slightly promotional but illustrative, and every other sentence earns its place given the need to document params.

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?

An output schema exists, so return values need not be explained. However, without annotations, the description leaves behavioral and prerequisite details unaddressed (editor connection, persistence, safeguards), making it only partially complete for a mutation tool.

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?

Schema description coverage is 0%, so the description must compensate. It documents all four parameters with types, formats ([x,y,z], [pitch,yaw,roll] in degrees), defaults (origin, zero), an example blueprint path, and the optional label, adding substantial meaning beyond the bare 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?

States a specific verb and resource: spawn an instance of a Blueprint actor into the editor level. It distinguishes by resource type (Blueprint actor) from general spawn/place siblings like spawn_audio_emitter, but does not explicitly name or contrast with them.

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 for when to use it: placing a character/object in the scene for audio wiring, demos, and iterative sound design. It does not name alternatives or exclusions, leaving the agent to infer when not to use it.

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

template_aaa_setupA

Create a complete AAA Wwise project structure (Bjorn Jacobson method).

Creates separate Work Units for merge-safe version control, structured bus hierarchy for clear signal routing, and switch/state groups for runtime control.

Naming convention: Type_Owner_Category_Action_Material_Variation Example: sfx_plyr_loc_walking_dirt_01

Everything goes into dedicated Work Units — nothing in Default Work Unit.

Args: bus_structure: JSON override for bus tree (default: AAA standard with AmbientMaster, NPCMaster, PlayerMaster, UIMaster, MusicMaster, Reverbs) actor_work_units: JSON array of Actor-Mixer Work Unit names (default: Player_Locomotion, Player_Weapons, NPC_Locomotion, NPC_Voice, Ambience, UI, Music) event_work_units: JSON array of Event Work Unit names (default: Player, NPC, Locomotion, Ambience, UI, Music) switch_groups: JSON dict of SwitchGroup name -> values array (default: Surface_Type, Footstep_Type) state_groups: JSON dict of StateGroup name -> values array (default: Weather, PlayerState, Zone) include_reverbs: Create Reverb AuxBuses (LargeRoom, SmallRoom, Cave, Outdoor)

ParametersJSON Schema
NameRequiredDescriptionDefault
state_groupsNo
bus_structureNo
switch_groupsNo
include_reverbsNo
actor_work_unitsNo
event_work_unitsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose meaningful behavior: separate Work Units for merge-safe version control, the rule that 'nothing goes in Default Work Unit', and the naming convention. It stops short of stating whether an existing project is overwritten, whether it is idempotent, or what connection/permissions it needs.

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

Conciseness4/5

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

Front-loaded with the core action and the key behavioral rule (merge-safe Work Units), then structured args. The naming-convention line and example earn their place by encoding a required convention. Slightly verbose, but no filler sentences.

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?

An output schema exists, so return values need not be explained, and the description covers the structural outcome plus all six inputs. What is missing for a no-annotation mutation tool is the operational envelope — prerequisites (Wwise connection), effect on pre-existing content, and whether it can be safely re-run.

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?

Schema coverage is 0% — the schema only supplies titles and empty-string defaults — so the description must compensate, and it does: every one of the six params is described, each with its default value (bus masters, work-unit lists, switch/state groups, reverb buses). It clarifies that the string-typed fields take JSON, which the schema does not. Minor gap: no JSON shape example for the overrides.

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

Purpose5/5

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

States a specific verb and resource ('Create a complete AAA Wwise project structure') and names the underlying method, which distinguishes it from sibling template tools like template_ambient or template_ui_sound that build narrower scaffolds. An agent can tell this is the full-project bootstrap rather than a partial template.

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?

Usage is implied by 'complete AAA Wwise project structure' — it's the full-scaffold tool — but the description never explicitly says when to choose it over template_ambient/template_ui_sound/build_aaa_project, nor whether it should run once on a fresh project. No exclusions or prerequisites are stated.

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

template_ambientB

Create an RTPC-driven ambient blend system: GameParameter + BlendContainer + looped Sounds + Event.

Args: layer_names: JSON array of layer/sound names rtpc_parameter_name: Name for the RTPC GameParameter

ParametersJSON Schema
NameRequiredDescriptionDefault
layer_namesNo["Wind_Light", "Wind_Medium", "Wind_Heavy"]
rtpc_parameter_nameNoWind_Intensity

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It names the object types created and implies a write operation via 'Create', but does not state required connection state, whether existing objects are reused or overwritten, whether the operation is idempotent, or what side effects occur in the Wwise project.

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 front-loaded with its purpose and then lists the two parameters compactly. Every sentence earns its place, especially given the 0% schema description coverage, and there is no filler or repetition.

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 output schema means return values need not be explained, and the description identifies the created system and parameter meanings. However, for a multi-object creation tool with no annotations, it omits prerequisite context (e.g., Wwise connection or existing assets) and side-effect behavior that an agent would need before invoking it safely.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate for both parameters. It explains layer_names as a JSON array of layer/sound names (useful because the schema type is string) and rtpc_parameter_name as the RTPC GameParameter name, but it does not provide format constraints, validation rules, or examples beyond the schema defaults.

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 specific verb and resource: 'Create an RTPC-driven ambient blend system' and lists the component objects (GameParameter, BlendContainer, looped Sounds, Event). This is clear enough for an agent to know what will be produced, though it does not explicitly differentiate from sibling templates such as template_weather_states or template_ui_sound.

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 when-to-use guidance, no prerequisites, and no named alternatives. It simply states what the tool creates, leaving the agent to infer that this is the ambient-template option among the sibling template tools.

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

template_footstepsA

Create a surface-switched footstep system: SwitchGroup + SwitchContainer + per-surface RandomSeq + Event.

Args: surface_types: JSON array of surface type names with_switch_group: Create the SwitchGroup (set false if it already exists)

ParametersJSON Schema
NameRequiredDescriptionDefault
surface_typesNo["Concrete", "Wood", "Grass", "Metal", "Gravel", "Water"]
with_switch_groupNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations exist, so the description must carry the behavior burden. It usefully discloses what gets built (the object graph and per-surface random sequences), but is silent on persistence (no mention of whether it saves or requires wwise_save), what happens to pre-existing objects, permissions, or the project scope it writes into.

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

Conciseness4/5

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

Front-loaded with the purpose, followed by a compact Args block. Slightly terse on the parameter format for surface_types, but no wasted sentences and every line earns its place.

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?

An output schema exists, so return-value explanation is unnecessary, and the created-object inventory is given. However, for a multi-object creation template the description omits where the objects are placed in the project, whether saving is required, and how existing structures are handled, leaving real gaps.

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?

Schema coverage is 0%, so the description must compensate. It successfully clarifies that surface_types is a JSON array of surface type names (the schema types it merely as a string with a JSON-looking default, which could mislead) and explains the conditional meaning of with_switch_group. Both parameters are covered.

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

Purpose5/5

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

States a specific verb (Create) and a precise resource (a surface-switched footstep system), then enumerates the exact object hierarchy produced (SwitchGroup + SwitchContainer + per-surface RandomSeq + Event). This clearly distinguishes it from siblings like template_gunshot, template_ambient, and template_ui_sound.

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 with_switch_group note ('set false if it already exists') implies the re-run/incremental scenario, which is useful context, but there is no explicit statement of when to pick this template over the other template_* siblings or any prerequisites (connected project, save afterwards).

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

template_gunshotB

Create a complete gunshot system: RandomSequenceContainer + Sound children + Event.

Args: weapon_name: Weapon name (used in object naming) num_variations: Number of sound variation slots to create pitch_randomization: Pitch randomization range in cents (stored as note)

ParametersJSON Schema
NameRequiredDescriptionDefault
weapon_nameNoRifle
num_variationsNo
pitch_randomizationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It states what objects are created, but does not disclose whether creation is destructive, overwrites existing objects, requires specific permissions, or what happens if the same weapon_name already exists.

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 front-loaded with the core action and then lists arguments clearly. It is appropriately sized for the tool, though the Args list format is slightly mechanical rather than fully integrated.

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?

An output schema exists and all three parameters are explained, so return values and argument meaning are covered. However, for a no-annotation mutation template tool, the description still leaves out usage guidance, prerequisites, and side-effect behavior, making it minimally adequate but incomplete.

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?

Schema description coverage is 0%, so the description must define the parameters, and it does: weapon_name is used in object naming, num_variations controls sound variation slots, and pitch_randomization is a cents range stored as a note. This adds meaningful semantics beyond the schema titles and defaults.

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

Purpose4/5

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

The description gives a specific verb and resource: 'Create a complete gunshot system,' then enumerates the generated pieces (RandomSequenceContainer, Sound children, Event). This clearly distinguishes it from generic object creation, but it does not explicitly differentiate from sibling templates like template_ambient or template_ui_sound.

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 explicit guidance on when to use this tool versus alternatives, nor any preconditions such as an active Wwise connection. Usage is only implied by the tool name and the word 'gunshot'.

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

template_ui_soundA

Create a non-spatial UI sound: ActorMixer(UI) + Sound + Event + bus routing.

Args: sound_name: Name for the UI sound bus_path: Output bus path (default: Master Audio Bus)

ParametersJSON Schema
NameRequiredDescriptionDefault
bus_pathNo
sound_nameNoClick

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It usefully discloses that the tool creates an ActorMixer, Sound, Event, and bus routing, but it omits prerequisites like whether a Wwise connection is required, whether existing objects are overwritten, and whether the operation is saved automatically.

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?

Front-loaded and compact: one sentence states the purpose and created components, followed by a short Args list. Every line earns its place with no unnecessary filler.

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?

An output schema exists, so return values need not be explained. For a multi-object creation template with no annotations, the description covers enough to invoke but leaves gaps around connection requirements, overwrite behavior, and side effects.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must supply parameter meaning. It lists both arguments, but the stated bus_path default ('Master Audio Bus') conflicts with the schema default ('') and omits the schema's sound_name default ('Click').

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

Purpose5/5

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

States a specific verb and resource: create a non-spatial UI sound. It names the internal Wwise objects created (ActorMixer(UI) + Sound + Event + bus routing), which makes it clearly distinguishable from generic object/event creation and from other templates like template_footsteps.

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 the context (UI sounds) but does not say when to use this tool versus alternatives such as wwise_create_object, wwise_create_event, or other template tools. No exclusions or prerequisites are given.

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

template_weather_statesB

Create a state-driven weather ambient system: StateGroup + SwitchContainer + per-state Sounds + Event.

Args: weather_states: JSON array of weather state names

ParametersJSON Schema
NameRequiredDescriptionDefault
weather_statesNo["Clear", "Cloudy", "LightRain", "HeavyRain", "Storm", "Snow"]

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It names the objects that will be created, but does not state permissions, side effects, reversibility, required connection state, or how existing objects are handled, leaving significant behavioral gaps for a creation 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 two short, front-loaded lines: the purpose sentence comes first, followed by a minimal Args section. There is no filler or repetition, making it easy for an agent to parse quickly.

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?

An output schema exists, so return values need not be explained. However, with no annotations and no schema parameter descriptions, the definition still lacks important context such as prerequisites, expected side effects, and how this template differs from related ambient or Wwise creation tools.

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?

Schema description coverage is 0% and the sole parameter is only typed as a string with a JSON-array default. The description compensates by clarifying that weather_states is a 'JSON array of weather state names', which is essential semantics not captured in the schema itself.

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 and resource: 'Create a state-driven weather ambient system', and enumerates the resulting Wwise components (StateGroup, SwitchContainer, per-state Sounds, Event). It is clear what the tool produces, but it does not explicitly distinguish itself from related template tools like template_ambient or wwise_create_event.

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 explicit guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The weather-specific purpose implies its use case, but an agent receives no help deciding between this and sibling tools such as template_ambient or general Wwise creation tools.

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

ue5_connectC

Connect to the UE5 audio plugin via TCP.

Args: host: Plugin host address (default 127.0.0.1) port: Plugin TCP port (default 9877)

ParametersJSON Schema
NameRequiredDescriptionDefault
hostNo127.0.0.1
portNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses the transport (TCP), which is useful, but says nothing about failure behavior, timeouts, whether an existing connection is replaced, or whether the connection persists across calls—important traits for a stateful connection 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?

The core action is front-loaded in the first sentence and the args block is compact with no filler. The docstring-style Args formatting is slightly redundant since the parameter names already appear in the schema.

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?

An output schema exists, so return values need not be explained, and both parameters are documented. Still, for a connection tool with no annotations, the description omits the connection lifecycle and error semantics an agent would need to invoke it reliably.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate, and it does define both parameters semantically ('Plugin host address', 'Plugin TCP port'). However, the stated defaults duplicate the schema defaults and no format or validation guidance (e.g., hostname vs IP, port range) is added.

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?

States a specific verb and resource ('Connect to the UE5 audio plugin via TCP'), so the operation is unambiguous. It does not differentiate from the sibling wwise_connect, which offers an analogous connection operation, so an agent cannot tell from the description alone which endpoint to target.

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 call this versus alternatives such as wwise_connect, nor any prerequisites (does a session need to be started first? must the plugin be running?). Usage is only implied by the verb 'connect'.

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

ue5_duplicate_assetB

Duplicate a UE5 asset from source to destination path.

Copies any asset (MetaSounds, Blueprints, SoundWaves, etc.) to a new location. Useful for cloning existing assets as starting points for modification.

Args: source_path: Source asset path (e.g. /Game/Audio/Foley/MetaSounds/MSS_FoleySound_Walk) dest_path: Destination asset path (e.g. /Game/Audio/Creatures/MSS_Creature_Walk)

ParametersJSON Schema
NameRequiredDescriptionDefault
dest_pathYes
source_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It says the tool copies an asset to a new location, but does not disclose whether an existing destination is overwritten, what permissions are needed, whether the operation is reversible, or any other side effects. This is a significant gap for a mutation tool with zero annotation coverage.

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 front-loaded with the core action, then a brief use case, followed by an Args section with examples. It is appropriately sized and structured, though the first two sentences overlap slightly ('Duplicate' and 'Copies'), which is minor redundancy.

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 simple and an output schema exists, so return values need not be explained. The description covers purpose and parameter examples, but with no annotations it should ideally state overwrite behavior or permissions. It is minimally adequate but leaves behavioral gaps.

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?

With schema description coverage at 0%, the description must provide parameter meaning. It does so by naming both `source_path` and `dest_path` and giving concrete example paths for each, which clarifies expected format and intent. It does not add constraints like whether paths must exist, but this is adequate for a 0%-coverage 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 states a specific verb ('Duplicate') and resource ('UE5 asset'), and clarifies the copy is from source to destination. It adds examples of asset types (MetaSounds, Blueprints, SoundWaves), making the action unambiguous, though it does not explicitly differentiate from siblings like ms_save_asset or bp_list_assets.

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?

It says the tool is 'Useful for cloning existing assets as starting points for modification,' which implies a use case. However, it does not state when to use this tool versus alternatives (e.g., creating an asset from scratch or using a template), nor does it list any exclusions or prerequisites.

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

ue5_get_infoB

Get UE5 engine info (version, project, features).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Get' implies a read-only operation, but the description does not state that it has no side effects, whether a connection is required, or any other operational context beyond the field list.

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 with zero waste. It communicates the operation and the returned categories without padding.

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?

For a simple parameterless read tool with an output schema, the description covers what is returned and is not required to explain return values. However, it omits the relationship to likely prerequisites like ue5_connect and does not distinguish it from ue5_status, leaving a completeness gap.

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 tool takes zero parameters, so there is nothing for the description to document beyond the schema's 100% coverage. Baseline 4 for a parameterless tool.

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 specific verb ('Get') and resource ('UE5 engine info') and enumerates the returned categories (version, project, features), so the agent knows exactly what the tool retrieves. It does not explicitly differentiate itself from siblings like ue5_status or wwise_get_info, which keeps it from 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?

There is no when-to-use guidance, no mention of prerequisites such as an active connection, and no routing to alternatives. The agent can infer it is for fetching engine metadata, but nothing is stated.

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

ue5_statusB

Get combined status of Wwise and UE5 plugin connections.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It adds the useful trait that the result is 'combined' across both Wwise and UE5 connections, but says nothing about connection failure behavior, what happens if one side is disconnected, or whether it triggers an implicit connect.

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 with no filler. Every word ('combined status', 'Wwise and UE5 plugin connections') contributes meaning.

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 an output schema present and no parameters, the description need not explain return values, so it is nearly sufficient. The remaining gap is routing: it does not tell the agent how this differs from ue5_get_info/wwise_get_info, which matters given the crowded sibling set.

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 tool takes zero parameters, so the baseline is 4; there is nothing for the description to disambiguate and no schema coverage gap to compensate for.

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?

States a specific verb ('Get') and resource ('combined status of Wwise and UE5 plugin connections'). The word 'combined' implicitly distinguishes it from the sibling per-plugin info tools (ue5_get_info, wwise_get_info), though it does not name them explicitly.

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 when-to-use guidance, no prerequisite or timing condition, and no mention of alternatives. The agent must infer that this is the aggregate status check versus the individual ue5_get_info/wwise_get_info siblings.

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

wwise_assign_switchB

Assign a child object to a switch/state value in a SwitchContainer.

Args: switch_container_path: Path to the SwitchContainer (for context only) child_path: GUID or path of the child to assign switch_value: GUID or path of the switch/state value

ParametersJSON Schema
NameRequiredDescriptionDefault
child_pathYes
switch_valueYes
switch_container_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose one real trait — that switch_container_path is 'for context only' — and that child/switch values accept either a GUID or a path, which is useful beyond the schema. But it says nothing about side effects, whether an existing assignment is overwritten, or whether the container must pre-exist.

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?

Purpose is front-loaded in the first sentence, followed by an Args block; nothing is padded or repetitive. It is appropriately sized for a 3-parameter tool.

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?

An output schema exists so return values need not be explained, and all parameters are covered. But for a mutation tool with zero annotations, the definition omits the operational/consequence context an agent needs before writing, leaving a real gap.

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?

Schema description coverage is 0%, so the description must compensate, and it does: all three parameters are documented, including the accepted value forms (GUID or path) and the notable caveat that switch_container_path is context-only. This meaningfully exceeds what the bare schema provides, though it stays terse.

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?

Names a specific verb (Assign) and a concrete target (a child object to a switch/state value in a SwitchContainer), which is far more specific than a tautology. It does not, however, explicitly contrast itself with adjacent siblings like wwise_set_reference or wwise_set_property, so an agent must infer the boundary.

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 when-to-use guidance, no prerequisites, and no mention of alternatives. The description stops at stating the operation and never tells the agent when this is the correct tool versus wwise_set_property/wwise_set_reference.

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

wwise_connectB

Connect to Wwise via WAAPI.

Args: url: WebSocket URL (default ws://127.0.0.1:8080/waapi)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It states the connection mechanism and default URL but omits whether the connection persists, what authentication is required, what happens on failure, or whether repeated calls are idempotent.

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 brief, front-loaded, and wastes no words. The purpose comes first, followed only by necessary argument 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?

An output schema exists, so return values need not be explained. However, for a connection tool with no annotations and no schema parameter descriptions, the definition should mention prerequisites, persistence, or relationship to other Wwise tools. It is minimally viable but leaves important context unstated.

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?

With schema description coverage at 0% and one parameter, the description compensates by explaining that url is a WebSocket URL and giving a default value. This adds useful meaning beyond the bare schema, though the schema's empty default string slightly conflicts with the stated default.

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 specific verb and resource: 'Connect to Wwise via WAAPI.' It is clearly distinguishable from sibling operations like wwise_query or wwise_save. However, it does not explicitly differentiate when this connection tool is needed versus using execute_waapi directly.

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 the URL parameter and its default, but provides no guidance on when to use this tool, whether it must be called before other Wwise tools, or what alternatives exist. The agent must infer all usage context.

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

wwise_create_eventB

Create a Wwise Event with an Action targeting an object.

Args: name: Event name (e.g. Play_Gunshot_Rifle) target_path: Path to the target object the action acts on action_type: Action type name (Play, Stop, Pause, etc.) event_parent: Parent path for the event (default: Events\Default Work Unit)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
action_typeNoPlay
target_pathYes
event_parentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. 'Create' implies a mutation, but it omits whether this requires an active Wwise connection, what happens on duplicate names, whether changes are reversible, or any side effects.

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?

Front-loads the purpose in one sentence, then lists parameters succinctly. No redundant or wasted text.

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 output schema means return values need no explanation, and parameter semantics are covered. However, for a mutation tool with no annotations, the absence of usage guidance and behavioral details (e.g., connection requirements, duplicate handling) leaves clear gaps.

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?

Schema description coverage is 0%, so the description must compensate. It explains all four parameters with an example for name, action types for action_type, and the default parent path, adding meaningful context beyond the bare schema titles.

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?

States a specific verb ('Create') and resource ('Wwise Event') with the action-targeting behavior. It distinguishes itself from sibling creation tools like wwise_create_object by the resource type, though it does not 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 guidance on when to use this tool versus alternatives such as wwise_create_object or wwise_assign_switch, nor any prerequisites like requiring a Wwise connection. The description only lists parameters.

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

wwise_create_game_parameterA

Create a Game Parameter (RTPC) in Wwise.

Creates the GameParameter object. To bind it as an RTPC curve on a specific property, use execute_waapi with ak.wwise.core.object.setRTPCCurve or configure the binding in the Wwise Authoring GUI.

Args: name: GameParameter name (e.g. RTPC_Wind_Intensity) min_value: Minimum range value max_value: Maximum range value default_value: Default value

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
max_valueNo
min_valueNo
default_valueNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description must carry the full behavioral burden. It discloses that this creates a GameParameter and that binding is a separate operation, which is useful. However, it does not cover permission requirements, connection prerequisites, duplicate-name behavior, or mutation side effects beyond creation.

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 front-loaded with the core purpose, followed by an important usage note and then parameter definitions. It is generally efficient, though the first two sentences repeat the creation action slightly ("Create a Game Parameter... Creates the GameParameter object").

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?

An output schema exists, so return-value details are unnecessary, and the description adequately covers purpose, binding alternative, and parameter meanings. For a creation tool with no annotations and zero schema descriptions, it is nearly complete, though it could mention prerequisites such as Wwise connection or duplicate-name handling.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate for all four parameters. It gives brief meanings for name, min_value, max_value, and default_value, including an example for name, but does not explain value constraints, units, or the relationship between default and range values.

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 verb (Create) and resource (Game Parameter / RTPC) in Wwise, and explicitly distinguishes the tool from binding operations by pointing to execute_waapi for RTPC curve binding. An agent can identify this tool's unique scope without opening the schema.

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

Usage Guidelines4/5

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

It provides clear context for when to use this tool (creating the GameParameter object) and names an alternative (execute_waapi or GUI) for the separate binding step. It does not explicitly state when not to create a game parameter or compare against sibling creators like wwise_create_object, but the intended use is unambiguous.

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

wwise_create_objectB

Create a Wwise object in the hierarchy.

Args: parent_path: Parent object path (backslash-separated, e.g. \Actor-Mixer Hierarchy\Default Work Unit) object_type: Wwise type (Sound, RandomSequenceContainer, Event, etc.) name: Object name on_conflict: Name conflict mode: merge, rename, replace, fail

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
object_typeYes
on_conflictNomerge
parent_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It usefully discloses the on_conflict modes (merge, rename, replace, fail), including that replace implies overwriting. However, it does not describe permissions, reversibility, whether the parent path must already exist, or other side effects of this mutation.

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 front-loaded with the core action and then uses a compact args list. Every sentence and parameter entry adds useful information, with no fluff.

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?

An output schema exists, so return values need not be explained. The parameter documentation is sufficient for invocation, but for a no-annotation mutation tool with 0% schema description coverage, context is missing about prerequisites, side effects, and when to choose this over sibling creation tools.

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?

Schema description coverage is 0%, so the description must compensate for all four parameters. It does this well: parent_path format and example, object_type examples, name, and on_conflict enum values are all documented. The object_type list ends with "etc.," leaving some ambiguity, so it is not a perfect 5.

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?

States a specific verb and resource: "Create a Wwise object in the hierarchy." This is clear enough that an agent knows what the tool does. However, it does not differentiate this general object-creation tool from siblings like wwise_create_event or wwise_create_game_parameter, so it falls short of 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?

The description gives no explicit when-to-use guidance, no prerequisites, and no comparison to alternative creation tools such as wwise_create_event. Usage is only implied by the verb "Create."

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

wwise_generate_banksB

Generate Wwise SoundBanks.

Args: bank_names: JSON array of bank names to generate (e.g. ["Weapons_Bank", "UI_Bank"])

ParametersJSON Schema
NameRequiredDescriptionDefault
bank_namesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the entire behavioral burden, and it discloses almost nothing. It never says whether banks are overwritten, whether an authoring session must be connected, how long generation takes, or what side effects occur in the project. This is a build/mutation-style operation and the gaps are significant.

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 short lines, with the purpose front-loaded and the parameter detail second. The Args block is slightly boilerplate but wastes no meaningful space.

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?

An output schema exists, so return values need not be explained. However, with zero annotation coverage and no behavioral context for a generation/overwrite operation, the description is thinner than an agent would want before invoking it safely.

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?

Schema coverage is 0% and the schema only types bank_names as a bare string, so the description does real work: it clarifies the value is a JSON array of bank names and supplies a concrete example of the expected format. This compensates well for the schema gap.

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?

States a specific verb (Generate) and resource (Wwise SoundBanks), which cleanly distinguishes it from siblings like wwise_import_audio, wwise_create_event, or wwise_save. No explicit sibling differentiation is given, but the verb+resource pair is unambiguous.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no prerequisites (e.g. Wwise must be connected/authoring session open), and no alternatives among the many wwise_* siblings. The only context is the parameter note, which is not usage guidance.

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

wwise_get_infoA

Get Wwise application info (version, platform, project).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden, but 'Get ... info' strongly implies a non-destructive read, which is the main behavioral trait here. It adds nothing about auth requirements, cost, or side effects, but for a zero-parameter info getter the risk surface is 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?

A single tight sentence with the resource and the returned fields front-loaded; no filler whatsoever.

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?

An output schema exists, so return values need no explanation, and a no-arg read tool is simple enough that the description is nearly sufficient. The only real gap is the absence of any routing guidance versus wwise_query.

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 tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for 0 params applies. The listed fields (version, platform, project) do serve as a preview of the output, adding slight 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?

Specific verb (Get) plus resource (Wwise application info), with the returned fields enumerated in parentheses (version, platform, project). It is clearly distinguishable from mutation siblings like wwise_save or wwise_set_property, though it does not explicitly position itself against the read-oriented wwise_query.

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 when-to-use context, no prerequisites, and no indication of how it differs from the read sibling wwise_query. An agent must infer usage entirely from the name.

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

wwise_import_audioB

Import audio files into Wwise.

Args: audio_files: JSON array of objects with 'audioFile' and 'objectPath' keys. Example: [{"audioFile": "/path/to/shot.wav", "objectPath": "\Actor-Mixer Hierarchy\Default Work Unit\Shot_01"}] import_operation: createNew, useExisting, or replaceExisting language: Import language (default SFX)

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoSFX
audio_filesYes
import_operationNouseExisting

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must carry the full behavioral burden. It does not disclose whether replaceExisting overwrites or destroys existing objects, nor any permission, authentication, or side-effect behavior for the import operation.

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 front-loaded with a one-line purpose and then uses a compact Args section. The example is useful for clarifying the required nested JSON string format and does not feel excessive.

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?

An output schema exists, so return values need not be explained. However, for a mutation/import tool with no annotations, the description still lacks when-to-use guidance and side-effect disclosure, leaving behavioral context incomplete.

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?

Schema description coverage is 0%, but the description compensates substantially: it explains that audio_files is a JSON array of objects with 'audioFile' and 'objectPath' keys, gives a concrete example, lists import_operation values, and notes the language default. It stops short of explaining what each import_operation mode actually does.

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?

States a specific verb and resource: 'Import audio files into Wwise.' It is clear what the tool does, though it does not differentiate itself from sibling tools like import_sound_file or wwise_create_object.

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 such as import_sound_file, nor when to choose createNew, useExisting, or replaceExisting. The operation values are listed but not explained as usage choices.

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

wwise_previewB

Preview a Wwise object (Event, Sound, Container) via transport.

Args: object_path: Path to the object to preview action: Transport action — play, stop, or pause

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNoplay
object_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that playback goes through the 'transport' and that the action can play, stop, or pause, which is useful behavioral context. However, it omits whether this is non-destructive, whether it requires an established Wwise session, whether playback stops automatically, and any side effects on project 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 two compact lines with the core purpose front-loaded and args listed after. No filler, though the Args block largely restates parameter names rather than adding narrative.

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?

An output schema exists, so return values need no explanation, and both parameters are covered. What is missing is the operational context an agent needs: the required Wwise connection state and whether preview is transient or affects saved project data.

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?

Schema description coverage is 0%, so the description must compensate, and it largely does: it explains object_path as the object to preview and restricts action to play/stop/pause, effectively supplying the enum the schema lacks. It does not define path format (GUID vs. hierarchical path), which keeps it short of a 5.

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 opens with a specific verb (Preview) and resource (Wwise object), and parenthetically enumerates the object types (Event, Sound, Container). It is clearly distinguishable from mutating siblings like wwise_create_object or wwise_set_property, though it does not explicitly contrast itself with read-only siblings such as wwise_query.

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 choose preview over alternatives (e.g., ms_audition, ms_stop_audition, or wwise_query), nor on prerequisites such as an active Wwise connection. The only usage signal is implicit in the word 'preview'.

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

wwise_queryC

Query Wwise objects using WAQL.

Args: waql: WAQL query string (e.g. '$ from type sound') return_fields: JSON array of fields to return

ParametersJSON Schema
NameRequiredDescriptionDefault
waqlYes
return_fieldsNo["id", "name", "type", "path"]

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not state that this is a read-only operation, does not mention side effects, permissions, rate limits, or whether WAQL executes arbitrary commands, leaving the agent to infer safety.

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 short and front-loaded, with the purpose stated first and parameter notes following. The Args list is efficient, though it could be slightly clearer about the return_fields string encoding.

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?

An output schema exists, so return values need not be described. However, for a two-parameter query tool with no annotations and 0% schema coverage, the description should at least state that the operation is read-only and clarify how return_fields is encoded. Those gaps leave the definition incomplete.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It gives a helpful WAQL example and describes return_fields as a JSON array, but it does not explain WAQL grammar sufficiently, nor does it note that return_fields is passed as a JSON-encoded string with a default 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 states a specific verb and resource: 'Query Wwise objects using WAQL.' This distinguishes it from mutating siblings such as wwise_create_object and wwise_set_property, though it does not explicitly name alternative query tools like execute_waapi or wwise_get_info.

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 explicit guidance on when to use this tool versus alternatives. The query nature is implied, but the description never states when WAQL querying is appropriate instead of execute_waapi, wwise_get_info, or other sibling tools.

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

wwise_saveB

Save the current Wwise project.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden and falls short: it does not say whether this flushes to disk, whether it requires an active Wwise connection, whether it is idempotent, or whether it silently overwrites existing project state. For a side-effecting 'save' operation, this is a meaningful 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?

A single front-loaded sentence with no filler, which is appropriate for a zero-parameter action. It is efficient, though it borders on under-specification rather than being genuinely well-structured.

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?

An output schema exists, so return values need not be explained, and the action is simple with no parameters. However, with zero annotations the description gives no clue about side effects or connection prerequisites, which is the main thing an agent would need before invoking a save.

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 tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies.

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 a specific verb ('Save') and resource ('the current Wwise project'), so an agent can tell this persists project state rather than querying or creating objects. It does not, however, differentiate itself from related persist-style siblings such as ms_save_asset or the broader project-scaffolding tools.

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 statement of when to call this versus alternatives, nor any precondition (e.g., after edits, before bank generation). The agent must infer that saving follows modifications to the project.

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

wwise_set_attenuationB

Create an Attenuation ShareSet and set its distance curve.

Args: name: Attenuation name curve_type: Curve type (VolumeDryUsage, LowPassFilterUsage, etc.) curve_points: JSON array of {x, y, shape} points parent_path: Parent path (default: Attenuations\Default Work Unit)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
curve_typeYes
parent_pathNo
curve_pointsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/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 that the tool creates a new ShareSet and sets a distance curve, implying a mutation operation. It also provides default for parent_path, which is useful. However, it lacks details on permissions, reversibility, rate limits, or response behavior. The presence of an output schema reduces the need to explain returns, but the description still misses key behavioral context 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?

The description is appropriately sized and front-loaded: it starts with the main action, followed by a clear args section. Every sentence serves a purpose. It could be slightly more structured with bullet points for parameters, but it's efficient and easy to parse.

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?

Given the tool's complexity (4 parameters, 3 required, no annotations, output schema exists), the description covers the basics but lacks usage guidelines and deeper behavioral context. The output schema exists, so return values needn't be explained, but the description should at least mention when to use this tool, potential side effects, or dependencies. It is adequate but incomplete.

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?

Schema description coverage is 0%, so the description must compensate. It does so by explaining each parameter: name, curve_type with examples (VolumeDryUsage, LowPassFilterUsage), curve_points as JSON array of {x, y, shape} points, and parent_path with default. This adds significant meaning beyond the bare schema titles. The only gap is not specifying the full set of possible curve_type values or the exact JSON format for curve_points, but overall it's strong.

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 specific verb+resource: creates an Attenuation ShareSet and sets its distance curve. This is clear and distinct from wwise_create_object and wwise_set_property. However, it doesn't explicitly differentiate from the sibling wwise_set_property, which might also set properties. The core purpose is clear but sibling differentiation is not made explicit.

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 like wwise_set_property or wwise_create_object. The description does not state prerequisites, context, or exclusions. It simply states what it does without helping the agent choose.

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

wwise_set_propertyB

Set a property on a Wwise object.

Args: object_path: Object path or GUID property_name: Property name (Volume, Pitch, Lowpass, IsLoopingEnabled, etc.) value: JSON-encoded value (number, bool, or string)

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
object_pathYes
property_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it does not state that this is a mutation, whether the change is persisted (a separate wwise_save call may be required), what permissions are needed, or what happens on invalid property names or values. The only behavioral hint is the value encoding note, which is closer to parameter semantics.

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 one-line summary is front-loaded and the Args block is compact with no filler. It is appropriately sized for a three-parameter setter, though the param list is a restatement of the schema keys padded with per-line labels.

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?

An output schema exists, so return values need not be described, and all three parameters are covered. What is missing for a mutation tool with no annotations is the operational context: connection state, save/persistence requirement, and failure behavior, which an agent needs before calling this in a workflow.

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?

Schema description coverage is 0%, so the description must compensate, and it does: it explains each of the three params, gives example property names (Volume, Pitch, Lowpass, IsLoopingEnabled), and clarifies that value is JSON-encoded rather than a raw literal. It falls short of enumerating valid property names or the accepted object_path format (path vs GUID examples).

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?

States a specific verb+resource ('Set a property on a Wwise object'), which is clear and actionable. However, it does not distinguish itself from close siblings such as wwise_set_reference, wwise_set_attenuation, or wwise_create_game_parameter, so an agent must infer which setter applies from the parameter names alone.

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 when-to-use guidance, no prerequisites, and no mention of alternatives. The description says nothing about needing an active WAAPI connection (cf. wwise_connect), whether the target object must already exist, or when to prefer this over the more generic execute_waapi.

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

wwise_set_referenceB

Set a reference on a Wwise object (e.g. OutputBus, Attenuation).

Args: object_path: Object path or GUID reference: Reference name (OutputBus, Attenuation, SwitchGroupOrStateGroup, etc.) value: Target object path or GUID

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
referenceYes
object_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden. It signals that this is a mutation ('Set a reference'), but does not disclose side effects, whether existing references are overwritten, required permissions or connection state, idempotency, or error conditions. These are significant gaps for a write operation.

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 short and front-loads the purpose before listing arguments. The Args section is compact and each line earns its place, with no redundant prose.

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?

Although an output schema exists, the description is incomplete for a mutation tool with no annotations and many sibling tools. It lacks usage routing, behavioral caveats, permissions, and connection prerequisites, so an agent cannot confidently choose or safely invoke it over related tools like wwise_set_property or wwise_assign_switch.

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?

Schema description coverage is 0%, so the description must explain the parameters. It does so for all three: object_path (Object path or GUID), reference (Reference name with examples), and value (Target object path or GUID). This substantially compensates for the empty schema, though it could be more precise about path/GUID formats.

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 specific verb and resource: 'Set a reference on a Wwise object', and names concrete reference types (OutputBus, Attenuation, SwitchGroupOrStateGroup). This is clearer than a tautology, but it does not explicitly distinguish this operation from siblings like wwise_set_property, wwise_assign_switch, or wwise_set_attenuation.

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 such as wwise_set_property, wwise_assign_switch, or wwise_set_attenuation. The description only states what the tool does, leaving usage context to inference.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 81 tool updatesv0.0.2
    • First observedaudit_history
    • First observedaudit_session_stats
    • First observedbp_add_bp_node
    • First observedbp_call_function
    • First observedbp_compile_blueprint
    • First observedbp_connect_bp_pins
    • First observedbp_export_audio
    • First observedbp_list_assets
    • First observedbp_list_categories
    • First observedbp_list_node_pins
    • First observedbp_node_info
    • First observedbp_open_blueprint
    • First observedbp_register_existing
    • First observedbp_scan_blueprint
    • First observedbp_search
    • First observedbp_set_bp_pin
    • First observedbp_sync_from_engine
    • First observedbp_wire_audio_param
    • First observedbuild_aaa_project
    • First observedbuild_audio_system
    • First observedexecute_waapi
    • First observedfind_actor
    • First observedfocus_editor_camera
    • First observedimport_sound_file
    • First observedms_add_node
    • First observedms_add_variable
    • First observedms_add_variable_node
    • First observedms_audition
    • First observedms_build_graph
    • First observedms_connect_pins
    • First observedms_convert_to_preset
    • First observedms_create_source
    • First observedms_export_graph
    • First observedms_graph_from_template
    • First observedms_graph_to_commands
    • First observedms_list_categories
    • First observedms_list_nodes
    • First observedms_macro_trigger
    • First observedms_node_info
    • First observedms_open_in_editor
    • First observedms_preset_morph
    • First observedms_preset_swap
    • First observedms_save_asset
    • First observedms_search_nodes
    • First observedms_set_default
    • First observedms_stop_audition
    • First observedms_sync_from_engine
    • First observedms_validate_graph
    • First observedplace_anim_notify
    • First observedplace_audio_volume
    • First observedplace_bp_anim_notify
    • First observedpossess_pawn
    • First observedset_actor_transform
    • First observedset_physical_surface
    • First observedset_view_target
    • First observedspawn_audio_emitter
    • First observedspawn_blueprint_actor
    • First observedtemplate_aaa_setup
    • First observedtemplate_ambient
    • First observedtemplate_footsteps
    • First observedtemplate_gunshot
    • First observedtemplate_ui_sound
    • First observedtemplate_weather_states
    • First observedue5_connect
    • First observedue5_duplicate_asset
    • First observedue5_get_info
    • First observedue5_status
    • First observedwwise_assign_switch
    • First observedwwise_connect
    • First observedwwise_create_event
    • First observedwwise_create_game_parameter
    • First observedwwise_create_object
    • First observedwwise_generate_banks
    • First observedwwise_get_info
    • First observedwwise_import_audio
    • First observedwwise_preview
    • First observedwwise_query
    • First observedwwise_save
    • First observedwwise_set_attenuation
    • First observedwwise_set_property
    • First observedwwise_set_reference

TDQS

B3.1/5.0

Scored across 81 tools

Disambiguation3/5

Prefixes (wwise_, ms_, bp_) separate major domains, but there are overlapping high-level and low-level paths: ms_build_graph wraps ms_validate_graph/ms_graph_to_commands/ms_save_asset, bp_wire_audio_param wraps bp_add_bp_node/bp_connect_bp_pins, and wwise_create_object overlaps with wwise_create_event. Descriptions usually clarify intent, but several boundaries remain easy to confuse.

Naming Consistency3/5

Tool names use snake_case throughout, but the prefixing convention is mixed: some domains are consistently prefixed (wwise_, ms_, bp_), while many editor/system tools are generic and unprefixed (build_audio_system, place_anim_notify, find_actor, spawn_audio_emitter). This is readable but not a predictable single pattern.

Tool Count1/5

With 81 tools, the surface is far beyond a well-scoped set and well past the 50+ threshold for extreme mismatch. Even accounting for Wwise, MetaSounds, Blueprint, and UE5 editor domains, the count creates heavy selection and context burden.

Completeness4/5

The surface is very broad, covering Wwise authoring, MetaSounds graph construction, Blueprint wiring/scanning, UE5 actor/editor operations, templates, import/export, sync, and auditing. Explicit delete/move/rename operations and some asset lifecycle operations are missing, though WAAPI escape hatches and high-level builders cover most practical workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    A comprehensive bridge connecting AI agents to Unreal Engine 5.7 through 39 MCP tools for scene manipulation, asset management, and blueprint control. It enables real-time perception and editor automation using the Remote Control API and file-based protocols.
    25
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Unreal Engine 5.7 editor plugin that gives AI assistants full read/write access to Blueprints, Materials, Animation, Niagara, Config, and more via MCP. 119 actions across 9 domains, pure C++, embedded Streamable HTTP server.
    325
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP server enabling AI agents to author Unreal Engine 5 scenes directly, with tools for spawning actors, building PCG graphs, validating physics, generating terrain, and more through a single MCP connection.
    13
    MIT